Browse Source

CRM系统升级优化

kaick 1 year ago
parent
commit
6e0f7ff4d4

+ 25 - 1
src/main/java/com/caimei365/user/controller/SellerApi.java

@@ -110,6 +110,18 @@ public class SellerApi {
         return sellerService.getClubList(spId, status, type, name, userIdentity, groupServiceId, pageNum, pageSize);
     }
 
+    /**
+     * 机构活跃分析
+     */
+    @ApiOperation("机构活跃分析比例")
+    @GetMapping("/club/livelyClub")
+    public ResponseJson<Map<String, Object>> getLivelyClub(Integer spId) {
+        if (null == spId ) {
+            return ResponseJson.error("spId  参数不全!", null);
+        }
+        return sellerService.getLivelyClub(spId);
+    }
+
     /**
      * 机构活跃分析
      * 原spi的 /seller/club/list
@@ -131,7 +143,7 @@ public class SellerApi {
         if (null == spId || null == status || null == type) {
             return ResponseJson.error("spId 或 status 或 type 参数不全!", null);
         }
-        if (4 != type || 5 != type ) {
+        if (4 != type && 5 != type ) {
             return ResponseJson.error("type 参数错误!", null);
         }
 
@@ -174,4 +186,16 @@ public class SellerApi {
         return sellerService.getSellerHome(userId);
     }
 
+    /**
+     * 更新协销信息
+     */
+    @GetMapping("/setHome")
+    public ResponseJson<ServiceProviderPo> setSellerHome(ServiceProviderPo serviceProviderPo) {
+        return sellerService.setSellerHome(new ServiceProviderPo()
+                .setUserId(serviceProviderPo.getUserId())
+                .setImage(serviceProviderPo.getImage())
+                .setQrCode(serviceProviderPo.getQrCode()));
+
+    }
+
 }

+ 9 - 0
src/main/java/com/caimei365/user/mapper/SellerMapper.java

