yangdamao 5 сар өмнө
parent
commit
55912a9b81

+ 15 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/cmmon/ActivityRecommendController.java

@@ -3,12 +3,15 @@ package com.zhongzheng.controller.cmmon;
 import com.zhongzheng.common.core.controller.BaseController;
 import com.zhongzheng.common.core.domain.AjaxResult;
 import com.zhongzheng.common.core.page.TableDataInfo;
+import com.zhongzheng.common.exception.CustomException;
+import com.zhongzheng.common.utils.ToolsUtils;
 import com.zhongzheng.modules.activity.bo.ActivityRecommendGoodsQueryBo;
 import com.zhongzheng.modules.activity.bo.ActivityRecommendQueryBo;
 import com.zhongzheng.modules.activity.service.IActivityRecommendService;
 import com.zhongzheng.modules.activity.vo.ActivityRecommendGoodsVo;
 import com.zhongzheng.modules.activity.vo.ActivityRecommendVo;
 import com.zhongzheng.modules.course.vo.CourseSubjectVo;
+import com.zhongzheng.modules.order.bo.CommonOfficialBo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
@@ -66,4 +69,16 @@ public class ActivityRecommendController extends BaseController {
         return AjaxResult.success(iActivityRecommendService.getSubjectList(bo));
     }
 
+    /**
+     * 推荐商品列表
+     */
+    @ApiOperation("推荐商品列表(官网项目)")
+    @PostMapping("/official/list")
+    public AjaxResult<List<ActivityRecommendVo>> officialList(@RequestBody CommonOfficialBo bo) {
+        if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
+            throw new CustomException("签名错误");
+        }
+        return AjaxResult.success(iActivityRecommendService.officialList(bo));
+    }
+
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityRecommendService.java

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.zhongzheng.modules.activity.vo.ActivityRecommendGoodsVo;
 import com.zhongzheng.modules.activity.vo.ActivityRecommendVo;
 import com.zhongzheng.modules.course.vo.CourseSubjectVo;
+import com.zhongzheng.modules.order.bo.CommonOfficialBo;
 
 import java.util.Collection;
 import java.util.List;
@@ -61,4 +62,7 @@ public interface IActivityRecommendService extends IService<ActivityRecommend> {
 	TableDataInfo<ActivityRecommendGoodsVo> getGoodsList(ActivityRecommendGoodsQueryBo bo);
 
 	List<CourseSubjectVo> getSubjectList(ActivityRecommendGoodsQueryBo bo);
+
+	List<ActivityRecommendVo> officialList(CommonOfficialBo bo);
+
 }

+ 34 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityRecommendServiceImpl.java

@@ -27,6 +27,7 @@ import com.zhongzheng.modules.goods.domain.GoodsSpecAttributeRelation;
 import com.zhongzheng.modules.goods.service.IGoodsService;
 import com.zhongzheng.modules.goods.service.IGoodsSpecAttributeRelationService;
 import com.zhongzheng.modules.goods.service.IGoodsSpecTemplateService;
+import com.zhongzheng.modules.order.bo.CommonOfficialBo;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -278,4 +279,37 @@ public class ActivityRecommendServiceImpl extends ServiceImpl<ActivityRecommendM
         List<CourseSubject> subjects = iCourseSubjectService.listByIds(subjectIds);
         return subjects.stream().map(item -> BeanUtil.toBean(item,CourseSubjectVo.class)).collect(Collectors.toList());
     }
+
+    @Override
+    public List<ActivityRecommendVo> officialList(CommonOfficialBo bo) {
+        ActivityRecommendQueryBo queryBo = new ActivityRecommendQueryBo();
+        queryBo.setStatusList(Arrays.asList(bo.getStatus()));
+        queryBo.setPlatform(bo.getPlatform());
+        List<ActivityRecommendVo> activityRecommendVos = baseMapper.selectListByBo(queryBo);
+        if (CollectionUtils.isEmpty(activityRecommendVos)){
+            return new ArrayList<>();
+        }
+        List<ActivityRecommendVo> collect = activityRecommendVos.stream().sorted(Comparator.comparing(ActivityRecommendVo::getType).thenComparing(ActivityRecommendVo::getSort)).collect(Collectors.toList());
+        for (ActivityRecommendVo recommendVo : collect) {
+            //获取商品
+            List<ActivityRecommendGoods> list = iActivityRecommendGoodsService.list(new LambdaQueryWrapper<ActivityRecommendGoods>()
+                    .eq(ActivityRecommendGoods::getRecommendId, recommendVo.getRecommendId())
+                    .orderByAsc(ActivityRecommendGoods::getSort));
+            if (CollectionUtils.isEmpty(list)){
+                List<Goods> goods = iGoodsService.list(new LambdaQueryWrapper<Goods>()
+                        .in(Goods::getGoodsId,list.stream().map(ActivityRecommendGoods::getGoodsId).collect(Collectors.toList()))
+                        .last("limit 5"));
+                List<ActivityRecommendGoodsVo> collect1 = goods.stream().map(item -> {
+                    ActivityRecommendGoodsVo vo = new ActivityRecommendGoodsVo();
+                    vo.setGoodsId(item.getGoodsId());
+                    vo.setGoodsName(item.getGoodsName());
+                    vo.setStandPrice(item.getStandPrice());
+                    vo.setCoverUrl(item.getCoverUrl());
+                    return vo;
+                }).collect(Collectors.toList());
+                recommendVo.setGoodsList(collect1);
+            }
+        }
+        return activityRecommendVos;
+    }
 }

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/CommonOfficialBo.java

@@ -22,4 +22,10 @@ public class CommonOfficialBo implements Serializable {
     @NotBlank(message = "签名不能为空")
     private String sign;
 
+    @ApiModelProperty("来源")
+    private Integer platform;
+
+    @ApiModelProperty("状态")
+    private Integer status;
+
 }