소스 검색

充值权益活动相关接口调试

skyline 2 년 전
부모
커밋
6b3f44d050

+ 7 - 6
admin/src/main/java/com/kym/admin/controller/ActivityController.java

@@ -25,24 +25,25 @@ public class ActivityController {
         this.activityService = activityService;
     }
 
-    @SysLog("新增活动")
+    @SysLog(value = "新增活动", ignoreParams = true)
     @PostMapping
     R<?> createActivity(@RequestBody ActivityVo activityVo) {
-        return R.success(activityService.createActivity(activityVo));
+        activityService.createActivity(activityVo);
+        return R.success();
     }
 
     // TODO: 2023-10-18 修改活动
 
     @SysLog("活动列表")
     @GetMapping
-    R<?> listActivity(@RequestBody ActivityQueryParam params) {
+    R<?> listActivity(@ModelAttribute ActivityQueryParam params) {
         return R.success(activityService.listActivity(params));
     }
 
     @SysLog("活动详情")
-    @GetMapping("/activityDetail")
-    R<?> activityDetail(@ModelAttribute ActivityQueryParam params) {
-        return R.success(activityService.activityDetail(params));
+    @GetMapping("/{activityId}")
+    R<?> activityDetail(@PathVariable("activityId") String activityId) {
+        return R.success(activityService.activityDetail(activityId));
     }
 
     @SysLog("终止活动")

+ 9 - 6
entity/src/main/java/com/kym/entity/admin/Activity.java

@@ -1,6 +1,7 @@
 package com.kym.entity.admin;
 
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.kym.entity.BaseEntity;
 import java.io.Serializable;
 import java.time.LocalDateTime;
@@ -22,7 +23,7 @@ import lombok.experimental.Accessors;
 @Accessors(chain = true)
 public class Activity extends BaseEntity {
 
-    public final static String DISCOUNT_TYPE_服务费折扣权益 = "Recharge_Rights";
+    public final static String DISCOUNT_TYPE_服务费折扣权益 = "RechargeRights";
     public final static String DISCOUNT_TYPE_优惠券 = "Coupon";
 
     public final static int APPLY_STATION_全部站点 = 0;
@@ -45,11 +46,13 @@ public class Activity extends BaseEntity {
     /**
      * 开始时间
      */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime startTime;
 
     /**
      * 结束时间
      */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime endTime;
 
     /**
@@ -60,27 +63,27 @@ public class Activity extends BaseEntity {
     /**
      * 目标用户:0-全部,1-新用户,2-老用户
      */
-    private int targetUsers;
+    private Integer targetUsers;
 
     /**
      * 适用站点:0-全部,1-部分站点(详见活动-站点关联表)
      */
-    private int applyStation;
+    private Integer applyStation;
 
     /**
      * 优惠允许叠加:0-不允许,1-允许
      */
-    private int allowStacke;
+    private Integer allowStacke;
 
     /**
      * 数量限制
      */
-    private Integer limit;
+    private Integer quantity;
 
     /**
      * 活动状态:0-未开始,1-进行中,2-已结束,3-已取消
      */
-    private int status;
+    private Integer status;
 
     /**
      * 备注

+ 6 - 3
entity/src/main/java/com/kym/entity/admin/RechargeRights.java

@@ -1,6 +1,7 @@
 package com.kym.entity.admin;
 
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.kym.entity.BaseEntity;
 import java.io.Serializable;
 import java.time.LocalDateTime;
@@ -42,11 +43,13 @@ public class RechargeRights extends BaseEntity {
     /**
      * 开始时间(继承自活动主表)
      */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime startTime;
 
     /**
      * 结束时间(继承自活动主表)
      */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime endTime;
 
     /**
@@ -72,17 +75,17 @@ public class RechargeRights extends BaseEntity {
     /**
      * 优惠允许叠加:0-不允许,1-允许(继承自活动主表)
      */
-    private Byte allowStacke;
+    private Integer allowStacke;
 
     /**
      * 数量限制(继承自活动主表)
      */
-    private Integer limit;
+    private Integer quantity;
 
     /**
      * 活动状态:0-未开始,1-进行中,2-已结束,3-已取消(继承自活动主表)
      */
-    private Byte status;
+    private Integer status;
 
     /**
      * 备注

+ 14 - 5
entity/src/main/java/com/kym/entity/admin/vo/ActivityVo.java

@@ -1,7 +1,9 @@
 package com.kym.entity.admin.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.kym.entity.BaseEntity;
 import com.kym.entity.admin.RechargeRights;
+import com.kym.entity.admin.Station;
 import lombok.Data;
 
 import java.time.LocalDateTime;
@@ -28,11 +30,13 @@ public class ActivityVo extends BaseEntity {
     /**
      * 开始时间
      */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime startTime;
 
     /**
      * 结束时间
      */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime endTime;
 
     /**
@@ -43,27 +47,27 @@ public class ActivityVo extends BaseEntity {
     /**
      * 目标用户:0-全部,1-新用户,2-老用户
      */
-    private Byte targetUsers;
+    private Integer targetUsers;
 
     /**
      * 适用站点:0-全部,1-部分站点(详见活动-站点关联表)
      */
-    private Byte applyStation;
+    private Integer applyStation;
 
     /**
      * 优惠允许叠加:0-不允许,1-允许
      */
-    private Byte allowStacke;
+    private Integer allowStacke;
 
     /**
      * 数量限制
      */
-    private Integer limit;
+    private Integer quantity;
 
     /**
      * 活动状态:0-未开始,1-进行中,2-已结束,3-已取消
      */
-    private Byte status;
+    private Integer status;
 
     /**
      * 备注
@@ -75,6 +79,11 @@ public class ActivityVo extends BaseEntity {
      */
     List<String> stationIds;
 
+    /**
+     * 站点id
+     */
+    List<Station> stationList;
+
     /**
      * 充值权益列表
      */

+ 2 - 2
mapper/src/main/resources/mappers/admin/ActivityMapper.xml

@@ -11,14 +11,14 @@
         <result column="target_users" property="targetUsers" />
         <result column="apply_station" property="applyStation" />
         <result column="allow_stacke" property="allowStacke" />
-        <result column="limit" property="limit" />
+        <result column="quantity" property="quantity" />
         <result column="status" property="status" />
         <result column="remark" property="remark" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        name, start_time, end_time, discount_type, target_users, apply_station, allow_stacke, limit, status, remark
+        id,name, start_time, end_time, discount_type, target_users, apply_station, allow_stacke, quantity, status, remark,create_time,update_time
     </sql>
 
 </mapper>

+ 2 - 2
mapper/src/main/resources/mappers/admin/RechargeRightsMapper.xml

@@ -14,14 +14,14 @@
         <result column="amount_max" property="amountMax" />
         <result column="discount" property="discount" />
         <result column="allow_stacke" property="allowStacke" />
-        <result column="limit" property="limit" />
+        <result column="quantity" property="quantity" />
         <result column="status" property="status" />
         <result column="remark" property="remark" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id,activity_id, name, rights_desc, start_time, end_time,validity, amount_min, amount_max, discount, allow_stacke, limit, status, remark,create_time,update_time
+        id,activity_id, name, rights_desc, start_time, end_time,validity, amount_min, amount_max, discount, allow_stacke, quantity, status, remark,create_time,update_time
     </sql>
 
 </mapper>

+ 2 - 4
service/src/main/java/com/kym/service/admin/ActivityService.java

@@ -6,8 +6,6 @@ import com.kym.entity.admin.queryParams.ActivityQueryParam;
 import com.kym.entity.admin.vo.ActivityVo;
 import com.kym.entity.common.PageBean;
 
-import java.util.HashMap;
-
 /**
  * <p>
  * 服务类
@@ -18,11 +16,11 @@ import java.util.HashMap;
  */
 public interface ActivityService extends IService<Activity> {
 
-    ActivityVo createActivity(ActivityVo activityVo);
+    void createActivity(ActivityVo activityVo);
 
     PageBean<Activity> listActivity(ActivityQueryParam params);
 
-    HashMap<String, Object> activityDetail(ActivityQueryParam params);
+    ActivityVo activityDetail(String params);
 
     void terminateActivity(String activityId);
 

+ 16 - 14
service/src/main/java/com/kym/service/admin/impl/ActivityServiceImpl.java

@@ -26,7 +26,6 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
 import java.time.LocalTime;
-import java.util.HashMap;
 
 import static com.kym.entity.admin.Activity.APPLY_STATION_部分站点;
 import static com.kym.entity.admin.Activity.DISCOUNT_TYPE_服务费折扣权益;
@@ -67,7 +66,7 @@ public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> i
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public ActivityVo createActivity(ActivityVo activityVo) {
+    public void createActivity(ActivityVo activityVo) {
         // 新增activity
         var activity = new Activity();
         activity.setId(IDGenerator.INS().nextId());
@@ -82,12 +81,13 @@ public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> i
 
         // 新增rechargeRights
         if (activityVo.getDiscountType().equals(DISCOUNT_TYPE_服务费折扣权益) && !CommUtil.isEmptyOrNull(activityVo.getRechargeRightsList())) {
-            var rechargeRightsList = activityVo.getRechargeRightsList().stream().peek(rechargeRights -> BeanUtils.copyProperties(activity, rechargeRights)).toList();
+            var rechargeRightsList = activityVo.getRechargeRightsList().stream().peek(rechargeRights -> {
+                BeanUtils.copyProperties(activity, rechargeRights, "id");
+                rechargeRights.setActivityId(activity.getId());
+            }).toList();
             rechargeRightsService.saveBatch(rechargeRightsList);
             activityVo.setRechargeRightsList(rechargeRightsList);
         }
-
-        return activityVo;
     }
 
     /**
@@ -111,20 +111,22 @@ public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> i
     /**
      * 活动详情
      *
-     * @param params
+     * @param activityId
      * @return
      */
     @Override
-    public HashMap<String, Object> activityDetail(ActivityQueryParam params) {
-        var res = new HashMap<String, Object>(2);
-        if (params.getDiscountType().equals(DISCOUNT_TYPE_服务费折扣权益)) {
-            var rechargeRightsList = rechargeRightsService.lambdaQuery().eq(RechargeRights::getActivityId, params.getId()).list();
-            res.put("rechargeRightsList", rechargeRightsList);
-            var activityStationIds = activityStationService.lambdaQuery().eq(ActivityStation::getActivityId, params.getId()).list().stream().map(ActivityStation::getStationId).toList();
+    public ActivityVo activityDetail(String activityId) {
+        var activity = lambdaQuery().eq(Activity::getId, activityId).one();
+        var activityVo = new ActivityVo();
+        BeanUtils.copyProperties(activity, activityVo);
+        if (activity.getDiscountType().equals(DISCOUNT_TYPE_服务费折扣权益)) {
+            var rechargeRightsList = rechargeRightsService.lambdaQuery().eq(RechargeRights::getActivityId, activityId).list();
+            activityVo.setRechargeRightsList(rechargeRightsList);
+            var activityStationIds = activityStationService.lambdaQuery().eq(ActivityStation::getActivityId, activityId).list().stream().map(ActivityStation::getStationId).toList();
             var stationList = stationService.lambdaQuery().in(Station::getStationId, activityStationIds).list();
-            res.put("stationList", stationList);
+            activityVo.setStationList(stationList);
         }
-        return res;
+        return activityVo;
     }
 
     /**