@@ -37,6 +37,15 @@ public interface SellerMapper {
      */
     void updateServiceProviderByUserId(Integer userId, String openId, String unionId);
 
+    /**
+     * 更新协销信息
+     */
+    Integer setSellerHome(ServiceProviderPo serviceProviderPo);
+    /**
+     * 更新协销头像
+     */
+    Integer setSellerUserHome(@Param("userId")Integer userId, @Param("image")String image);
+
     /**
      * 查询待注册机构数据
      *

+ 12 - 0
src/main/java/com/caimei365/user/model/po/ServiceProviderPo.java

@@ -1,6 +1,7 @@
 package com.caimei365.user.model.po;
 
 import lombok.Data;
+import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 
@@ -10,6 +11,7 @@ import java.io.Serializable;
  * @author : Aslee
  * @date : 2021/3/18
  */
+@Accessors(chain  = true )
 @Data
 public class ServiceProviderPo implements Serializable {
     private static final long serialVersionUID = 1L;
@@ -72,6 +74,16 @@ public class ServiceProviderPo implements Serializable {
      */
     private String validFlag;
 
+    /**
+     * 头像
+     */
+    private String image;
+
+    /**
+     * 协销二维码
+     */
+    private String qrCode;
+
     /**
      * 创建时间
      */

+ 17 - 0
src/main/java/com/caimei365/user/service/SellerService.java

@@ -45,6 +45,15 @@ public interface SellerService {
  */
 
     ResponseJson<Map<String, Object>> getLivelyClubList(Integer serviceProviderId, Integer status, Integer type, String name, Integer userIdentity, Integer pageNum, Integer pageSize);
+    /**
+     * 功能描述: 机构活跃分析比例
+     * @auther: Kaick
+     * @date: 2023/9/4 9:48
+     * @param
+     * @return []
+     */
+
+    ResponseJson<Map<String, Object>> getLivelyClub(Integer serviceProviderId);
     /**
      * 协销登录(手机号,密码)
      *
@@ -101,6 +110,14 @@ public interface SellerService {
      * @param userId 协销用户id
      */
     ResponseJson<ServiceProviderPo> getSellerHome(Integer userId);
+    /**
+     * 功能描述: 更新协销信息
+     * @auther: Kaick
+     * @date: 2023/9/4 10:02
+     * @param serviceProviderPo
+     * @return [serviceProviderPo]
+     */
 
+    ResponseJson setSellerHome(ServiceProviderPo serviceProviderPo);
     ResponseJson<List<ServiceProviderVo>> getServiceTeam(Integer spId,Integer status);
 }

+ 25 - 1
src/main/java/com/caimei365/user/service/impl/SellerServiceImpl.java

@@ -131,6 +131,20 @@ public class SellerServiceImpl implements SellerService {
     @Override
     public ResponseJson<Map<String, Object>> getLivelyClubList(Integer serviceProviderId, Integer status, Integer type, String name, Integer userIdentity, Integer pageNum, Integer pageSize) {
         PageHelper.startPage(pageNum, pageSize);
+        Map<String, Object> map = new HashMap<>();
+        map.put("clubList", new PageInfo<>(sellerMapper.findClubs(serviceProviderId, status, name, userIdentity, type, null)));
+        return ResponseJson.success(map);
+    }
+    /**
+     * 功能描述: 机构活跃分析比例
+     * @auther: Kaick
+     * @date: 2023/9/4 9:48
+     * @param
+     * @return []
+     */
+
+    @Override
+    public ResponseJson<Map<String, Object>> getLivelyClub(Integer serviceProviderId) {
         Map<String, Object> map = new HashMap<>();
         Map<String, Object> spUserLoginSum = sellerMapper.findSpUserLoginSum(serviceProviderId.toString());
         Integer loginSum = Integer.valueOf(spUserLoginSum.get("loginSum").toString());
@@ -141,7 +155,6 @@ public class SellerServiceImpl implements SellerService {
         map.put("noLivelyClub", not_loginSum);
         map.put("livelyClubProportion", livelyClubProportion);
         map.put("noLivelyClubProportion", MathUtil.sub(100, livelyClubProportion).setScale(2));
-        map.put("clubList", new PageInfo<>(sellerMapper.findClubs(serviceProviderId, status, name, userIdentity, type, null)));
         return ResponseJson.success(map);
     }
 
@@ -322,6 +335,17 @@ public class SellerServiceImpl implements SellerService {
         return ResponseJson.success(seller);
     }
 
+
+    @Override
+    public ResponseJson setSellerHome(ServiceProviderPo serviceProviderPo) {
+        // 协销用户
+        sellerMapper.setSellerHome(serviceProviderPo);
+        if(StringUtils.isNotBlank(serviceProviderPo.getImage())){
+            sellerMapper.setSellerUserHome(serviceProviderPo.getUserId(),serviceProviderPo.getImage());
+        }
+        return ResponseJson.success("");
+    }
+
     @Override
     public ResponseJson<List<ServiceProviderVo>> getServiceTeam(Integer spId,Integer status) {
         Integer leaderId = sellerMapper.findLeaderIdByServiceId(spId);

+ 53 - 20
src/main/resources/mapper/SellerMapper.xml

@@ -28,6 +28,36 @@
             unionId = #{unionId}
         where userID = #{userId}
     </update>
+    <update id="setSellerHome" parameterType="com.caimei365.user.model.po.ServiceProviderPo">
+        update serviceprovider
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="organizeID != null">organizeID = #{organizeID},</if>
+            <if test="openid != null and openid != ''">openid = #{openid},</if>
+            <if test="unionId != null and unionId != ''">unionId = #{unionId},</if>
+            <if test="name != null and name != ''">name = #{name},</if>
+            <if test="linkMan != null and linkMan != ''">linkMan = #{linkMan},</if>
+            <if test="contractPhone != null and contractPhone != ''">contractPhone = #{contractPhone},</if>
+            <if test="contractMobile != null and contractMobile != ''">contractMobile = #{contractMobile},</if>
+            <if test="contractEmail != null and contractEmail != ''">contractEmail = #{contractEmail},</if>
+            <if test="duty != null and duty != ''">duty = #{duty},</if>
+            <if test="auditStatus != null and auditStatus != ''">auditStatus = #{auditStatus},</if>
+            <if test="auditTime != null and auditTime != ''">auditTime = #{auditTime},</if>
+            <if test="auditNote != null and auditNote != ''">auditNote = #{auditNote},</if>
+            <if test="validFlag != null and validFlag != ''">validFlag = #{validFlag},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="addTime != null and addTime != ''">addTime = #{addTime},</if>
+            <if test="mainServiceProviderID != null">mainServiceProviderID = #{mainServiceProviderID},</if>
+            <if test="qrCode != null and qrCode != ''">qrCode = #{qrCode},</if>
+        </trim>
+        where userID = #{userID}
+    </update>
+    <update id="setSellerUserHome" >
+        update user
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="image != null and image != ''">image = #{image},</if>
+        </trim>
+        where userId = #{userId}
+    </update>
 
     <select id="findClubTemporary" resultType="com.caimei365.user.model.vo.ClubTemporaryVo">
         SELECT
@@ -141,12 +171,12 @@
         <if test="4 == type">
             c.spID = #{serviceProviderId}
             AND sp.status = 90
-                AND (u.loginTime >= DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH)
+                AND u.loginTime >= DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH)
         </if>
         <if test="5 == type">
             c.spID = #{serviceProviderId}
             AND sp.status = 90
-                AND (u.loginTime<![CDATA[ < ]]> DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH)
+                AND u.loginTime <![CDATA[ < ]]> DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH)
         </if>
         <if test="6 == type">
             c.spID = #{serviceProviderId}
@@ -202,24 +232,27 @@
         </if>
     </select>
     <select id="getSellerByUserId" resultType="com.caimei365.user.model.po.ServiceProviderPo">
-        select serviceProviderID     AS serviceProviderId,
-               status,
-               userID                AS userId,
-               openid,
-               unionId,
-               name,
-               contractMobile,
-               linkMan,
-               duty,
-               contractEmail,
-               auditStatus,
-               auditTime,
-               auditNote,
-               validFlag,
-               addTime,
-               mainServiceProviderID AS mainServiceProviderId
-        from serviceprovider
-        where userID = #{userId}
+        select s.serviceProviderID     AS serviceProviderId,
+               s.status,
+               s.userID                AS userId,
+               s.openid,
+               s.unionId,
+               s.name,
+               s.contractMobile,
+               s.linkMan,
+               s.duty,
+               s.contractEmail,
+               s.auditStatus,
+               s.auditTime,
+               s.auditNote,
+               s.validFlag,
+               s.addTime,
+               s.qrCode,
+               u.image,
+               s.mainServiceProviderID AS mainServiceProviderId
+        from serviceprovider s
+        LEFT JOIN USER u ON s.userId = u.userId
+        where s.userID = #{userId}
     </select>
     <select id="findManager" resultType="java.lang.Integer">
         SELECT IF(csm.serviceProviderId IS NULL, 2, 1) AS manager