yangdamao преди 3 години
родител
ревизия
7f13681ba5
променени са 14 файла, в които са добавени 231 реда и са изтрити 1 реда
  1. 10 0
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/exam/ExamActivityController.java
  2. 11 0
      zhongzheng-api/src/main/java/com/zhongzheng/controller/cmmon/CommonController.java
  3. 35 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamActivityGoodsAddBo.java
  4. 45 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/domain/ExamActivityGoods.java
  5. 20 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/mapper/ExamActivityGoodsMapper.java
  6. 17 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/IExamActivityGoodsService.java
  7. 10 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/IExamActivityService.java
  8. 35 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamActivityGoodsServiceImpl.java
  9. 32 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamActivityServiceImpl.java
  10. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsAddBo.java
  11. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsEditBo.java
  12. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/Goods.java
  13. 6 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsVo.java
  14. 1 1
      zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsMapper.xml

+ 10 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/exam/ExamActivityController.java

@@ -33,6 +33,7 @@ import java.util.List;
 public class ExamActivityController extends BaseController {
 
     private final IExamActivityService iExamActivityService;
+    private final IExamActivityGoodsService iExamActivityGoodsService;
 
     /**
      * 新增活动
@@ -98,4 +99,13 @@ public class ExamActivityController extends BaseController {
         return util.exportExcel(list,"模考活动用户");
     }
 
+    /**
+     * 新增活动商品
+     */
+    @ApiOperation("新增活动商品")
+    @PostMapping("/add/goodsList")
+    public AjaxResult<Void> addActivityGoods(@RequestBody List<ExamActivityGoodsAddBo> goodsList) {
+        return toAjax(iExamActivityGoodsService.addActivityGoods(goodsList) ? 1 : 0);
+    }
+
 }

+ 11 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/cmmon/CommonController.java

@@ -18,6 +18,7 @@ import com.zhongzheng.modules.exam.bo.ExamActivityApplyVo;
 import com.zhongzheng.modules.exam.service.IExamActivityService;
 import com.zhongzheng.modules.exam.vo.ExamActivityVo;
 import com.zhongzheng.modules.goods.vo.GoodsUserVo;
+import com.zhongzheng.modules.goods.vo.GoodsVo;
 import com.zhongzheng.modules.order.domain.Printer;
 import com.zhongzheng.modules.wx.bo.WxServerBody;
 import com.zhongzheng.modules.wx.domain.*;
@@ -103,6 +104,16 @@ public class CommonController extends BaseController {
         return AjaxResult.success(vo);
     }
 
+    /**
+     * 获取考试活动商品
+     */
+    @ApiOperation("获取考试活动商品")
+    @GetMapping("/activity/goodsList/{activityId}")
+    public AjaxResult<List<GoodsVo>> getActivityGoodsList(@PathVariable("activityId") Long activityId) {
+        List<GoodsVo> voList = iExamActivityService.getActivityGoodsList(activityId);
+        return AjaxResult.success(voList);
+    }
+
     @ApiOperation("小程序配置")
     @GetMapping("/config")
     public AjaxResult<Map<String,Object>> config(ConfigQueryBo bo) {

+ 35 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamActivityGoodsAddBo.java

@@ -0,0 +1,35 @@
+package com.zhongzheng.modules.exam.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 考试活动对象 exam_activity
+ *
+ * @author yangdamao
+ * @date 2021-12-07
+ */
+@Data
+@ApiModel("活动商品新增BO")
+public class ExamActivityGoodsAddBo implements Serializable {
+
+    /** 活动ID */
+    @ApiModelProperty("活动ID")
+    private Long activityId;
+
+    @ApiModelProperty("活动商品ID")
+    private Long goodsId;
+
+    /**排序字段 */
+    @ApiModelProperty("排序字段")
+    private Integer sort;
+
+    /**1有效 0无效 */
+    @ApiModelProperty("1有效 0无效")
+    private Integer status;
+
+}

+ 45 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/domain/ExamActivityGoods.java

@@ -0,0 +1,45 @@
+package com.zhongzheng.modules.exam.domain;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * 考试活动对象 exam_activity
+ *
+ * @author yangdamao
+ * @date 2021-12-07
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("exam_activity_goods")
+public class ExamActivityGoods implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+    /** $column.columnComment */
+    @TableId(value = "id")
+    private Long id;
+    /** 活动ID */
+    private Long activityId;
+    /** 商品ID */
+    private Long goodsId;
+    /** 排序字段 */
+    private Integer sort;
+    /** 1有效 0无效 */
+    private Integer status;
+    /** 创建时间 */
+    @TableField(fill = FieldFill.INSERT)
+    private Long createTime;
+    /** 更新时间 */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Long updateTime;
+
+}

