From ecd015fd9320ced39a5dc1942f20997f294f3016 Mon Sep 17 00:00:00 2001
From: 姜友瑶 <935090232@qq.com>
Date: Wed, 04 May 2022 13:30:38 +0800
Subject: [PATCH] fix:添加跟进记录服务端查询接口
---
zq-erp/src/main/java/com/matrix/system/hive/action/FollowuController.java | 38 +++++++
zq-erp/src/main/java/com/matrix/system/hive/dto/FollowuListDto.java | 34 ++++++
zq-erp/src/main/java/com/matrix/beauty/followup/dao/SysFollowupDao.java | 12 +
zq-erp/src/main/java/com/matrix/beauty/followup/service/SysFollowupService.java | 89 +++++++++++++++++
zq-erp/src/main/java/com/matrix/beauty/followup/entry/SysFollowup.java | 6
zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipAlbumDao.java | 11 +
zq-erp/src/main/resources/mybatis/mapper/hive/SysFollowupDao.xml | 30 ++++-
zq-erp/src/main/resources/config/application.properties | 2
zq-erp/src/main/java/com/matrix/system/app/action/ApiFollowupAction.java | 62 +-----------
9 files changed, 209 insertions(+), 75 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysFollowupDao.java b/zq-erp/src/main/java/com/matrix/beauty/followup/dao/SysFollowupDao.java
similarity index 84%
rename from zq-erp/src/main/java/com/matrix/system/hive/dao/SysFollowupDao.java
rename to zq-erp/src/main/java/com/matrix/beauty/followup/dao/SysFollowupDao.java
index 28fafcb..8da6244 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysFollowupDao.java
+++ b/zq-erp/src/main/java/com/matrix/beauty/followup/dao/SysFollowupDao.java
@@ -1,11 +1,13 @@
-package com.matrix.system.hive.dao;
+package com.matrix.beauty.followup.dao;
+import com.matrix.beauty.followup.entry.SysFollowup;
+import com.matrix.core.pojo.PaginationVO;
import com.matrix.system.app.dto.FollowupListDto;
+import com.matrix.system.hive.dto.FollowuListDto;
import org.apache.ibatis.annotations.Param;
+
import java.util.List;
import java.util.Map;
-import com.matrix.core.pojo.PaginationVO;
-import com.matrix.system.hive.bean.SysFollowup;
/**
* @description 跟进
@@ -15,7 +17,7 @@
public interface SysFollowupDao{
public int insert(@Param("item") SysFollowup sysFollowup);
-
+
public int batchInsert(@Param("list") List<SysFollowup> sysFollowupList);
public int updateByMap(Map<String, Object> modifyMap);
@@ -41,4 +43,6 @@
void updateZan(@Param("id")Long id, @Param("zans")String zans);
List<SysFollowup> selectByAppDto(FollowupListDto followupListDto);
+
+ List<SysFollowup> findVipFollowuByPage(FollowuListDto followuListDto);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysFollowup.java b/zq-erp/src/main/java/com/matrix/beauty/followup/entry/SysFollowup.java
similarity index 96%
rename from zq-erp/src/main/java/com/matrix/system/hive/bean/SysFollowup.java
rename to zq-erp/src/main/java/com/matrix/beauty/followup/entry/SysFollowup.java
index 3085a5c..ffe568b 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysFollowup.java
+++ b/zq-erp/src/main/java/com/matrix/beauty/followup/entry/SysFollowup.java
@@ -1,13 +1,13 @@
-package com.matrix.system.hive.bean;
+package com.matrix.beauty.followup.entry;
import com.fasterxml.jackson.annotation.JsonFormat;
-import com.matrix.core.pojo.EntityDTO;
import com.matrix.core.anotations.Extend;
import com.matrix.core.tools.DateUtil;
import com.matrix.system.common.bean.EntityDTOExt;
import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.hive.bean.SysFollowupComment;
+import com.matrix.system.hive.bean.SysVipAlbum;
import io.swagger.annotations.ApiModelProperty;
-import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.util.Date;
diff --git a/zq-erp/src/main/java/com/matrix/beauty/followup/service/SysFollowupService.java b/zq-erp/src/main/java/com/matrix/beauty/followup/service/SysFollowupService.java
new file mode 100644
index 0000000..118bea8
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/beauty/followup/service/SysFollowupService.java
@@ -0,0 +1,89 @@
+package com.matrix.beauty.followup.service;
+
+import com.matrix.beauty.followup.dao.SysFollowupDao;
+import com.matrix.beauty.followup.entry.SysFollowup;
+import com.matrix.core.constance.MatrixConstance;
+import com.matrix.core.tools.StringUtils;
+import com.matrix.core.tools.WebUtil;
+import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.hive.bean.SysBeauticianState;
+import com.matrix.system.hive.bean.SysOrderItem;
+import com.matrix.system.hive.bean.SysVipAlbum;
+import com.matrix.system.hive.dao.SysBeauticianStateDao;
+import com.matrix.system.hive.dao.SysOrderItemDao;
+import com.matrix.system.hive.dao.SysVipAlbumDao;
+import com.matrix.system.hive.dto.FollowuListDto;
+import com.matrix.system.hive.plugin.util.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class SysFollowupService {
+ @Autowired
+ SysFollowupDao followupDao;
+
+ @Autowired
+ SysOrderItemDao orderItemDao;
+
+ @Autowired
+ private SysVipAlbumDao vipAlbumDao;
+
+ @Autowired
+ private SysBeauticianStateDao beauticianStateDao;
+
+ public void save(SysFollowup followup){
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ followup.setCreateBy(user.getSuName());
+ followup.setUpdateBy(user.getSuName());
+ followup.setStaffId(user.getSuId());
+ followup.setCompanyId(user.getCompanyId());
+ followup.setShopId(user.getShopId());
+ //处理订单摘要
+ if(followup.getOrderId()!=null){
+ List<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(followup.getOrderId());
+ String abs="";
+ if(sysOrderItems.size()>1){
+ abs= sysOrderItems.get(0).getShoppingGoods().getName()+"等"+sysOrderItems.size()+"件商品";
+ }else{
+ abs= sysOrderItems.get(0).getShoppingGoods().getName();
+ }
+ followup.setOrderAbstract(abs);
+ }
+ //服务单摘要
+ if(followup.getServiceId()!=null){
+ List<SysBeauticianState> sysBeauticianStates = beauticianStateDao.selectBySerIds(followup.getServiceId());
+ String abs="";
+ if(sysBeauticianStates.size()>1){
+ abs= sysBeauticianStates.get(0).getProjInfo().getName()+"等"+sysBeauticianStates.size()+"项服务";
+ }else{
+ abs= sysBeauticianStates.get(0).getProjInfo().getName();
+ }
+ followup.setOrderAbstract(abs);
+ }
+
+ followupDao.insert(followup);
+ //插入图片
+ List<SysVipAlbum> albums=followup.getAlbums();
+ if(CollectionUtils.isNotEmpty(albums)){
+ for (SysVipAlbum vipAlbum:albums){
+ if(StringUtils.isNotBlank(vipAlbum.getImg())){
+ vipAlbum.setCreateBy(user.getSuName());
+ vipAlbum.setUpdateBy(user.getSuName());
+ vipAlbum.setSource(SysVipAlbum.SOURCE_FOLLOW);
+ vipAlbum.setVipId(followup.getVipId());
+ vipAlbum.setSourceId(followup.getId());
+ vipAlbumDao.insert(vipAlbum);
+ }
+ }
+ }
+
+ }
+
+ public List<SysFollowup> findVipFollowuByPage(FollowuListDto followuListDto) {
+ //todo 等订单改造版本合并后用验证工具加参数校验
+
+ return followupDao.findVipFollowuByPage(followuListDto);
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiFollowupAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiFollowupAction.java
index 25fa419..ba2e8b8 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiFollowupAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiFollowupAction.java
@@ -1,5 +1,8 @@
package com.matrix.system.app.action;
+import com.matrix.beauty.followup.dao.SysFollowupDao;
+import com.matrix.beauty.followup.entry.SysFollowup;
+import com.matrix.beauty.followup.service.SysFollowupService;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.StringUtils;
@@ -7,7 +10,6 @@
import com.matrix.system.app.dto.*;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.tools.DataAuthUtil;
-import com.matrix.system.hive.action.util.QueryUtil;
import com.matrix.system.hive.bean.*;
import com.matrix.system.hive.dao.*;
import com.matrix.system.hive.plugin.util.CollectionUtils;
@@ -35,21 +37,11 @@
private SysFollowupDao followupDao;
@Autowired
- private SysVipAlbumDao vipAlbumDao;
-
- @Autowired
- private SysVipInfoDao vipInfoDao;
-
- @Autowired
private SysFollowupCommentDao followupCommentDao;
-
@Autowired
- private SysOrderItemDao orderItemDao;
-
- @Autowired
- private SysBeauticianStateDao beauticianStateDao;
+ private SysFollowupService followupService;
@ApiOperation(value = "新增跟进记录", notes = "新增跟进记录")
@@ -58,51 +50,7 @@
})
@PostMapping(value = "/addFollowup")
public AjaxResult addFollowup(@RequestBody @Validated SysFollowup followup) {
- SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
- followup.setCreateBy(user.getSuName());
- followup.setUpdateBy(user.getSuName());
- followup.setStaffId(user.getSuId());
- followup.setCompanyId(user.getCompanyId());
- followup.setShopId(user.getShopId());
- //处理订单摘要
- if(followup.getOrderId()!=null){
- List<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(followup.getOrderId());
- String abs="";
- if(sysOrderItems.size()>1){
- abs= sysOrderItems.get(0).getShoppingGoods().getName()+"等"+sysOrderItems.size()+"件商品";
- }else{
- abs= sysOrderItems.get(0).getShoppingGoods().getName();
- }
- followup.setOrderAbstract(abs);
- }
- //服务单摘要
- if(followup.getServiceId()!=null){
- List<SysBeauticianState> sysBeauticianStates = beauticianStateDao.selectBySerIds(followup.getServiceId());
- String abs="";
- if(sysBeauticianStates.size()>1){
- abs= sysBeauticianStates.get(0).getProjInfo().getName()+"等"+sysBeauticianStates.size()+"项服务";
- }else{
- abs= sysBeauticianStates.get(0).getProjInfo().getName();
- }
- followup.setOrderAbstract(abs);
- }
-
- followupDao.insert(followup);
- //插入图片
- List<SysVipAlbum> albums=followup.getAlbums();
- if(CollectionUtils.isNotEmpty(albums)){
- for (SysVipAlbum vipAlbum:albums){
- if(StringUtils.isNotBlank(vipAlbum.getImg())){
- vipAlbum.setCreateBy(user.getSuName());
- vipAlbum.setUpdateBy(user.getSuName());
- vipAlbum.setSource(SysVipAlbum.SOURCE_FOLLOW);
- vipAlbum.setVipId(followup.getVipId());
- vipAlbum.setSourceId(followup.getId());
- vipAlbumDao.insert(vipAlbum);
- }
- }
- }
-
+ followupService.save(followup);
return AjaxResult.buildSuccessInstance("保存成功");
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/FollowuController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/FollowuController.java
new file mode 100644
index 0000000..2f9f7a0
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/FollowuController.java
@@ -0,0 +1,38 @@
+package com.matrix.system.hive.action;
+
+import com.matrix.beauty.followup.entry.SysFollowup;
+import com.matrix.beauty.followup.service.SysFollowupService;
+import com.matrix.core.constance.MatrixConstance;
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.tools.WebUtil;
+import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.hive.dto.FollowuListDto;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @description 跟进记录
+ */
+@Controller
+@RequestMapping(value = "admin/followu")
+public class FollowuController extends BaseController{
+
+
+ @Resource
+ private SysFollowupService followupService;
+
+ /**
+ * 显示所有的会员卡等级信息
+ */
+ @RequestMapping(value = "/showList")
+ public @ResponseBody AjaxResult showList(FollowuListDto followuListDto) {
+ SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ followuListDto.setCompanyId(users.getCompanyId());
+ List<SysFollowup> list= followupService.findVipFollowuByPage(followuListDto);
+ return AjaxResult.buildSuccessInstance(list);
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipAlbumDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipAlbumDao.java
index 70f2950..b59cb55 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipAlbumDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipAlbumDao.java
@@ -1,10 +1,13 @@
package com.matrix.system.hive.dao;
-import org.apache.ibatis.annotations.Param;
-import java.util.List;
-import java.util.Map;
+import com.matrix.beauty.followup.entry.SysFollowup;
import com.matrix.core.pojo.PaginationVO;
import com.matrix.system.hive.bean.SysVipAlbum;
+import com.matrix.system.hive.dto.FollowuListDto;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
/**
* @description 客户相册
@@ -38,5 +41,5 @@
public SysVipAlbum selectById(Long id);
public SysVipAlbum selectForUpdate(Long id);
-
+
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dto/FollowuListDto.java b/zq-erp/src/main/java/com/matrix/system/hive/dto/FollowuListDto.java
new file mode 100644
index 0000000..cb76a66
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dto/FollowuListDto.java
@@ -0,0 +1,34 @@
+package com.matrix.system.hive.dto;
+
+import com.matrix.core.pojo.PaginationDto;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/** 查询客户跟进记录
+ * @author jyy
+ * @date 2021-01-27
+ **/
+@Data
+public class FollowuListDto extends PaginationDto {
+
+ /**
+ * 客户id
+ */
+ @NotNull
+ private Long vipId;
+
+ /**
+ * 员工id
+ */
+ @NotNull
+ private Long staffId;
+
+ /**
+ * 公司id
+ */
+ @NotNull
+ private Long companyId;
+
+
+}
diff --git a/zq-erp/src/main/resources/config/application.properties b/zq-erp/src/main/resources/config/application.properties
index af40963..6b3f12e 100644
--- a/zq-erp/src/main/resources/config/application.properties
+++ b/zq-erp/src/main/resources/config/application.properties
@@ -1,5 +1,5 @@
-spring.profiles.active=local
+spring.profiles.active=alpha
evn=dev
server.port=8080
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysFollowupDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysFollowupDao.xml
index 408922a..51b8e0d 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysFollowupDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysFollowupDao.xml
@@ -2,9 +2,9 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.matrix.system.hive.dao.SysFollowupDao" >
+<mapper namespace="com.matrix.beauty.followup.dao.SysFollowupDao" >
<!-- 定义SysFollowup 的复杂关联map -->
- <resultMap type="com.matrix.system.hive.bean.SysFollowup" id="SysFollowupMap">
+ <resultMap type="com.matrix.beauty.followup.entry.SysFollowup" id="SysFollowupMap">
<id property="id" column="id" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
@@ -40,7 +40,7 @@
</select>
<!-- 定义SysFollowup 的简单map ,本map不添加其他的关联属性 -->
- <resultMap type="com.matrix.system.hive.bean.SysFollowup" id="SysFollowupSimpleMap">
+ <resultMap type="com.matrix.beauty.followup.entry.SysFollowup" id="SysFollowupSimpleMap">
<id property="id" column="id" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
@@ -142,9 +142,9 @@
</if>
</sql>
-
+
<!-- 插入方法 -->
- <insert id="insert" parameterType="com.matrix.system.hive.bean.SysFollowup"
+ <insert id="insert" parameterType="com.matrix.beauty.followup.entry.SysFollowup"
useGeneratedKeys="true" keyProperty="item.id">
INSERT INTO sys_followup (
<include refid="columns"></include>
@@ -275,7 +275,7 @@
</delete>
<!-- 根据对象删除-->
- <delete id="deleteByModel" parameterType="com.matrix.system.hive.bean.SysFollowup">
+ <delete id="deleteByModel" parameterType="com.matrix.beauty.followup.entry.SysFollowup">
DELETE FROM sys_followup
<where>
<include refid="where_sql" ></include>
@@ -401,5 +401,23 @@
limit ${offset},${limit}
</select>
+<select id="findVipFollowuByPage" resultMap="SysFollowupMap">
+ select a.*,
+ b.su_photo as staffPhoto,
+ b.su_name as staffName,
+ c.vip_name as vipName
+ from sys_followup a
+ left join sys_users b on a.staff_id= b.su_id
+ left join sys_vip_info c on a.vip_id=c.id
+ <where>
+ and a.company_id=#{companyId}
+ and (visible=1 or ( visible!=1 and a.staff_id=#{selfStaff}))
+ <if test="vipId!=null">
+ and a.vip_id = #{vipId}
+ </if>
+ </where>
+ order by a.create_time desc
+ limit ${offset},${limit}
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1