Parcourir la source

推进会员查询接口新增会员信息

cgp il y a 4 jours
Parent
commit
1a34b6fcbe

+ 2 - 0
fs-company/src/main/java/com/fs/company/controller/qw/FsDoctorMemberSalesController.java

@@ -12,6 +12,7 @@ import com.fs.qw.param.MemberSalesParam;
 import com.fs.qw.service.IFsDoctorMemberSalesService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -32,6 +33,7 @@ public class FsDoctorMemberSalesController extends BaseController {
     private TokenService tokenService;
 
 
+    //@PreAuthorize("@ss.hasPermi('qw:memberSales:push')")
     @PostMapping("/push")
     public R push(@RequestBody MemberSalesParam param) {
         LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());

+ 2 - 2
fs-doctor-app/src/main/java/com/fs/app/controller/FsSopDoctorTaskController.java

@@ -273,7 +273,7 @@ public class FsSopDoctorTaskController extends BaseController
     }
     /**
      *
-     * 提交搭销会员任务
+     * 提交跟进会员任务
      * */
     @PutMapping("/submitDoctorTask")
     public R submitDoctorTask(@RequestBody FsDoctorTaskDTO addTaskDto){
@@ -287,7 +287,7 @@ public class FsSopDoctorTaskController extends BaseController
     }
 
     /**
-     * 查询搭销会员任务处理记录
+     * 查询跟进会员任务处理记录
      * @param queryDto 医生处理任务
      * @return 医生处理sop任务集合
      * */

+ 1 - 1
fs-service/src/main/java/com/fs/his/dto/SopDoctorTaskDto.java