+ 20 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/mapper/ExamActivityGoodsMapper.java

@@ -0,0 +1,20 @@
+package com.zhongzheng.modules.exam.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.exam.bo.ExamActivityQueryBo;
+import com.zhongzheng.modules.exam.bo.ExamActivityUserVo;
+import com.zhongzheng.modules.exam.domain.ExamActivity;
+import com.zhongzheng.modules.exam.domain.ExamActivityGoods;
+import com.zhongzheng.modules.exam.vo.ExamActivityVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 考试活动商品Mapper接口
+ *
+ * @author yangdamao
+ * @date 2021-12-07
+ */
+public interface ExamActivityGoodsMapper extends BaseMapper<ExamActivityGoods> {
+}

+ 17 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/IExamActivityGoodsService.java

@@ -0,0 +1,17 @@
+package com.zhongzheng.modules.exam.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.modules.exam.bo.ExamActivityGoodsAddBo;
+import com.zhongzheng.modules.exam.domain.ExamActivityGoods;
+
+import java.util.List;
+
+/**
+ * 考试活动Service接口
+ *
+ * @author yangdamao
+ * @date 2021-12-07
+ */
+public interface IExamActivityGoodsService extends IService<ExamActivityGoods> {
+    boolean addActivityGoods(List<ExamActivityGoodsAddBo> goodsList);
+}

+ 10 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/IExamActivityService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.zhongzheng.modules.exam.bo.*;
 import com.zhongzheng.modules.exam.domain.ExamActivity;
 import com.zhongzheng.modules.exam.vo.ExamActivityVo;
+import com.zhongzheng.modules.goods.vo.GoodsVo;
 
 import java.util.List;
 
@@ -76,4 +77,13 @@ public interface IExamActivityService extends IService<ExamActivity> {
      * @return java.lang.String
      */
     String getActivityApplyCode(Long activityId);
+
+    /**
+     *
+     * @author change
+     * @date 2022/9/12 13:53
+     * @param activityId
+     * @return java.util.List<com.zhongzheng.modules.goods.vo.GoodsVo>
+     */
+    List<GoodsVo> getActivityGoodsList(Long activityId);
 }

+ 35 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamActivityGoodsServiceImpl.java

@@ -0,0 +1,35 @@
+package com.zhongzheng.modules.exam.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.modules.exam.bo.ExamActivityGoodsAddBo;
+import com.zhongzheng.modules.exam.domain.ExamActivityGoods;
+import com.zhongzheng.modules.exam.mapper.ExamActivityGoodsMapper;
+import com.zhongzheng.modules.exam.service.IExamActivityGoodsService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 考试活动Service业务层处理
+ *
+ * @author yangdamao
+ * @date 2021-12-07
+ */
+@Service
+public class ExamActivityGoodsServiceImpl extends ServiceImpl<ExamActivityGoodsMapper, ExamActivityGoods> implements IExamActivityGoodsService {
+    @Override
+    public boolean addActivityGoods(List<ExamActivityGoodsAddBo> goodsList) {
+        List<ExamActivityGoods> goods = goodsList.stream().map(item -> {
+            ExamActivityGoods entity = new ExamActivityGoods();
+            BeanUtils.copyProperties(item, entity);
+            entity.setCreateTime(DateUtils.getNowTime());
+            entity.setUpdateTime(DateUtils.getNowTime());
+            entity.setStatus(1);
+            return entity;
+        }).collect(Collectors.toList());
+        return this.saveBatch(goods);
+    }
+}

+ 32 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamActivityServiceImpl.java

@@ -1,23 +1,32 @@
 package com.zhongzheng.modules.exam.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zhongzheng.common.core.domain.model.LoginUser;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.SecurityUtils;
 import com.zhongzheng.modules.exam.bo.*;
 import com.zhongzheng.modules.exam.domain.ExamActivity;
