yangdamao 1 年間 前
コミット
a84e937142

+ 5 - 5
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/order/TopSharedCustomerController.java

@@ -78,11 +78,11 @@ public class TopSharedCustomerController extends BaseController {
     }
 
     /**
-     * 公海客户详情数据
+     * 公海客户列表
      */
-    @ApiOperation("公海客户详情数据")
-    @GetMapping("/customer/detail")
-    public AjaxResult<TopConversionRateVo> getCustomerDetailData(TopOrderStatisticsBo bo) {
-        return AjaxResult.success(iTopOldOrderService.getCustomerDetailData(bo));
+    @ApiOperation("公海客户列表")
+    @GetMapping("/customer/list")
+    public AjaxResult<List<TopConversionRateTrendVo>> getCustomerListData(TopOrderStatisticsBo bo) {
+        return AjaxResult.success(iTopOldOrderService.getCustomerListData(bo));
     }
 }

+ 3 - 7
zhongzheng-admin/src/main/java/com/zhongzheng/controller/common/CommonController.java

@@ -52,10 +52,7 @@ import com.zhongzheng.modules.goods.bo.GoodsQueryBo;
 import com.zhongzheng.modules.goods.bo.GoodsStudyUrlBo;
 import com.zhongzheng.modules.goods.bo.UserGoodsListBo;
 import com.zhongzheng.modules.goods.service.IGoodsService;
-import com.zhongzheng.modules.goods.vo.GoodsJzsVo;
-import com.zhongzheng.modules.goods.vo.GoodsVo;
-import com.zhongzheng.modules.goods.vo.UserGoodsListVo;
-import com.zhongzheng.modules.goods.vo.UserOrderGoodsListVo;
+import com.zhongzheng.modules.goods.vo.*;
 import com.zhongzheng.modules.grade.bo.*;
 import com.zhongzheng.modules.grade.service.IClassGradeService;
 import com.zhongzheng.modules.grade.service.IClassGradeUserService;
@@ -293,9 +290,8 @@ public class CommonController extends BaseController {
         if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
             return AjaxResult.error("签名错误");
         }
-        List<UserOrderGoodsListVo> voList = iGoodsService.getUserOrderGoods(bo);
-
-        return AjaxResult.success(voList);
+        UserNewGoodsVo goodsVo = iGoodsService.getUserOrderGoods(bo);
+        return AjaxResult.success(goodsVo);
     }
 
     @ApiOperation("校验用户是否有账号")

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsService.java

@@ -151,7 +151,7 @@ public interface IGoodsService extends IService<Goods> {
 
 	String getBusinessName(Long goodsId);
 
-	List<UserOrderGoodsListVo> getUserOrderGoods(UserGoodsListBo bo);
+	UserNewGoodsVo getUserOrderGoods(UserGoodsListBo bo);
 
 	Map<String,String> checkUserAccount(UserGoodsListBo bo);
 

+ 33 - 41
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java

@@ -5081,7 +5081,10 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
     }
 
     @Override