@@ -32,7 +32,7 @@ public class SopDoctorTaskDto  extends BaseEntity {
     /** 套餐包Id */
     private Long packageId;
 
-    /** 搭销会员Id */
+    /** 跟进会员Id */
     private Long doctorMemberSalesId;
 
     /** 订单号 */

+ 1 - 1
fs-service/src/main/java/com/fs/his/mapper/FsSopDoctorTaskMapper.java

@@ -69,7 +69,7 @@ public interface FsSopDoctorTaskMapper extends BaseMapper<FsSopDoctorTask>{
     List<FsSopDoctorTask> selectFsSopDoctorTaskList(FsSopDoctorTask task);
 
     /**
-     * 获取搭销会员待处理的总数
+     * 获取跟进会员待处理的总数
      */
     @Select("SELECT count(*) FROM fs_sop_doctor_task WHERE doctor_member_sales_id = #{memberSalesId} and status=0")
     Long selectUnprocessedDoctorTaskCount(@Param("memberSalesId") Long memberSalesId);

+ 2 - 2
fs-service/src/main/java/com/fs/his/service/IFsSopDoctorTaskService.java

@@ -68,12 +68,12 @@ public interface IFsSopDoctorTaskService extends IService<FsSopDoctorTask>{
     List<FsSopDoctorTask> selectFsSopDoctorTaskList(FsSopDoctorTask task);
 
     /**
-     * 提交搭销会员任务
+     * 提交跟进会员任务
      * */
     int submitDoctorTask(FsDoctorTaskDTO addTaskDto);
 
     /**
-     * 查询搭销会员任务处理记录
+     * 查询跟进会员任务处理记录
      * @param queryDto 医生处理任务
      * @return 医生处理sop任务集合
      * */

+ 1 - 1
fs-service/src/main/java/com/fs/his/service/impl/FsSopDoctorTaskServiceImpl.java

@@ -228,7 +228,7 @@ public class FsSopDoctorTaskServiceImpl extends ServiceImpl<FsSopDoctorTaskMappe
     }
 
     /**
-     * 查询搭销会员任务处理记录
+     * 查询跟进会员任务处理记录
      * */
     @Override
     public List<SopDoctorTaskVo> selectFsSopDoctorTaskVoListHandleRecords(SopDoctorTaskDto queryDto) {

+ 2 - 0
fs-service/src/main/java/com/fs/qw/mapper/QwExternalContactInfoMapper.java

@@ -73,4 +73,6 @@ public interface QwExternalContactInfoMapper
     int updateQwExternalContactInfoByExtId(Long id);
 
     void updateQwExternalContactInfoByExternalContactId(QwExternalContactInfo qwExternalContactInfo);
+
+    List<QwExternalContactInfo> selectQwExternalContactInfoListByExternalContactIds(List<Long> ids);
 }

+ 1 - 1
fs-service/src/main/java/com/fs/qw/service/IFsDoctorMemberSalesService.java

@@ -18,7 +18,7 @@ public interface IFsDoctorMemberSalesService extends IService<FsDoctorMemberSale
 
 
     /**
-     * 推送搭销会员
+     * 推送跟进会员
      */
     R push(MemberSalesParam param);
 

+ 6 - 0
fs-service/src/main/java/com/fs/qw/service/IQwExternalContactInfoService.java

@@ -62,6 +62,12 @@ public interface IQwExternalContactInfoService
 
     QwExternalContactInfo selectQwExternalContactInfoByExternalContactId(Long id);
 
+    /**
+     * 批量查询外部联系人信息表列表
+     * @param ids 外部联系人id集合
+     * */
+    List<QwExternalContactInfo> selectQwExternalContactInfoListByExternalContactIds(List<Long> ids);
+
     int updateQwExternalContactInfoByIds(Long[] ids);
 
     void updateQwExternalContactInfoBytalk(String talkType, Long externalId);

+ 16 - 4
fs-service/src/main/java/com/fs/qw/service/impl/FsDoctorMemberSalesServiceImpl.java

@@ -1,7 +1,9 @@
 package com.fs.qw.service.impl;
 
-import java.util.Collections;
 import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 import com.fs.common.core.domain.R;
 import com.fs.common.utils.DateUtils;
@@ -11,9 +13,11 @@ import com.fs.his.domain.FsSopDoctorTask;
 import com.fs.his.mapper.FsSopDoctorTaskMapper;
 import com.fs.his.utils.PhoneUtil;
 import com.fs.qw.domain.QwExternalContact;
+import com.fs.qw.domain.QwExternalContactInfo;
 import com.fs.qw.mapper.QwExternalContactMapper;
 import com.fs.qw.param.FsDoctorMemberSalesQueryParam;
 import com.fs.qw.param.MemberSalesParam;
+import com.fs.qw.service.IQwExternalContactInfoService;
 import com.fs.qw.vo.FsDoctorMemberSalesVO;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -42,6 +46,9 @@ public class FsDoctorMemberSalesServiceImpl extends ServiceImpl<FsDoctorMemberSa
     @Autowired
     private QwExternalContactMapper externalContactMapper;
 
+    @Autowired
+    private IQwExternalContactInfoService externalContactInfoService;
+
     @Transactional
     @Override
     public R push(MemberSalesParam param) {
@@ -84,9 +91,12 @@ public class FsDoctorMemberSalesServiceImpl extends ServiceImpl<FsDoctorMemberSa
 
     @Override
     public List<FsDoctorMemberSalesVO> selectFsDoctorMemberSalesVOList(FsDoctorMemberSalesQueryParam param) {
-        //1.搭销会员信息
+        //1.跟进会员信息
         List<FsDoctorMemberSalesVO> voList = memberSalesMapper.selectFsDoctorMemberSalesVOList(param);
-
+        //2.获取填写的会员信息
+        List<Long> exIds=voList.stream().map(FsDoctorMemberSalesVO::getExId).filter(Objects::nonNull).collect(Collectors.toList());
+        List<QwExternalContactInfo> externalContactInfos = externalContactInfoService.selectQwExternalContactInfoListByExternalContactIds(exIds);
+        Map<Long, QwExternalContactInfo> externalContactInfoMap=externalContactInfos.stream().collect(Collectors.toMap(QwExternalContactInfo::getExternalContactId,v->v));
         if (!CollectionUtils.isEmpty(voList)) {
             for (FsDoctorMemberSalesVO vo : voList) {
                 if (!StringUtils.isEmpty(vo.getPhone())) {
@@ -97,9 +107,11 @@ public class FsDoctorMemberSalesServiceImpl extends ServiceImpl<FsDoctorMemberSa
                         vo.setPhone(decryptPhone);
                     }
                 }
-                //2.获取搭销会员待处理的总数
+                //2.获取跟进会员待处理的总数
                 Long unprocessedDoctorTaskCount = sopDoctorTaskMapper.selectUnprocessedDoctorTaskCount(vo.getId());
                 vo.setUnprocessed(unprocessedDoctorTaskCount);
+                //3.获取会员信息
+                vo.setBaseInfo(externalContactInfoMap.get(vo.getExId()));
             }
         }
         return voList;

+ 14 - 0
fs-service/src/main/java/com/fs/qw/service/impl/QwExternalContactInfoServiceImpl.java

@@ -17,7 +17,9 @@ import org.jetbrains.annotations.NotNull;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
+import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 
@@ -120,6 +122,18 @@ public class QwExternalContactInfoServiceImpl implements IQwExternalContactInfoS
         return qwExternalContactInfoMapper.selectQwExternalContactInfoByExternalContactId(id);
     }
 
+    @Override
+    public List<QwExternalContactInfo> selectQwExternalContactInfoListByExternalContactIds(List<Long> ids) {
+        if (CollectionUtils.isEmpty(ids)){
+            return Collections.emptyList();
+        }
+        List<QwExternalContactInfo> qwExternalContactInfos =qwExternalContactInfoMapper.selectQwExternalContactInfoListByExternalContactIds(ids);
+        if (CollectionUtils.isEmpty(qwExternalContactInfos)){
+            return Collections.emptyList();
+        }
+        return qwExternalContactInfos;
+    }
+
     @Override
     public int updateQwExternalContactInfoByIds(Long[] ids) {
         for (Long id : ids) {

+ 6 - 0
fs-service/src/main/java/com/fs/qw/vo/FsDoctorMemberSalesVO.java

@@ -1,6 +1,7 @@
 package com.fs.qw.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fs.qw.domain.QwExternalContactInfo;
 import lombok.Data;
 
 import java.util.Date;
@@ -49,4 +50,9 @@ public class FsDoctorMemberSalesVO {
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
+
+    /**
+     * 会员基础信息
+     */
+    private QwExternalContactInfo baseInfo;
 }

+ 9 - 0
fs-service/src/main/resources/mapper/qw/QwExternalContactInfoMapper.xml

@@ -87,6 +87,15 @@
         <include refid="selectQwExternalContactInfoVo"/>
         where id = #{id}
     </select>
+    <select id="selectQwExternalContactInfoListByExternalContactIds"
+            parameterType="java.util.List"
+            resultMap="QwExternalContactInfoResult">
+        <include refid="selectQwExternalContactInfoVo"/>
+        WHERE external_contact_id IN
+        <foreach collection="list" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+    </select>
 
     <insert id="insertQwExternalContactInfo" parameterType="QwExternalContactInfo" useGeneratedKeys="true" keyProperty="id">
         insert into qw_external_contact_info