+import com.zhongzheng.modules.exam.domain.ExamActivityGoods;
 import com.zhongzheng.modules.exam.domain.ExamActivityUser;
 import com.zhongzheng.modules.exam.mapper.ExamActivityMapper;
+import com.zhongzheng.modules.exam.service.IExamActivityGoodsService;
 import com.zhongzheng.modules.exam.service.IExamActivityService;
 import com.zhongzheng.modules.exam.service.IExamActivityUserService;
 import com.zhongzheng.modules.exam.vo.ExamActivityVo;
+import com.zhongzheng.modules.goods.domain.Goods;
+import com.zhongzheng.modules.goods.service.IGoodsService;
+import com.zhongzheng.modules.goods.vo.GoodsVo;
 import com.zhongzheng.modules.wx.service.IWxLoginService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 考试活动Service业务层处理
@@ -31,6 +40,10 @@ public class ExamActivityServiceImpl extends ServiceImpl<ExamActivityMapper, Exa
     @Autowired
     private IExamActivityUserService iExamActivityUserService;
     @Autowired
+    private IExamActivityGoodsService iExamActivityGoodsService;
+    @Autowired
+    private IGoodsService iGoodsService;
+    @Autowired
     private IWxLoginService wxLoginService;
 
     @Override
@@ -89,4 +102,23 @@ public class ExamActivityServiceImpl extends ServiceImpl<ExamActivityMapper, Exa
     public String getActivityApplyCode(Long activityId) {
         return wxLoginService.getActivityApplyCode(activityId);
     }
+
+    @Override
+    public List<GoodsVo> getActivityGoodsList(Long activityId) {
+        List<ExamActivityGoods> list = iExamActivityGoodsService.list(new LambdaQueryWrapper<ExamActivityGoods>()
+                .eq(ExamActivityGoods::getActivityId, activityId)
+                .eq(ExamActivityGoods::getStatus, 1)
+                .orderByDesc(ExamActivityGoods::getSort));
+        if (CollectionUtils.isEmpty(list)){
+            return new ArrayList<>();
+        }
+        List<GoodsVo> goodsVoList = list.stream().map(item -> {
+            GoodsVo goodsVo = new GoodsVo();
+            Goods goods = iGoodsService.getById(item.getGoodsId());
+            BeanUtils.copyProperties(goods, goodsVo);
+            goodsVo.setSort(item.getSort());
+            return goodsVo;
+        }).collect(Collectors.toList());
+        return goodsVoList;
+    }
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsAddBo.java

@@ -175,4 +175,7 @@ public class GoodsAddBo {
     /** 证书模板ID */
     @ApiModelProperty("证书模板ID")
     private Long certificateTpId;
+    /** 商品划线价格 */
+    @ApiModelProperty("商品划线价格")
+    private BigDecimal linePrice;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsEditBo.java

@@ -209,4 +209,7 @@ public class GoodsEditBo {
     /** 证书模板ID */
     @ApiModelProperty("证书模板ID")
     private Long certificateTpId;
+    /** 商品划线价格 */
+    @ApiModelProperty("商品划线价格")
+    private BigDecimal linePrice;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/Goods.java

@@ -1,6 +1,7 @@
 package com.zhongzheng.modules.goods.domain;
 
 import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
@@ -136,4 +137,6 @@ private static final long serialVersionUID=1L;
     private Long certificateId;
     /** 证书模板ID */
     private Long certificateTpId;
+    /** 商品划线价格 */
+    private BigDecimal linePrice;
 }

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsVo.java

@@ -311,4 +311,10 @@ public class GoodsVo {
 	@ApiModelProperty("商品章卷数量")
 	private Long examNum;
 
+	/** 商品划线价格 */
+	@ApiModelProperty("商品划线价格")
+	private BigDecimal linePrice;
+	/** 排序字段 */
+	@ApiModelProperty("排序字段")
+	private Integer sort;
 }

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsMapper.xml

@@ -126,7 +126,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="buyUserNum" column="buy_user_num"/>
         <result property="chapterNum" column="chapter_num"/>
         <result property="examNum" column="exam_num"/>
-
+        <result property="linePrice" column="line_price"/>
     </resultMap>
 
     <resultMap type="com.zhongzheng.modules.exam.vo.ExamNumberGoodsVo" id="ExamNumberGoodsVoResult">