-    public List<UserOrderGoodsListVo> getUserOrderGoods(UserGoodsListBo bo) {
+    public UserNewGoodsVo getUserOrderGoods(UserGoodsListBo bo) {
+        UserNewGoodsVo vo = new UserNewGoodsVo();
+        //祥粤
+        Long tenantId = 867735392558919680L;
         List<User> users = null;
         if (StringUtils.isNotBlank(bo.getIdNum())) {
             users = iUserService.getUserByIdNumNotTenant(bo.getIdNum());
@@ -5093,52 +5096,41 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
             throw new CustomException("用户信息获取有误:" + JSONObject.toJSONString(bo));
         }
         //获取用户订单商品信息
-        List<UserOrderGoodsListVo> voList = new ArrayList<>();
-        users.forEach(item -> {
-            List<UserOrderGoodsListVo> orderGoodsListByUser = baseMapper.getUserOrderGoodsList(item.getUserId());
-            voList.addAll(orderGoodsListByUser);
-        });
-
-        if (CollectionUtils.isEmpty(voList)) {
-            return new ArrayList<>();
+        User user = users.stream().filter(x -> x.getTenantId().equals(tenantId)).findFirst().orElse(null);
+        if (ObjectUtils.isNull(user)){
+            return null;
         }
 
-        for (UserOrderGoodsListVo goodsVo : voList) {
-            User user = users.stream().filter(x -> x.getTenantId().equals(goodsVo.getTenantId())).findFirst().orElse(null);
-            Long tenantId = goodsVo.getTenantId();
-            //缓存用户信息key
-            String key = String.format("KQTZ%s", user.getUserId());
-            SysTenant sysTenant = iSysTenantService.getById(tenantId);
-            //课程
-            String h5Url = "";
-            String pcUrl = "";
-            switch (goodsVo.getCourseType()) {
-                case 1://视频
-                    h5Url = String.format("%s%s/pages/learn/index?skipPort=%s", URL_PREFIX, sysTenant.getHostH5(), key);
-                    pcUrl = String.format("%s%s/person-center/my-course?skipPort=%s", URL_PREFIX, sysTenant.getHostPc(), key);
-                    break;
-                case 2://题库
-                    h5Url = String.format("%s%s/pages/questionBank/index?skipPort=%s", URL_PREFIX, sysTenant.getHostH5(), key);
-                    pcUrl = String.format("%s%s/person-center/my-bank/index?skipPort=%s", URL_PREFIX, sysTenant.getHostPc(), key);
-                    break;
-                case 6://直播
-                    h5Url = String.format("%s%s/pages/learn/index?skipPort=%s", URL_PREFIX, sysTenant.getHostH5(), key);
-                    pcUrl = String.format("%s%s/person-center/my-live?skipPort=%s", URL_PREFIX, sysTenant.getHostPc(), key);
-                    break;
+        //是否校验密码
+        if (ObjectUtils.isNotNull(bo.getPasswordSign()) && bo.getPasswordSign() == 1){
+            if (!bo.getPassword().equals(EncryptHandler.decrypt(user.getPassword()))){
+                throw new CustomException("用户账号密码有误!");
             }
+        }
 
-            goodsVo.setH5Url(h5Url);
-            goodsVo.setPcUrl(pcUrl);
-            UserPhoneBo phoneBo = new UserPhoneBo();
-            phoneBo.setTelphone(bo.getTelphone());
-            phoneBo.setTenantId(tenantId);
-            phoneBo.setIdNum(bo.getIdNum());
+        List<UserOrderGoodsListVo> goodsList = baseMapper.getUserOrderGoodsList(user.getUserId());
+        if (CollectionUtils.isEmpty(goodsList)) {
+            return null;
+        }
 
-            //缓存用户信息
-            redisCache.setCacheObjectTenant(tenantId + ":" + key, JSONObject.toJSONString(phoneBo), 12, TimeUnit.HOURS);
+        //缓存用户信息key
+        String key = String.format("KQTZ%s", user.getUserId());
+        SysTenant sysTenant = iSysTenantService.getById(tenantId);
 
-        }
-        return voList;
+        //视频
+        String h5Url = String.format("%s%s/pages/learn/index?skipPort=%s", URL_PREFIX, sysTenant.getHostH5(), key);
+        String pcUrl = String.format("%s%s/person-center/my-course?skipPort=%s", URL_PREFIX, sysTenant.getHostPc(), key);
+        vo.setH5Url(h5Url);
+        vo.setPcUrl(pcUrl);
+        vo.setGoodsNames(goodsList.stream().limit(3).map(UserOrderGoodsListVo::getCategoryName).collect(Collectors.toList()));
+        UserPhoneBo phoneBo = new UserPhoneBo();
+        phoneBo.setTelphone(bo.getTelphone());
+        phoneBo.setTenantId(tenantId);
+        phoneBo.setIdNum(bo.getIdNum());
+
+        //缓存用户信息
+        redisCache.setCacheObjectTenant(tenantId + ":" + key, JSONObject.toJSONString(phoneBo), 12, TimeUnit.HOURS);
+        return vo;
     }
 
     @Override

+ 25 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/UserNewGoodsVo.java

@@ -0,0 +1,25 @@
+package com.zhongzheng.modules.goods.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author yangdamao
+ * @date 2023年11月08日 9:04
+ */
+@Data
+public class UserNewGoodsVo implements Serializable {
+
+    @ApiModelProperty("课程名称")
+    private List<String> goodsNames;
+
+    @ApiModelProperty("H5跳转路径")
+    private String h5Url;
+
+    @ApiModelProperty("pc跳转路径")
+    private String pcUrl;
+
+}

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/ITopOldOrderService.java

@@ -178,5 +178,5 @@ public interface ITopOldOrderService extends IService<TopOldOrder> {
 
 	List<TopOrderStatisticsDetailVo> getBusinessDetailList(TopOrderStatisticsBo bo);
 
-	TopConversionRateVo getCustomerDetailData(TopOrderStatisticsBo bo);
+	List<TopConversionRateTrendVo> getCustomerListData(TopOrderStatisticsBo bo);
 }

+ 22 - 6
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopOldOrderServiceImpl.java

@@ -3443,21 +3443,37 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
     }
 
     @Override
-    public TopConversionRateVo getCustomerDetailData(TopOrderStatisticsBo bo) {
-        TopConversionRateVo rateVo = new TopConversionRateVo();
+    public List<TopConversionRateTrendVo> getCustomerListData(TopOrderStatisticsBo bo) {
+        //筛选时间处理
+        if (ObjectUtils.isNull(bo.getStartTime()) && ObjectUtils.isNull(bo.getEndTime())){
+            //没有选择时间范围,默认为当前时间向前推30天
+            Long nowTime = DateUtils.getNowTime();
+            Long dayBefore = DateUtils.getDayBefore(nowTime, 30);
+            bo.setStartTime(dayBefore);
+            bo.setEndTime(nowTime);
+        }
+        List<TopConversionRateTrendVo> trendVos = new ArrayList<>();
         Map<String, String> params = new HashMap<>();
         Long nowTime = DateUtils.getNowTime();
         String sign = ToolsUtils.EncoderByMd5(nowTime.toString() + "pubilc2022");
         params.put("stamp", nowTime.toString());
         params.put("sign", sign);
         params.put("type", bo.getType().toString());
-        params.put("page", bo.getPageNum().toString());
-        params.put("pagesize", bo.getPageSize().toString());
+        if (ObjectUtils.isNotNull(bo.getStartTime())){
+            params.put("begintime", DateUtils.timestampToDateFormat(bo.getStartTime(),"yyyy/MM/dd"));
+        }
+        if (ObjectUtils.isNotNull(bo.getEndTime())){
+            params.put("endtime", DateUtils.timestampToDateFormat(bo.getEndTime(),"yyyy/MM/dd"));
+        }
         if (ObjectUtils.isNotNull(bo.getTenantId())){
             params.put("orgid", bo.getTenantId().toString());
+        }else {
+            params.put("orgid", "1");
         }
         if (ObjectUtils.isNotNull(bo.getCustomerId())){
             params.put("saleid", bo.getCustomerId().toString());
+        }else {
+            params.put("saleid", "0");
         }
         String respone = "";
         try {
@@ -3468,13 +3484,13 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
             JSONObject jsonObject = JSONObject.parseObject(respone);
             Object data = jsonObject.get("Data");
             if (ObjectUtils.isNotNull(data)){
-                rateVo = JSONObject.parseObject(JSONObject.toJSONString(data), TopConversionRateVo.class);
+                trendVos = JSONArray.parseArray(JSONObject.toJSONString(data),TopConversionRateTrendVo.class);
             }
         }catch (Exception e){
             e.printStackTrace();
             throw new CustomException("公海客户转化排行接口错误");
         }
-        return rateVo;
+        return trendVos;
     }
 
     private List<Long> getDayTime(Long startTime,Long endTime){