skyline 1 vuosi sitten
vanhempi
säilyke
b77f329355

+ 84 - 0
entity/src/main/java/com/kym/entity/admin/queryParams/RightsQueryParam.java

@@ -0,0 +1,84 @@
+package com.kym.entity.admin.queryParams;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.kym.entity.common.PageParams;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 权益查询参数
+ * </p>
+ *
+ * @author skyline
+ * @since 2024-07-15
+ */
+@Data
+@Accessors(chain = true)
+public class RightsQueryParam extends PageParams {
+
+    /**
+     * id
+     */
+    private Long rightsId;
+
+    /**
+     * 权益名称
+     */
+    private String rightsName;
+
+    /**
+     * 主活动id
+     */
+    private Long activityId;
+
+    /**
+     * 主活动名称
+     */
+    private String activityName;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 用户手机号
+     */
+    private String mobilePhone;
+
+
+    /**
+     * 优惠券描述
+     */
+    private String rightsDesc;
+
+    /**
+     * 开始时间
+     */
+    @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;
+
+    /**
+     * 活动状态:0-未开始,1-进行中,2-已结束,3-已取消
+     */
+    private Integer status;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 站点id
+     */
+    private String stationId;
+}

+ 1 - 1
miniapp/src/main/java/com/kym/miniapp/controller/CouponController.java

@@ -35,7 +35,7 @@ public class CouponController {
      */
     @GetMapping(value = "/listAvailableCoupons")
     public R<?> listAvailableCoupons(@ModelAttribute CouponQueryParam params) {
-        return R.success(couponService.listRightsAndCoupons(params));
+        return R.success(couponService.listAvailableCoupons(params));
     }
 
     /**

+ 41 - 0
miniapp/src/main/java/com/kym/miniapp/controller/RechargeRightsController.java

@@ -0,0 +1,41 @@
+package com.kym.miniapp.controller;
+
+import com.kym.common.R;
+import com.kym.entity.admin.queryParams.RightsQueryParam;
+import com.kym.service.admin.RechargeRightsService;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 用户优惠券 前端控制器
+ * </p>
+ *
+ * @author skyline
+ * @since 2024-04-29
+ */
+@RestController
+@RequestMapping("/rechargeRights")
+public class RechargeRightsController {
+
+    private final RechargeRightsService rechargeRightsService;
+
+
+    public RechargeRightsController(RechargeRightsService rechargeRightsService) {
+        this.rechargeRightsService = rechargeRightsService;
+    }
+
+    /**
+     * 获取当前站点参与的充值权益活动列表
+     *
+     * @param params
+     * @return
+     */
+    @GetMapping(value = "/listAvailableRechargeRights")
+    public R<?> listAvailableCoupons(@ModelAttribute RightsQueryParam params) {
+        return R.success(rechargeRightsService.listAvailableRechargeRights(params));
+    }
+
+}

+ 1 - 1
service/src/main/java/com/kym/service/admin/CouponService.java

@@ -19,5 +19,5 @@ public interface CouponService extends MPJBaseService<Coupon> {
 
     void issueCoupons(UserCouponsIssueVo userCouponsIssue);
 
-    PageBean<Coupon> listRightsAndCoupons(CouponQueryParam params);
+    PageBean<Coupon> listAvailableCoupons(CouponQueryParam params);
 }

+ 3 - 0
service/src/main/java/com/kym/service/admin/RechargeRightsService.java

@@ -2,6 +2,7 @@ package com.kym.service.admin;
 
 import com.github.yulichang.base.MPJBaseService;
 import com.kym.entity.admin.RechargeRights;
+import com.kym.entity.admin.queryParams.RightsQueryParam;
 import com.kym.entity.common.PageBean;
 import com.kym.entity.common.PageParams;
 
@@ -15,5 +16,7 @@ import com.kym.entity.common.PageParams;
  */
 public interface RechargeRightsService extends MPJBaseService<RechargeRights> {
 
+    PageBean<RechargeRights> listAvailableRechargeRights(RightsQueryParam params);
+
     PageBean<RechargeRights> listRechargeRight(PageParams pageParams, String activityId);
 }

+ 3 - 0
service/src/main/java/com/kym/service/admin/impl/ActivityServiceImpl.java

@@ -209,6 +209,9 @@ public class ActivityServiceImpl extends MyBaseServiceImpl<ActivityMapper, Activ
             }
             // 修改活动状态
             lambdaUpdate().set(Activity::getStatus, Activity.STATUS_已结束).eq(Activity::getId, activityId).update();
+
+            // 修改站点活动关联表状态
+            activityStationService.lambdaUpdate().set(ActivityStation::getStatus, Activity.STATUS_已结束).eq(ActivityStation::getActivityId, activityId).update();
         }
 
     }

+ 1 - 1
service/src/main/java/com/kym/service/admin/impl/CouponServiceImpl.java

@@ -120,7 +120,7 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme
 
     @Override
     @DS("db-admin")
-    public PageBean<Coupon> listRightsAndCoupons(CouponQueryParam params) {
+    public PageBean<Coupon> listAvailableCoupons(CouponQueryParam params) {
         if (CommUtil.isEmptyOrNull(params.getStationId())) {
             throw new BusinessException("请选择充电站点");
         }

+ 31 - 0
service/src/main/java/com/kym/service/admin/impl/RechargeRightsServiceImpl.java

@@ -1,15 +1,24 @@
 package com.kym.service.admin.impl;
 
+import com.baomidou.dynamic.datasource.annotation.DS;
 import com.github.pagehelper.PageHelper;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.github.yulichang.toolkit.JoinWrappers;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.kym.common.exception.BusinessException;
 import com.kym.common.utils.CommUtil;
+import com.kym.entity.admin.ActivityStation;
+import com.kym.entity.admin.Coupon;
 import com.kym.entity.admin.RechargeRights;
+import com.kym.entity.admin.queryParams.RightsQueryParam;
 import com.kym.entity.common.PageBean;
 import com.kym.entity.common.PageParams;
 import com.kym.mapper.admin.RechargeRightsMapper;
 import com.kym.service.admin.RechargeRightsService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 充值权益表 服务实现类
@@ -19,8 +28,30 @@ import org.springframework.stereotype.Service;
  * @since 2023-10-18
  */
 @Service
+@DS("db-admin")
 public class RechargeRightsServiceImpl extends MPJBaseServiceImpl<RechargeRightsMapper, RechargeRights> implements RechargeRightsService {
 
+    /**
+     * 所选站点可以参与的充值权益卡活动
+     *
+     * @param params
+     * @return
+     */
+    @Override
+    public PageBean<RechargeRights> listAvailableRechargeRights(RightsQueryParam params) {
+        if (CommUtil.isEmptyOrNull(params.getStationId())) {
+            throw new BusinessException("请选择充电站点");
+        }
+        PageHelper.startPage(params.getPageNum(), params.getPageSize());
+        MPJLambdaWrapper<RechargeRights> wrapper = JoinWrappers.lambda(RechargeRights.class)
+                .selectAll(RechargeRights.class)
+                .leftJoin(ActivityStation.class, ActivityStation::getActivityId, RechargeRights::getActivityId)
+                .eq(RechargeRights::getStatus, Coupon.STATUS_进行中)
+                .eq(ActivityStation::getStationId, params.getStationId());
+        List<RechargeRights> res = this.selectJoinList(RechargeRights.class, wrapper);
+        return new PageBean<>(res);
+    }
+
     @Override
     public PageBean<RechargeRights> listRechargeRight(PageParams pageParams, String activityId) {
         PageHelper.startPage(pageParams.getPageNum(), pageParams.getPageSize());