Explorar el Código

用户在站点可以使用的权益卡和优惠券

skyline hace 1 año
padre
commit
44fe80e99e

+ 6 - 1
mapper/src/main/java/com/kym/mapper/miniapp/UserCouponMapper.java

@@ -2,6 +2,11 @@ package com.kym.mapper.miniapp;
 
 import com.github.yulichang.base.MPJBaseMapper;
 import com.kym.entity.miniapp.UserCoupon;
+import com.kym.entity.miniapp.UserRechargeRights;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -12,5 +17,5 @@ import com.kym.entity.miniapp.UserCoupon;
  * @since 2024-04-29
  */
 public interface UserCouponMapper extends MPJBaseMapper<UserCoupon> {
-
+    List<UserCoupon> listStationAvailableCoupons(@Param("params") Map<String, ?> params);
 }

+ 6 - 0
mapper/src/main/java/com/kym/mapper/miniapp/UserRechargeRightsMapper.java

@@ -2,6 +2,10 @@ package com.kym.mapper.miniapp;
 
 import com.github.yulichang.base.MPJBaseMapper;
 import com.kym.entity.miniapp.UserRechargeRights;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -13,4 +17,6 @@ import com.kym.entity.miniapp.UserRechargeRights;
  */
 public interface UserRechargeRightsMapper extends MPJBaseMapper<UserRechargeRights> {
 
+    List<UserRechargeRights> listStationAvailableRights(@Param("params") Map<String, ?> params);
+
 }

+ 11 - 0
mapper/src/main/resources/mappers/miniapp/UserCouponMapper.xml

@@ -30,4 +30,15 @@
         id,oupon_id, activity_id, user_id, start_time, end_time, validity,receive_type,coupon_type, discount, min_service_money, allow_stacke, status, usage_status,remark,create_time,update_time
     </sql>
 
+    <select id="listStationAvailableCoupons" resultMap="BaseResultMap" parameterType="java.util.Map" >
+        SELECT
+            t1.*
+        FROM
+            charge_app.`t_user_coupon` t1
+                LEFT JOIN charge_admin.`t_activity_station` t2
+                          ON t1.`activity_id` = t2.`activity_id`
+        WHERE t1.`user_id` = #{params.userId}
+          AND t2.`station_id` = #{params.stationId}
+    </select>
+
 </mapper>

+ 12 - 1
mapper/src/main/resources/mappers/miniapp/UserRechargeRightsMapper.xml

@@ -21,7 +21,18 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        rights_id, activity_id, user_id, start_time, end_time, rights_balance, frozen_balance, discount, allow_stacke, discount_amount, times, status, remark
+        id,rights_id, activity_id, user_id, start_time, end_time, rights_balance, frozen_balance, discount, allow_stacke, discount_amount, times, status, remark,create_time,update_time
     </sql>
 
+    <select id="listStationAvailableRights" resultMap="BaseResultMap" parameterType="java.util.Map" >
+        SELECT
+            t1.*
+        FROM
+            charge_app.`t_user_recharge_rights` t1
+                LEFT JOIN charge_admin.`t_activity_station` t2
+                          ON t1.`activity_id` = t2.`activity_id`
+        WHERE t1.`user_id` = #{params.userId}
+          AND t2.`station_id` = #{params.stationId}
+    </select>
+
 </mapper>

+ 10 - 0
miniapp/src/main/java/com/kym/miniapp/controller/AccountController.java

@@ -58,4 +58,14 @@ public class AccountController {
         return R.success(accountService.listRightsAndCoupons());
     }
 
+    /**
+     * 获取当前用户当前站点有效的权益和优惠券
+     *
+     * @return
+     */
+    @GetMapping("/listStationAvailableRightsAndCoupons")
+    public R<?> listStationAvailableRightsAndCoupons(@RequestParam(value = "stationId") String stationId) {
+        return R.success(accountService.listStationAvailableRightsAndCoupons(stationId));
+    }
+
 }

+ 2 - 0
service/src/main/java/com/kym/service/miniapp/AccountService.java

@@ -17,4 +17,6 @@ public interface AccountService extends MPJBaseService<Account> {
     Account getAccountByUserId(Long userId);
 
     UserRightsAndCouponsVo listRightsAndCoupons();
+
+    UserRightsAndCouponsVo listStationAvailableRightsAndCoupons(String stationId);
 }

