소스 검색

用户行为优化1.0.5

huangzhiguo 1 년 전
부모
커밋
e3bc7c9cde

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

@@ -319,7 +319,7 @@ public class LoginApi {
 
     @ApiOperation(("机构站内消息点击统计"))
     @GetMapping("/clubBehaviorInfo")
-    public ResponseJson clubBehaviorInfo(Integer userId, String link) {
+    public ResponseJson clubBehaviorInfo(Integer userId, String link, Integer infoId, Integer productId, Integer orderId) {
         if (null == userId) {
             return ResponseJson.error(-1, "用户Id不能为空", null);
         }

+ 6 - 3
src/main/java/com/caimei365/user/controller/SellerApi.java

@@ -306,14 +306,17 @@ public class SellerApi {
      */
     @ApiOperation("协销活跃机构未填写咨询记录列表")
     @ApiImplicitParam(required = true, name = "serviceProviderId", value = "协销Id")
-    @GetMapping("getActiveClub")
-    public ResponseJson<PageInfo<ClubVo>> getActiveClub(Integer serviceProviderId, Integer type,
+    @GetMapping("/getActiveClub")
+    public ResponseJson<PageInfo<ClubVo>> getActiveClub(Integer type, Integer serviceProviderId, String nameOrMobile,
                                                         @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
                                                         @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        if (null == type) {
+            return ResponseJson.error(-1, "记录类型不能为空不能为空", null);
+        }
         if (null == serviceProviderId) {
             return ResponseJson.error(-1, "协销Id不能为空", null);
         }
-        return sellerService.getActiveClub(serviceProviderId, type, pageNum, pageSize);
+        return sellerService.getActiveClub(serviceProviderId, type, nameOrMobile, pageNum, pageSize);
     }
 
 }

+ 20 - 11
src/main/java/com/caimei365/user/controller/ShopApi.java

@@ -466,18 +466,34 @@ public class ShopApi {
         return shopService.saveRecommendType(baikeProduct);
     }
 
+    /**
+     * 校验  供应商营销数据看板  预览码
+     * @param marketReportId
+     * @param code
+     * @return
+     */
+    @GetMapping("/checkPreview")
+    public ResponseJson checkShopPreview(Integer marketReportId, String code) {
+        if (null == marketReportId) {
+            return ResponseJson.error(-1, "供应商报表Id不能为空", null);
+        }
+        if (StringUtils.isBlank(code)) {
+            return ResponseJson.error(-1, "预览码不能为空", null);
+        }
+        return shopService.checkShopPreview(marketReportId, code);
+    }
+
     /**
      * 供应商营销数据看板
      * @param type
      * @param marketReportId
      * @param shopId
-     * @param code
      * @param startTime
      * @param endTime
      * @return
      */
     @GetMapping("/preview")
-    public ResponseJson<Map<String, Object>> preview(Integer type, Integer marketReportId, Integer shopId, String code, Integer userId, String startTime, String endTime) {
+    public ResponseJson<Map<String, Object>> preview(Integer type, Integer marketReportId, Integer shopId, Integer userId, String startTime, String endTime) {
         if (null == type) {
             return ResponseJson.error(-1, "查询类型不能为空", null);
         }
@@ -485,18 +501,11 @@ public class ShopApi {
             if (null == marketReportId) {
                 return ResponseJson.error(-1, "供应商报表Id不能为空", null);
             }
-        } else if (3 == type) {
-            if (null == marketReportId) {
-                return ResponseJson.error(-1, "供应商报表Id不能为空", null);
-            }
-            if (StringUtils.isBlank(code)) {
-                return ResponseJson.error(-1, "预览码不能为空", null);
-            }
-        } else {
+        }else {
             if (null == shopId) {
                 return ResponseJson.error(-1, "供应商Id不能为空", null);
             }
         }
-        return shopService.preview(type, marketReportId, shopId, code, userId, startTime, endTime);
+        return shopService.preview(type, marketReportId, shopId, userId, startTime, endTime);
     }
 }

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

@@ -184,6 +184,6 @@ public interface SellerMapper {
      * @param serviceProviderId
      * @return
      */
-    List<ClubVo> getActiveClub(@Param("accessDate") String accessDate, @Param("serviceProviderId") Integer serviceProviderId);
+    List<ClubVo> getActiveClub(@Param("accessDate") String accessDate, @Param("serviceProviderId") Integer serviceProviderId, @Param("nameOrMobile") String nameOrMobile);
 
 }

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

@@ -164,6 +164,6 @@ public interface SellerService {
      * @param pageSize
      * @return
      */
-    ResponseJson<PageInfo<ClubVo>> getActiveClub(Integer serviceProviderId, Integer type, int pageNum, int pageSize);
+    ResponseJson<PageInfo<ClubVo>> getActiveClub(Integer serviceProviderId, Integer type, String nameOrMobile, int pageNum, int pageSize);
 
 }

+ 9 - 2
src/main/java/com/caimei365/user/service/ShopService.java

@@ -303,16 +303,23 @@ public interface ShopService {
      */
     ResponseJson<Void> saveRecommendSort(BaikeRecommendVo baikeRecommend);
 
+    /**
+     * 校验  供应商营销数据看板  预览码
+     * @param marketReportId
+     * @param code
+     * @return
+     */
+    ResponseJson checkShopPreview(Integer marketReportId, String code);
+
     /**
      * 供应商营销数据看板
      * @param type
      * @param marketReportId
      * @param shopId
-     * @param code
      * @param userId
      * @param startTime
      * @param endTime
      * @return
      */
-    ResponseJson<Map<String, Object>> preview(Integer type, Integer marketReportId, Integer shopId, String code, Integer userId, String startTime, String endTime);
+    ResponseJson<Map<String, Object>> preview(Integer type, Integer marketReportId, Integer shopId, Integer userId, String startTime, String endTime);
 }

+ 16 - 7
src/main/java/com/caimei365/user/service/impl/LoginServiceImpl.java

@@ -728,13 +728,22 @@ public class LoginServiceImpl implements LoginService {
             if (null == userId) {
                 return ResponseJson.error(-1, "用户数据异常", null);
             } else {
-                // 记录
-                link = wwwDomain + link;
-                CmBehaviorInfoPo behaviorInfo = clubMapper.getClubSpId(userId);
-                setBehaviorInfo(behaviorInfo, link);
-                behaviorInfo.setOperateObject(1);
-                behaviorInfo.setType(2);
-                clubMapper.insertBehaviorInfo(behaviorInfo);
+                // 用户信息
+                UserLoginVo user = loginMapper.getLoginUserByUserId(userId);
+                if (null != user) {
+                    // 记录
+                    link = wwwDomain + link;
+                    CmBehaviorInfoPo behaviorInfo = clubMapper.getClubSpId(userId);
+                    setBehaviorInfo(behaviorInfo, link);
+                    if (1 == user.getUserIdentity()) {
+                        behaviorInfo.setSpId(user.getServiceProviderId());
+                    } else {
+                        behaviorInfo.setClubId(user.getClubId());
+                    }
+                    behaviorInfo.setOperateObject(1);
+                    behaviorInfo.setType(2);
+                    clubMapper.insertBehaviorInfo(behaviorInfo);
+                }
             }
         } catch (Exception e) {
             e.printStackTrace();

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

@@ -700,7 +700,7 @@ public class SellerServiceImpl implements SellerService {
      * @return
      */
     @Override
-    public ResponseJson<PageInfo<ClubVo>> getActiveClub(Integer serviceProviderId, Integer type, int pageNum, int pageSize) {
+    public ResponseJson<PageInfo<ClubVo>> getActiveClub(Integer serviceProviderId, Integer type, String nameOrMobile, int pageNum, int pageSize) {
         // 获取三天前日期
         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
         Calendar calendar = Calendar.getInstance();
@@ -710,7 +710,7 @@ public class SellerServiceImpl implements SellerService {
         String format = dateFormat.format(time);
 
         PageHelper.startPage(pageNum, pageSize);
-        List<ClubVo> activeClub = sellerMapper.getActiveClub(format, serviceProviderId);
+        List<ClubVo> activeClub = sellerMapper.getActiveClub(format, serviceProviderId, nameOrMobile);
         for (ClubVo club : activeClub) {
             setClubNumber(club);
         }

+ 34 - 20
src/main/java/com/caimei365/user/service/impl/ShopServiceImpl.java

@@ -1051,35 +1051,42 @@ public class ShopServiceImpl implements ShopService {
         return ResponseJson.success(null);
     }
 
+    /**
+     * 校验  供应商营销数据看板  预览码
+     *
+     * @param marketReportId
+     * @param code
+     * @return
+     */
+    @Override
+    public ResponseJson checkShopPreview(Integer marketReportId, String code) {
+        log.info("marketReportId-----"+marketReportId+"-----code----"+code);
+        // 校验预览码 普通预览需校验预览码
+        String marketCode = shopMapper.getMarketCode(marketReportId);
+        if (StringUtils.isNotBlank(marketCode)) {
+            if (!code.equals(marketCode)) {
+                return ResponseJson.error(-1, "预览码错误", null);
+            }
+        } else {
+            return ResponseJson.error(-1, "预览码已失效", null);
+        }
+        return ResponseJson.success();
+    }
+
     /**
      * 供应商营销数据看板
      *
      * @param type
      * @param marketReportId
      * @param shopId
-     * @param code
      * @param startTime
      * @param endTime
      * @return
      */
     @Override
-    public ResponseJson<Map<String, Object>> preview(Integer type, Integer marketReportId, Integer shopId, String code, Integer userId, String startTime, String endTime) {
-        // 用户对应供应商, 用于校验查看权限
-        if(null != userId) {
-            return ResponseJson.error(-1, "无权查看该报表", null);
-        }
-        Integer userShopId = shopMapper.getUserShopId(userId);
-        // 校验预览码 普通预览需校验预览码
-        if (3 == type) {
-            String marketCode = shopMapper.getMarketCode(marketReportId);
-            if (StringUtils.isNotBlank(marketCode)) {
-                if (!code.equals(marketCode)) {
-                    return ResponseJson.error(-1, "预览码错误", null);
-                }
-            } else {
-                return ResponseJson.error(-1, "预览码已失效", null);
-            }
-        }
+    public ResponseJson<Map<String, Object>> preview(Integer type, Integer marketReportId, Integer shopId, Integer userId, String startTime, String endTime) {
+
+
         Map<String, Object> map = new HashMap<>();
         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
         SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd");
@@ -1104,8 +1111,15 @@ public class ShopServiceImpl implements ShopService {
         // 获取报表对应供应商数据
         CmMarketShopVo shopInfo = shopMapper.getShopInfoById(shopId, type, marketReportId);
         // 验证权限
-        if(!userShopId.equals(shopInfo.getShopId())) {
-            return ResponseJson.error(-1, "无权查看该报表, 请登录对应供应商账号查看报表", null);
+        if (1 != type) {
+            // 用户对应供应商, 用于校验查看权限
+            if (null == userId) {
+                return ResponseJson.error(-1, "请登录供应商账号!", null);
+            }
+            Integer userShopId = shopMapper.getUserShopId(userId);
+            if (!userShopId.equals(shopInfo.getShopId())) {
+                return ResponseJson.error(-1, "供应商账号和报表不匹配,请更换账号登录!", null);
+            }
         }
         List<Integer> marketReportIds = shopMapper.getMarketReportIds(shopInfo.getId(), type, marketReportId, startTime, endTime);
         log.info("marketReportIds===="+marketReportIds);

+ 1 - 1
src/main/resources/mapper/ClubMapper.xml

@@ -1366,7 +1366,7 @@
         </if>
         #{type},
         <if test="pageType != null and pageType != ''">
-            #{pagetType},
+            #{pageType},
         </if>
         <if test="allocation != null and allocation != ''">
             #{allocation},

+ 12 - 7
src/main/resources/mapper/SellerMapper.xml

@@ -739,7 +739,7 @@
         sp.name AS serviceName,
         coas.activeState AS activeState
         FROM cm_behavior_record cbr
-        left join user u on u.userID = cbr..userID
+        left join user u on u.userID = cbr.userID
         LEFT JOIN cm_organ_active_system coas ON coas.userId = cbr.userId
         LEFT JOIN club c ON c.userId = cbr.userId
         LEFT JOIN serviceprovider sp ON c.spID = sp.serviceProviderID
@@ -758,12 +758,17 @@
             WHERE cvr.clubId != '' AND cvr.clubId IS NOT NULL
             AND cvr.addTime <![CDATA[ >= ]]> #{accessDate} AND cvr.addTime <![CDATA[ <= ]]> NOW()
             ) cc ON cc.clubId = cbr.userId
-        WHERE cbr.userId != 0
-        AND cbr.accessDate = #{accessDate}
-        AND coas.addTime LIKE concat('%', #{accessDate}, '%')
-        AND coas.activeStatus = 0
-        AND c.spId = #{spId}
-        AND cc.clubId IS NULL
+        <where>
+            cbr.userId != 0
+            AND cbr.accessDate = #{accessDate}
+            AND coas.addTime LIKE concat('%', #{accessDate}, '%')
+            AND coas.activeStatus = 0
+            AND c.spId = #{serviceProviderId}
+            AND cc.clubId IS NULL
+            <if test="nameOrMobile != null and nameOrMobile != ''">
+                and (c.name like concat('%', #{nameOrMobile}, '%') or c.linkMan like concat('%', #{nameOrMobile}, '%') or c.contractMobile like concat('%', #{nameOrMobile}, '%'))
+            </if>
+        </where>
         GROUP BY cbr.userId
         ORDER BY MIN(cbr.accessTime) ASC
     </select>

+ 1 - 1
src/main/resources/mapper/ShopMapper.xml

@@ -406,7 +406,7 @@
     </select>
 
     <select id="getMarketCode" resultType="java.lang.String">
-        select code from cm_market_code where marketReportId = #{marketReportId} and recodeTime <![CDATA[ < ]]> now()
+        select code from cm_market_code where marketReportId = #{marketReportId} and recodeTime <![CDATA[ > ]]> now() and delFlag = 0
     </select>
 
     <select id="getShopInfoById" resultType="com.caimei365.user.model.vo.CmMarketShopVo">