diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/WkCrmContactsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/WkCrmContactsController.java new file mode 100644 index 000000000..0e3c74f58 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/WkCrmContactsController.java @@ -0,0 +1,126 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.domain.WkCrmContacts; +import com.ruoyi.system.service.IWkCrmContactsService; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 联系人Controller + * + * @author ruoyi + * @date 2021-04-06 + */ +@Controller +@RequestMapping("/system/contacts") +public class WkCrmContactsController extends BaseController +{ + private String prefix = "system/contacts"; + + @Autowired + private IWkCrmContactsService wkCrmContactsService; + + @RequiresPermissions("system:contacts:view") + @GetMapping() + public String contacts() + { + return prefix + "/contacts"; + } + + /** + * 查询联系人列表 + */ + @RequiresPermissions("system:contacts:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(WkCrmContacts wkCrmContacts) + { + startPage(); + List list = wkCrmContactsService.selectWkCrmContactsList(wkCrmContacts); + return getDataTable(list); + } + + /** + * 导出联系人列表 + */ + @RequiresPermissions("system:contacts:export") + @Log(title = "联系人", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(WkCrmContacts wkCrmContacts) + { + List list = wkCrmContactsService.selectWkCrmContactsList(wkCrmContacts); + ExcelUtil util = new ExcelUtil(WkCrmContacts.class); + return util.exportExcel(list, "contacts"); + } + + /** + * 新增联系人 + */ + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存联系人 + */ + @RequiresPermissions("system:contacts:add") + @Log(title = "联系人", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(WkCrmContacts wkCrmContacts) + { + return toAjax(wkCrmContactsService.insertWkCrmContacts(wkCrmContacts)); + } + + /** + * 修改联系人 + */ + @GetMapping("/edit/{contactsId}") + public String edit(@PathVariable("contactsId") Long contactsId, ModelMap mmap) + { + WkCrmContacts wkCrmContacts = wkCrmContactsService.selectWkCrmContactsById(contactsId); + mmap.put("wkCrmContacts", wkCrmContacts); + return prefix + "/edit"; + } + + /** + * 修改保存联系人 + */ + @RequiresPermissions("system:contacts:edit") + @Log(title = "联系人", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(WkCrmContacts wkCrmContacts) + { + return toAjax(wkCrmContactsService.updateWkCrmContacts(wkCrmContacts)); + } + + /** + * 删除联系人 + */ + @RequiresPermissions("system:contacts:remove") + @Log(title = "联系人", businessType = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(wkCrmContactsService.deleteWkCrmContactsByIds(ids)); + } +} diff --git a/ruoyi-admin/src/main/resources/templates/system/contacts/add.html b/ruoyi-admin/src/main/resources/templates/system/contacts/add.html new file mode 100644 index 000000000..50870d3f5 --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/system/contacts/add.html @@ -0,0 +1,123 @@ + + + + + + + +
+
+
+ +
+ +
+
+
+ +
+
+ + +
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+ + +
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/contacts/contacts.html b/ruoyi-admin/src/main/resources/templates/system/contacts/contacts.html new file mode 100644 index 000000000..c01945ed2 --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/system/contacts/contacts.html @@ -0,0 +1,174 @@ + + + + + + +
+
+
+
+
+
    +
  • + + +
  • + +
  • + + +
  • +
  • + + +
  • + +
  • +  搜索 +  重置 +
  • +
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/contacts/edit.html b/ruoyi-admin/src/main/resources/templates/system/contacts/edit.html new file mode 100644 index 000000000..ff547c861 --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/system/contacts/edit.html @@ -0,0 +1,124 @@ + + + + + + + +
+
+ +
+ +
+ +
+
+
+ +
+
+ + +
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+ + +
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/customer/customer.html b/ruoyi-admin/src/main/resources/templates/system/customer/customer.html index b856ed60b..11f7740e6 100644 --- a/ruoyi-admin/src/main/resources/templates/system/customer/customer.html +++ b/ruoyi-admin/src/main/resources/templates/system/customer/customer.html @@ -25,10 +25,10 @@ --> -
  • +
  • @@ -37,7 +37,7 @@
  • -
  • +
  • -
  • +
  • @@ -30,15 +30,15 @@
  • -
  • +
  • -
  • +
  •  搜索  重置 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/WkCrmContacts.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/WkCrmContacts.java new file mode 100644 index 000000000..ee79950b0 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/WkCrmContacts.java @@ -0,0 +1,212 @@ +package com.ruoyi.system.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 联系人对象 wk_crm_contacts + * + * @author ruoyi + * @date 2021-04-06 + */ +public class WkCrmContacts extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** */ + private Long contactsId; + + /** 联系人名称 */ + @Excel(name = "联系人名称") + private String name; + + /** 下次联系时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "下次联系时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date nextTime; + + /** 手机 */ + @Excel(name = "手机") + private String mobile; + + /** 电话 */ + @Excel(name = "电话") + private String telephone; + + /** 电子邮箱 */ + @Excel(name = "电子邮箱") + private String email; + + /** 职务 */ + @Excel(name = "职务") + private String post; + + /** 客户ID */ + @Excel(name = "客户ID") + private Long customerId; + + /** 地址 */ + @Excel(name = "地址") + private String address; + + /** 创建人ID */ + @Excel(name = "创建人ID") + private Long createUserId; + + /** 负责人ID */ + @Excel(name = "负责人ID") + private Long ownerUserId; + + /** 批次 */ + @Excel(name = "批次") + private String batchId; + + /** 最后跟进时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "最后跟进时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date lastTime; + + public void setContactsId(Long contactsId) + { + this.contactsId = contactsId; + } + + public Long getContactsId() + { + return contactsId; + } + public void setName(String name) + { + this.name = name; + } + + public String getName() + { + return name; + } + public void setNextTime(Date nextTime) + { + this.nextTime = nextTime; + } + + public Date getNextTime() + { + return nextTime; + } + public void setMobile(String mobile) + { + this.mobile = mobile; + } + + public String getMobile() + { + return mobile; + } + public void setTelephone(String telephone) + { + this.telephone = telephone; + } + + public String getTelephone() + { + return telephone; + } + public void setEmail(String email) + { + this.email = email; + } + + public String getEmail() + { + return email; + } + public void setPost(String post) + { + this.post = post; + } + + public String getPost() + { + return post; + } + public void setCustomerId(Long customerId) + { + this.customerId = customerId; + } + + public Long getCustomerId() + { + return customerId; + } + public void setAddress(String address) + { + this.address = address; + } + + public String getAddress() + { + return address; + } + public void setCreateUserId(Long createUserId) + { + this.createUserId = createUserId; + } + + public Long getCreateUserId() + { + return createUserId; + } + public void setOwnerUserId(Long ownerUserId) + { + this.ownerUserId = ownerUserId; + } + + public Long getOwnerUserId() + { + return ownerUserId; + } + public void setBatchId(String batchId) + { + this.batchId = batchId; + } + + public String getBatchId() + { + return batchId; + } + public void setLastTime(Date lastTime) + { + this.lastTime = lastTime; + } + + public Date getLastTime() + { + return lastTime; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("contactsId", getContactsId()) + .append("name", getName()) + .append("nextTime", getNextTime()) + .append("mobile", getMobile()) + .append("telephone", getTelephone()) + .append("email", getEmail()) + .append("post", getPost()) + .append("customerId", getCustomerId()) + .append("address", getAddress()) + .append("remark", getRemark()) + .append("createUserId", getCreateUserId()) + .append("ownerUserId", getOwnerUserId()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .append("batchId", getBatchId()) + .append("lastTime", getLastTime()) + .toString(); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/WkCrmContactsMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/WkCrmContactsMapper.java new file mode 100644 index 000000000..498877d19 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/WkCrmContactsMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.WkCrmContacts; + +/** + * 联系人Mapper接口 + * + * @author ruoyi + * @date 2021-04-06 + */ +public interface WkCrmContactsMapper +{ + /** + * 查询联系人 + * + * @param contactsId 联系人ID + * @return 联系人 + */ + public WkCrmContacts selectWkCrmContactsById(Long contactsId); + + /** + * 查询联系人列表 + * + * @param wkCrmContacts 联系人 + * @return 联系人集合 + */ + public List selectWkCrmContactsList(WkCrmContacts wkCrmContacts); + + /** + * 新增联系人 + * + * @param wkCrmContacts 联系人 + * @return 结果 + */ + public int insertWkCrmContacts(WkCrmContacts wkCrmContacts); + + /** + * 修改联系人 + * + * @param wkCrmContacts 联系人 + * @return 结果 + */ + public int updateWkCrmContacts(WkCrmContacts wkCrmContacts); + + /** + * 删除联系人 + * + * @param contactsId 联系人ID + * @return 结果 + */ + public int deleteWkCrmContactsById(Long contactsId); + + /** + * 批量删除联系人 + * + * @param contactsIds 需要删除的数据ID + * @return 结果 + */ + public int deleteWkCrmContactsByIds(String[] contactsIds); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IWkCrmContactsService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IWkCrmContactsService.java new file mode 100644 index 000000000..42f51d32d --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IWkCrmContactsService.java @@ -0,0 +1,61 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.system.domain.WkCrmContacts; + +/** + * 联系人Service接口 + * + * @author ruoyi + * @date 2021-04-06 + */ +public interface IWkCrmContactsService +{ + /** + * 查询联系人 + * + * @param contactsId 联系人ID + * @return 联系人 + */ + public WkCrmContacts selectWkCrmContactsById(Long contactsId); + + /** + * 查询联系人列表 + * + * @param wkCrmContacts 联系人 + * @return 联系人集合 + */ + public List selectWkCrmContactsList(WkCrmContacts wkCrmContacts); + + /** + * 新增联系人 + * + * @param wkCrmContacts 联系人 + * @return 结果 + */ + public int insertWkCrmContacts(WkCrmContacts wkCrmContacts); + + /** + * 修改联系人 + * + * @param wkCrmContacts 联系人 + * @return 结果 + */ + public int updateWkCrmContacts(WkCrmContacts wkCrmContacts); + + /** + * 批量删除联系人 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteWkCrmContactsByIds(String ids); + + /** + * 删除联系人信息 + * + * @param contactsId 联系人ID + * @return 结果 + */ + public int deleteWkCrmContactsById(Long contactsId); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WkCrmContactsServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WkCrmContactsServiceImpl.java new file mode 100644 index 000000000..2d85bfd01 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WkCrmContactsServiceImpl.java @@ -0,0 +1,97 @@ +package com.ruoyi.system.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.system.mapper.WkCrmContactsMapper; +import com.ruoyi.system.domain.WkCrmContacts; +import com.ruoyi.system.service.IWkCrmContactsService; +import com.ruoyi.common.core.text.Convert; + +/** + * 联系人Service业务层处理 + * + * @author ruoyi + * @date 2021-04-06 + */ +@Service +public class WkCrmContactsServiceImpl implements IWkCrmContactsService +{ + @Autowired + private WkCrmContactsMapper wkCrmContactsMapper; + + /** + * 查询联系人 + * + * @param contactsId 联系人ID + * @return 联系人 + */ + @Override + public WkCrmContacts selectWkCrmContactsById(Long contactsId) + { + return wkCrmContactsMapper.selectWkCrmContactsById(contactsId); + } + + /** + * 查询联系人列表 + * + * @param wkCrmContacts 联系人 + * @return 联系人 + */ + @Override + public List selectWkCrmContactsList(WkCrmContacts wkCrmContacts) + { + return wkCrmContactsMapper.selectWkCrmContactsList(wkCrmContacts); + } + + /** + * 新增联系人 + * + * @param wkCrmContacts 联系人 + * @return 结果 + */ + @Override + public int insertWkCrmContacts(WkCrmContacts wkCrmContacts) + { + wkCrmContacts.setCreateTime(DateUtils.getNowDate()); + return wkCrmContactsMapper.insertWkCrmContacts(wkCrmContacts); + } + + /** + * 修改联系人 + * + * @param wkCrmContacts 联系人 + * @return 结果 + */ + @Override + public int updateWkCrmContacts(WkCrmContacts wkCrmContacts) + { + wkCrmContacts.setUpdateTime(DateUtils.getNowDate()); + return wkCrmContactsMapper.updateWkCrmContacts(wkCrmContacts); + } + + /** + * 删除联系人对象 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + @Override + public int deleteWkCrmContactsByIds(String ids) + { + return wkCrmContactsMapper.deleteWkCrmContactsByIds(Convert.toStrArray(ids)); + } + + /** + * 删除联系人信息 + * + * @param contactsId 联系人ID + * @return 结果 + */ + @Override + public int deleteWkCrmContactsById(Long contactsId) + { + return wkCrmContactsMapper.deleteWkCrmContactsById(contactsId); + } +} diff --git a/ruoyi-system/src/main/resources/mapper/system/WkCrmContactsMapper.xml b/ruoyi-system/src/main/resources/mapper/system/WkCrmContactsMapper.xml new file mode 100644 index 000000000..73f55a425 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/WkCrmContactsMapper.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + select contacts_id, name, next_time, mobile, telephone, email, post, customer_id, address, remark, create_user_id, owner_user_id, create_time, update_time, batch_id, last_time from wk_crm_contacts + + + + + + + + insert into wk_crm_contacts + + name, + next_time, + mobile, + telephone, + email, + post, + customer_id, + address, + remark, + create_user_id, + owner_user_id, + create_time, + update_time, + batch_id, + last_time, + + + #{name}, + #{nextTime}, + #{mobile}, + #{telephone}, + #{email}, + #{post}, + #{customerId}, + #{address}, + #{remark}, + #{createUserId}, + #{ownerUserId}, + #{createTime}, + #{updateTime}, + #{batchId}, + #{lastTime}, + + + + + update wk_crm_contacts + + name = #{name}, + next_time = #{nextTime}, + mobile = #{mobile}, + telephone = #{telephone}, + email = #{email}, + post = #{post}, + customer_id = #{customerId}, + address = #{address}, + remark = #{remark}, + create_user_id = #{createUserId}, + owner_user_id = #{ownerUserId}, + create_time = #{createTime}, + update_time = #{updateTime}, + batch_id = #{batchId}, + last_time = #{lastTime}, + + where contacts_id = #{contactsId} + + + + delete from wk_crm_contacts where contacts_id = #{contactsId} + + + + delete from wk_crm_contacts where contacts_id in + + #{contactsId} + + + + \ No newline at end of file