Forráskód Böngészése

feature: 支付管理平台->账户管理模块
1.重置有效期功能
2.重置卡片类别功能
3.重置消费密码功能

luoyb 1 éve
szülő
commit
478cc55be9

+ 13 - 1
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/controller/PtCardtypeController.java

@@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.constraints.*;
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.redisson.api.RList;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.validation.annotation.Validated;
 import org.dromara.common.idempotent.annotation.RepeatSubmit;
@@ -32,7 +33,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
 @Validated
 @RequiredArgsConstructor
 @RestController
-@RequestMapping("/basicParameter/ptCardtype")
+@RequestMapping("/basicParameter/ptCardType")
 public class PtCardtypeController extends BaseController {
 
     private final IPtCardtypeService ptCardtypeService;
@@ -103,4 +104,15 @@ public class PtCardtypeController extends BaseController {
                           @PathVariable Long[] typeIds) {
         return toAjax(ptCardtypeService.deleteWithValidByIds(List.of(typeIds), true));
     }
+
+    /**
+     * 查询已启用卡片类别列表
+     */
+    @SaCheckPermission("basicParameter:ptCardtype:list")
+    @GetMapping("/selectCardType")
+    public R<List<PtCardtypeVo>> selectCardType(PtCardtypeBo bo) {
+        bo.setStatus("0");
+        return R.ok(ptCardtypeService.queryList(bo));
+    }
+
 }

+ 1 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/service/impl/PtCardtypeServiceImpl.java

@@ -78,6 +78,7 @@ public class PtCardtypeServiceImpl implements IPtCardtypeService {
         LambdaQueryWrapper<PtCardtype> lqw = Wrappers.lambdaQuery();
         lqw.like(StringUtils.isNotBlank(bo.getTypeName()), PtCardtype::getTypeName, bo.getTypeName());
         lqw.eq(StringUtils.isNotBlank(bo.getStatus()), PtCardtype::getStatus, bo.getStatus());
+        lqw.orderByAsc(PtCardtype::getTypeId);
         return lqw;
     }
 

+ 21 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/cardCenter/service/IPtCardService.java

@@ -66,4 +66,25 @@ public interface IPtCardService {
      * @return 是否删除成功
      */
     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    /*
+     * 根据Id重置账户有效期
+     *
+     * date 2024-08-06 21:53:42 21:53
+     * @author: luoyibo
+     * @param userIds 待更新账户Id,英文逗号隔开
+     * @param freezeStatus 待更改的有效期
+     * @return 受影响的记录数据
+     */
+    int resetLifespan(Long[] userIds, String lifespan);
+    /*
+     * 根据Id更新账户的卡类
+     *
+     * date 2024-08-06 21:53:42 21:53
+     * @author: luoyibo
+     * @param userIds 待更新账户Id,英文逗号隔开
+     * @param freezeStatus 待更改的卡类
+     * @return 受影响的记录数据
+     */
+    int resetCardType(Long[] userIds, String cardType);
 }

+ 45 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/cardCenter/service/impl/PtCardServiceImpl.java

@@ -1,5 +1,9 @@
 package org.dromara.backstage.cardCenter.service.impl;
 
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import org.dromara.backstage.payment.domain.PtUserAccount;
+import org.dromara.common.core.utils.DateUtils;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -140,4 +144,45 @@ public class PtCardServiceImpl implements IPtCardService {
         }
         return baseMapper.deleteByIds(ids) > 0;
     }
