@@ -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);
}
@@ -2,6 +2,10 @@ package com.kym.mapper.miniapp;
import com.kym.entity.miniapp.UserRechargeRights;
@@ -13,4 +17,6 @@ import com.kym.entity.miniapp.UserRechargeRights;
public interface UserRechargeRightsMapper extends MPJBaseMapper<UserRechargeRights> {
+ List<UserRechargeRights> listStationAvailableRights(@Param("params") Map<String, ?> params);
@@ -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>
@@ -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
+ <select id="listStationAvailableRights" resultMap="BaseResultMap" parameterType="java.util.Map" >
+ charge_app.`t_user_recharge_rights` t1
@@ -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));
+ }
@@ -17,4 +17,6 @@ public interface AccountService extends MPJBaseService<Account> {
Account getAccountByUserId(Long userId);
UserRightsAndCouponsVo listRightsAndCoupons();
+ UserRightsAndCouponsVo listStationAvailableRightsAndCoupons(String stationId);
@@ -6,6 +6,9 @@ import com.kym.entity.common.PageBean;
import com.kym.entity.miniapp.vo.UserCouponVo;
* 用户优惠券关联表 服务类
@@ -21,4 +24,7 @@ public interface UserCouponService extends IService<UserCoupon> {
void collectCoupon(Long couponId);
UserCoupon getUserCoupon(String startChargeSeq);
+ List<UserCoupon> listStationAvailableCoupons(Map<String, ?> params);
@@ -3,6 +3,9 @@ package com.kym.service.miniapp;
import com.github.yulichang.base.MPJBaseService;
* 用户充值权益详情表 服务类
@@ -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);
@@ -13,6 +13,8 @@ import com.kym.service.miniapp.UserCouponService;
import com.kym.service.miniapp.UserRechargeRightsService;
import org.springframework.stereotype.Service;
* 用户账户表 服务实现类
@@ -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;
@@ -28,6 +28,8 @@ import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.stream.Collectors;
@@ -170,4 +172,9 @@ public class UserCouponServiceImpl extends MPJBaseServiceImpl<UserCouponMapper,
return this.getOne(wrapper);
+ public List<UserCoupon> listStationAvailableCoupons(Map<String, ?> params) {
+ return baseMapper.listStationAvailableCoupons(params);
@@ -9,6 +9,9 @@ import com.kym.mapper.miniapp.UserRechargeRightsMapper;
* 用户充值权益详情表 服务实现类
@@ -35,4 +38,11 @@ public class UserRechargeRightsServiceImpl extends MPJBaseServiceImpl<UserRechar
.eq(OrderRechargeRights::getStartChargeSeq, startChargeSeq);
+ public List<UserRechargeRights> listStationAvailableRights(Map<String, ?> params) {
+ return baseMapper.listStationAvailableRights(params);