+ 6 - 0
service/src/main/java/com/kym/service/miniapp/UserCouponService.java

@@ -6,6 +6,9 @@ import com.kym.entity.common.PageBean;
 import com.kym.entity.miniapp.UserCoupon;
 import com.kym.entity.miniapp.vo.UserCouponVo;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 用户优惠券关联表 服务类
@@ -21,4 +24,7 @@ public interface UserCouponService extends IService<UserCoupon> {
     void collectCoupon(Long couponId);
 
     UserCoupon getUserCoupon(String startChargeSeq);
+
+    List<UserCoupon> listStationAvailableCoupons(Map<String, ?> params);
+
 }

+ 6 - 0
service/src/main/java/com/kym/service/miniapp/UserRechargeRightsService.java

@@ -3,6 +3,9 @@ package com.kym.service.miniapp;
 import com.github.yulichang.base.MPJBaseService;
 import com.kym.entity.miniapp.UserRechargeRights;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 用户充值权益详情表 服务类
@@ -14,4 +17,7 @@ import com.kym.entity.miniapp.UserRechargeRights;
 public interface UserRechargeRightsService extends MPJBaseService<UserRechargeRights> {
 
     Object getUserRechargeRights(String startChargeSeq);
+
+    List<UserRechargeRights> listStationAvailableRights(Map<String, ?> params);
+
 }

+ 18 - 0
service/src/main/java/com/kym/service/miniapp/impl/AccountServiceImpl.java

@@ -13,6 +13,8 @@ import com.kym.service.miniapp.UserCouponService;
 import com.kym.service.miniapp.UserRechargeRightsService;
 import org.springframework.stereotype.Service;
 
+import java.util.Map;
+
 /**
  * <p>
  * 用户账户表 服务实现类
@@ -65,5 +67,21 @@ public class AccountServiceImpl extends MPJBaseServiceImpl<AccountMapper, Accoun
         return vo;
     }
 
+    @Override
+    public UserRightsAndCouponsVo listStationAvailableRightsAndCoupons(String stationId) {
+        var vo = new UserRightsAndCouponsVo();
+        var userId = StpUtil.getLoginIdAsLong();
+        vo.setUserId(userId);
+        // 当前用户有效的充电权益
+        var userRechargeRights = userRechargeRightsService.listStationAvailableRights(Map.of("userId", userId, "stationId", stationId));
+        vo.setUserRechargeRightsList(userRechargeRights);
+
+        // 当前用户有效的优惠券列表
+        var userCouponList =userCouponService.listStationAvailableCoupons(Map.of("userId", userId, "stationId", stationId));
+        vo.setUserCouponList(userCouponList);
+        return vo;
+    }
+
+
 
 }

+ 7 - 0
service/src/main/java/com/kym/service/miniapp/impl/UserCouponServiceImpl.java

@@ -28,6 +28,8 @@ import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
 import java.time.LocalTime;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -170,4 +172,9 @@ public class UserCouponServiceImpl extends MPJBaseServiceImpl<UserCouponMapper,
         return this.getOne(wrapper);
     }
 
+    @Override
+    public List<UserCoupon> listStationAvailableCoupons(Map<String, ?> params) {
+        return baseMapper.listStationAvailableCoupons(params);
+    }
+
 }

+ 10 - 0
service/src/main/java/com/kym/service/miniapp/impl/UserRechargeRightsServiceImpl.java

@@ -9,6 +9,9 @@ import com.kym.mapper.miniapp.UserRechargeRightsMapper;
 import com.kym.service.miniapp.UserRechargeRightsService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 用户充值权益详情表 服务实现类
@@ -35,4 +38,11 @@ public class UserRechargeRightsServiceImpl extends MPJBaseServiceImpl<UserRechar
                 .eq(OrderRechargeRights::getStartChargeSeq, startChargeSeq);
         return this.getOne(wrapper);
     }
+
+    @Override
+    public List<UserRechargeRights> listStationAvailableRights(Map<String, ?> params) {
+        return baseMapper.listStationAvailableRights(params);
+    }
+
+
 }