+
+    /*
+     * 根据Id重置账户有效期
+     *
+     * date 2024-08-06 21:53:42 21:53
+     * @author: luoyibo
+     * @param userIds 待更新账户Id,英文逗号隔开
+     * @param freezeStatus 待更改的有效期
+     * @return 受影响的记录数据
+     */
+    @Override
+    public int resetLifespan(Long[] userIds, String lifespan) {
+        for (Long userId : userIds) {
+            baseMapper.update(null, new LambdaUpdateWrapper<PtCard>()
+                .set(PtCard::getLifespan, lifespan)
+                .set(PtCard::getChangeTime, DateUtil.date())
+                .eq(PtCard::getStatus, '1')
+                .eq(PtCard::getUserId, userId));
+        }
+        return userIds.length;
+    }
+    /*
+     * 根据Id更新账户的卡类
+     *
+     * date 2024-08-06 21:53:42 21:53
+     * @author: luoyibo
+     * @param userIds 待更新账户Id,英文逗号隔开
+     * @param freezeStatus 待更改的卡类
+     * @return 受影响的记录数据
+     */
+    @Override
+    public int resetCardType(Long[] userIds, String cardType) {
+        for (Long userId : userIds) {
+            baseMapper.update(null, new LambdaUpdateWrapper<PtCard>()
+                .set(PtCard::getCardType, cardType)
+                .set(PtCard::getChangeTime, DateUtil.date())
+                .eq(PtCard::getStatus, '1')
+                .eq(PtCard::getUserId, userId));
+        }
+        return userIds.length;
+    }
 }

+ 36 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/controller/PtUserAccountController.java

@@ -188,4 +188,40 @@ public class PtUserAccountController extends BaseController {
     public R<Void> batchChangeFreezeStatus(@PathVariable String freezeStatus,@PathVariable Long[] userIds) {
         return toAjax(ptUserAccountService.updateFreezeStatus(userIds,freezeStatus));
     }
+    /**
+     * 批量冻结结/解冻账户
+     *
+     * @param userIds 账户ID串
+     *        freezeStatus 冻结状态
+     */
+    @SaCheckPermission("payment:ptUserAccount:edit")
+    @Log(title = "支付账户管理", businessType = BusinessType.UPDATE)
+    @PutMapping("/resetLifespan/{lifespan}/{userIds}")
+    public R<Void> batchResetLifespan(@PathVariable String lifespan,@PathVariable Long[] userIds) {
+        return toAjax(ptUserAccountService.resetLifespan(userIds,lifespan));
+    }
+    /**
+     * 批量冻结结/解冻账户
+     *
+     * @param userIds 账户ID串
+     *        freezeStatus 冻结状态
+     */
+    @SaCheckPermission("payment:ptUserAccount:edit")
+    @Log(title = "支付账户管理", businessType = BusinessType.UPDATE)
+    @PutMapping("/resetCardType/{cardType}/{userIds}")
+    public R<Void> batchResetCardType(@PathVariable String cardType,@PathVariable Long[] userIds) {
+        return toAjax(ptUserAccountService.resetCardType(userIds,cardType));
+    }
+    /**
+     * 批量冻结结/解冻账户
+     *
+     * @param userIds 账户ID串
+     *        freezeStatus 冻结状态
+     */
+    @SaCheckPermission("payment:ptUserAccount:edit")
+    @Log(title = "支付账户管理", businessType = BusinessType.UPDATE)
+    @PutMapping("/resetConsumePwd/{consumePwd}/{userIds}")
+    public R<Void> batchResetConsumePwd(@PathVariable String consumePwd,@PathVariable Long[] userIds) {
+        return toAjax(ptUserAccountService.resetConsumePwd(userIds,consumePwd));
+    }
 }

+ 1 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/domain/PtUserAccount.java

@@ -115,6 +115,7 @@ public class PtUserAccount extends TenantEntity {
     /**
      * 消费密码
      */
+    @EncryptField(algorithm = AlgorithmType.BASE64)
     private String consumePwd;
 
     /**

+ 32 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/service/IPtUserAccountService.java

@@ -88,4 +88,36 @@ public interface IPtUserAccountService {
      * @return 受影响的记录数据
      */
     int updateFreezeStatus(Long[] userIds, String freezeStatus);
+
+    /*
+     * 根据Id重置账户有效期
+     *
+     * date 2024-08-06 21:53:42 21:53
+     * @author: luoyibo
+     * @param userIds 待更新账户Id,英文逗号隔开
+     * @param freezeStatus 待更改的有效期
+     * @return 受影响的记录数据
+     */
+    int resetLifespan(Long[] userIds, String lifespan);
+    /*
+     * 根据Id更新账户的卡类
+     *
+     * date 2024-08-06 21:53:42 21:53
+     * @author: luoyibo
+     * @param userIds 待更新账户Id,英文逗号隔开
+     * @param freezeStatus 待更改的卡类
+     * @return 受影响的记录数据
+     */
+    int resetCardType(Long[] userIds, String cardType);
+
+    /*
+     * 根据Id更新账户的消费密码
+     *
+     * date 2024-08-06 21:53:42 21:53
+     * @author: luoyibo
+     * @param userIds 待更新账户Id,英文逗号隔开
+     * @param freezeStatus 待更改的消费密码
+     * @return 受影响的记录数据
+     */
+    int resetConsumePwd(Long[] userIds, String pwd);
 }

+ 67 - 1
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/service/impl/PtUserAccountServiceImpl.java

@@ -1,6 +1,7 @@
 package org.dromara.backstage.payment.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import org.dromara.backstage.cardCenter.service.IPtCardService;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -31,6 +32,7 @@ import java.util.Collection;
 public class PtUserAccountServiceImpl implements IPtUserAccountService {
 
     private final PtUserAccountMapper baseMapper;
+    private final IPtCardService ptCardService;
 
     /**
      * 查询一卡通账户
@@ -173,7 +175,15 @@ public class PtUserAccountServiceImpl implements IPtUserAccountService {
             .set(PtUserAccount::getFreezeStatus,freezeStatus)
             .eq(PtUserAccount::getUserId,userId));
     }
-
+    /*
+     * 根据Id更新账户的冻结状态
+     *
+     * date 2024-08-06 21:53:42 21:53
+     * @author: luoyibo
+     * @param userIds 待更新账户Id,英文逗号隔开
+     * @param freezeStatus 待更改的状态值
+     * @return 受影响的记录数据
+     */
     @Override
     public int updateFreezeStatus(Long[] userIds, String freezeStatus) {
         for (Long userId : userIds) {
@@ -183,4 +193,60 @@ public class PtUserAccountServiceImpl implements IPtUserAccountService {
         }
         return userIds.length;
     }
+    /*
+     * 根据Id重置账户有效期
+     *
+     * date 2024-08-06 21:53:42 21:53
+     * @author: luoyibo
+     * @param userIds 待更新账户Id,英文逗号隔开
+     * @param freezeStatus 待更改的有效期
+     * @return 受影响的记录数据
+     */
+    @Override
+    public int resetLifespan(Long[] userIds, String lifespan) {
+        for (Long userId : userIds) {
+            baseMapper.update(null,new LambdaUpdateWrapper<PtUserAccount>()
+                .set(PtUserAccount::getLifespan,lifespan)
+                .eq(PtUserAccount::getUserId,userId));
+        }
+        return ptCardService.resetLifespan(userIds, lifespan);
+//        return userIds.length;
+    }
+    /*
+     * 根据Id更新账户的卡类
+     *
+     * date 2024-08-06 21:53:42 21:53
+     * @author: luoyibo
+     * @param userIds 待更新账户Id,英文逗号隔开
+     * @param freezeStatus 待更改的卡类
+     * @return 受影响的记录数据
+     */
+    @Override
+    public int resetCardType(Long[] userIds, String cardType) {
+        for (Long userId : userIds) {
+            baseMapper.update(null,new LambdaUpdateWrapper<PtUserAccount>()
+                .set(PtUserAccount::getCardType,cardType)
+                .eq(PtUserAccount::getUserId,userId));
+        }
+        return ptCardService.resetCardType(userIds, cardType);
+//        return userIds.length;
+    }
+    /*
+     * 根据Id更新账户的消费密码
+     *
+     * date 2024-08-06 21:53:42 21:53
+     * @author: luoyibo
+     * @param userIds 待更新账户Id,英文逗号隔开
+     * @param freezeStatus 待更改的消费密码
+     * @return 受影响的记录数据
+     */
+    @Override
+    public int resetConsumePwd(Long[] userIds, String pwd) {
+        for (Long userId : userIds) {
+            baseMapper.update(null,new LambdaUpdateWrapper<PtUserAccount>()
+                .set(PtUserAccount::getConsumePwd,pwd)
+                .eq(PtUserAccount::getUserId,userId));
+        }
+        return userIds.length;
+    }
 }