Pārlūkot izejas kodu

改renren分层接口为mp的

huangjunling 1 nedēļu atpakaļ
vecāks
revīzija
66c15c68f9
73 mainītis faili ar 517 papildinājumiem un 390 dzēšanām
  1. 6 1
      qnfhq-api/pom.xml
  2. 1 1
      qnfhq-api/src/main/java/com/qnfhq/common/ApiBaseController.java
  3. 2 1
      qnfhq-api/src/main/java/com/qnfhq/config/SaTokenConfigure.java
  4. 16 14
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/controller/C2cAdController.java
  5. 1 1
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/controller/C2cMerchantController.java
  6. 27 25
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/controller/C2cOrderController.java
  7. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/AppAssetLogDao.java
  8. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cAdDao.java
  9. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cAdLogDao.java
  10. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cLegalCoinDao.java
  11. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cMerchantConfigDao.java
  12. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cMerchantDao.java
  13. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cOrderComplainDao.java
  14. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cOrderComplainVoucherDao.java
  15. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cOrderDao.java
  16. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cOrderLogDao.java
  17. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cPayWayDao.java
  18. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cPaymentVoucherDao.java
  19. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cUserReceiptDao.java
  20. 2 7
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dto/C2cAdListDTO.java
  21. 2 7
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dto/C2cOrderListDTO.java
  22. 3 2
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/AppAssetLogService.java
  23. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cAdLogService.java
  24. 4 4
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cAdService.java
  25. 3 3
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cLegalCoinService.java
  26. 3 3
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cMerchantConfigService.java
  27. 3 3
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cMerchantService.java
  28. 3 3
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cOrderComplainService.java
  29. 3 3
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cOrderComplainVoucherService.java
  30. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cOrderLogService.java
  31. 3 3
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cOrderService.java
  32. 3 3
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cPayWayService.java
  33. 3 3
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cPaymentVoucherService.java
  34. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cUserReceiptService.java
  35. 5 11
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/AppAssetLogServiceImpl.java
  36. 3 5
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cAdLogServiceImpl.java
  37. 26 23
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cAdServiceImpl.java
  38. 4 5
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cLegalCoinServiceImpl.java
  39. 3 4
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cMerchantConfigServiceImpl.java
  40. 6 11
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cMerchantServiceImpl.java
  41. 3 8
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cOrderComplainServiceImpl.java
  42. 3 3
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cOrderComplainVoucherServiceImpl.java
  43. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cOrderLogServiceImpl.java
  44. 18 18
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cOrderServiceImpl.java
  45. 3 3
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cPayWayServiceImpl.java
  46. 3 3
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cPaymentVoucherServiceImpl.java
  47. 4 4
      qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cUserReceiptServiceImpl.java
  48. 3 2
      qnfhq-api/src/main/java/com/qnfhq/modules/user/dao/AppAssetDao.java
  49. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/user/dao/AppUserDao.java
  50. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/user/dao/AppUserDetailDao.java
  51. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/user/dao/AppWalletRecordDao.java
  52. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/user/dao/AppuserLoginLogDao.java
  53. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/user/dao/SettingDao.java
  54. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/user/dao/SmsSendDao.java
  55. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/user/dao/SmsTplDao.java
  56. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/user/service/AppAssetService.java
  57. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/user/service/AppUserDetailService.java
  58. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/user/service/AppUserService.java
  59. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/user/service/AppWalletRecordService.java
  60. 3 2
      qnfhq-api/src/main/java/com/qnfhq/modules/user/service/AppuserLoginLogService.java
  61. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/user/service/SettingService.java
  62. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/user/service/SmsSendService.java
  63. 2 2
      qnfhq-api/src/main/java/com/qnfhq/modules/user/service/SmsTplService.java
  64. 4 4
      qnfhq-api/src/main/java/com/qnfhq/modules/user/service/impl/AppAssetServiceImpl.java
  65. 3 3
      qnfhq-api/src/main/java/com/qnfhq/modules/user/service/impl/AppUserDetailServiceImpl.java
  66. 112 109
      qnfhq-api/src/main/java/com/qnfhq/modules/user/service/impl/AppUserServiceImpl.java
  67. 3 11
      qnfhq-api/src/main/java/com/qnfhq/modules/user/service/impl/AppWalletRecordServiceImpl.java
  68. 3 3
      qnfhq-api/src/main/java/com/qnfhq/modules/user/service/impl/AppuserLoginLogServiceImpl.java
  69. 3 3
      qnfhq-api/src/main/java/com/qnfhq/modules/user/service/impl/SettingServiceImpl.java
  70. 3 3
      qnfhq-api/src/main/java/com/qnfhq/modules/user/service/impl/SmsSendServiceImpl.java
  71. 3 3
      qnfhq-api/src/main/java/com/qnfhq/modules/user/service/impl/SmsTplServiceImpl.java
  72. 14 0
      qnfhq-api/src/main/resources/application.yml
  73. 132 0
      qnfhq-common/src/main/java/com/qnfhq/common/entity/BaseQueryDTO.java

+ 6 - 1
qnfhq-api/pom.xml

@@ -59,7 +59,12 @@
             <artifactId>easy-captcha</artifactId>
             <version>${captcha.version}</version>
         </dependency>
-
+<!--        阿里云实名认证-->
+        <dependency>
+            <groupId>com.aliyun</groupId>
+            <artifactId>cloudauth_intl20220809</artifactId>
+            <version>2.0.2</version>
+        </dependency>
         <dependency>
             <groupId>org.redisson</groupId>
             <artifactId>redisson-spring-boot-starter</artifactId>

+ 1 - 1
qnfhq-api/src/main/java/com/qnfhq/common/ApiBaseController.java

@@ -26,7 +26,7 @@ public class ApiBaseController {
     public AppUserEntity getAppUser(){
         long loginIdAsLong = StpUtil.getLoginIdAsLong();
         AppUserService appUserService = SpringContextUtils.getBean(AppUserService.class);
-        return appUserService.selectById(loginIdAsLong);
+        return appUserService.getById(loginIdAsLong);
     }
     /**
      * 返回成功

+ 2 - 1
qnfhq-api/src/main/java/com/qnfhq/config/SaTokenConfigure.java

@@ -28,8 +28,9 @@ public class SaTokenConfigure {
     public SaServletFilter getSaServletFilter() {
         return new SaServletFilter()
 
-                // 指定 拦截路由 与 放行路由
+                // 指定 拦截路由 与 放行路由 todo 测试过鉴权
                 .addInclude("/**")
+//                .addExclude("/**")
                 .addExclude(
                         "/user/register",
                         "/user/login",

+ 16 - 14
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/controller/C2cAdController.java

@@ -4,6 +4,7 @@ package com.qnfhq.modules.c2c.controller;
 import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.convert.Convert;
 import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qnfhq.annotation.RepeatSubmit;
 import com.qnfhq.common.ApiBaseController;
 import com.qnfhq.common.constant.Constant;
@@ -148,7 +149,7 @@ public class C2cAdController extends ApiBaseController {
         }
 
         Long adId = c2cAd.getId();
-        C2cAdEntity ad = c2cAdService.selectById(adId);
+        C2cAdEntity ad = c2cAdService.getById(adId);
         if(ad==null) {
             return error(MessageUtils.message("c2c.ad.id.invalid"));//广告编号无效
         }
@@ -178,17 +179,18 @@ public class C2cAdController extends ApiBaseController {
         if(c2cAdVo.getMerchantId()==null) {
             return error(MessageUtils.message("c2c.ad.merchant.id.blank"));//商家编号不能空
         }
-        //分页
-        String pageNum = Convert.toStr(c2cAdVo.getPageNum(),"1");
-        String pageSize = Convert.toStr(c2cAdVo.getPageSize(),"10");
-        Map<String,Object> params = new HashMap<>();
-        params.put(Constant.PAGE,pageNum);
-        params.put(Constant.LIMIT,pageSize);
-        params.put("merchantId",c2cAdVo.getMerchantId());
-        params.put("direction",c2cAdVo.getDirection());
-        params.put("status", AdStatusEnum.PASS.getCode());
-        PageData<C2cAdEntity> page = c2cAdService.page(params);
-        return new Result<PageData<C2cAdEntity>>().ok(page);
+        Page<C2cAdEntity> page = c2cAdService.page(c2cAdVo.getPage(),c2cAdVo.timeQuery());
+//        //分页
+//        String pageNum = Convert.toStr(c2cAdVo.getPageNum(),"1");
+//        String pageSize = Convert.toStr(c2cAdVo.getPageSize(),"10");
+//        Map<String,Object> params = new HashMap<>();
+//        params.put(Constant.PAGE,pageNum);
+//        params.put(Constant.LIMIT,pageSize);
+//        params.put("merchantId",c2cAdVo.getMerchantId());
+//        params.put("direction",c2cAdVo.getDirection());
+//        params.put("status", AdStatusEnum.PASS.getCode());
+//        PageData<C2cAdEntity> page = c2cAdService.page(params);
+        return new Result<>().ok(page);
     }
 
 
@@ -220,12 +222,12 @@ public class C2cAdController extends ApiBaseController {
             if(Objects.isNull(myReceipt)) {
                 inReceipt.setCreateTime(new Date());
                 inReceipt.setUpdateTime(new Date());
-                return toAjax(c2cUserReceiptService.insert(inReceipt));
+                return toAjax(c2cUserReceiptService.save(inReceipt));
             } else {
                 return error(MessageUtils.message("c2c.userReceipt.add.repeat"));//添加成功,请勿重复提交
             }
         } else {
-            C2cUserReceiptEntity oldReceipt =c2cUserReceiptService.selectById(dto.getId());
+            C2cUserReceiptEntity oldReceipt =c2cUserReceiptService.getById(dto.getId());
             if(Objects.isNull(oldReceipt)) {
                 return error(MessageUtils.message("c2c.userReceipt.id.invalid"));//编号无效
             }

+ 1 - 1
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/controller/C2cMerchantController.java

@@ -72,7 +72,7 @@ public class C2cMerchantController {
     @GetMapping(value = "/info/{id}")
     public Result getInfo(@PathVariable("id") Long id)
     {
-        C2cMerchantEntity merchant = c2cMerchantService.selectById(id);
+        C2cMerchantEntity merchant = c2cMerchantService.getById(id);
         return new Result().ok(merchant);
     }
 

+ 27 - 25
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/controller/C2cOrderController.java

@@ -6,6 +6,7 @@ import cn.hutool.core.convert.Convert;
 import cn.hutool.core.map.MapUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qnfhq.annotation.RepeatSubmit;
 import com.qnfhq.common.ApiBaseController;
 import com.qnfhq.common.constant.Constant;
@@ -150,7 +151,7 @@ public class C2cOrderController extends ApiBaseController {
             }
         }
 
-        C2cAdEntity c2cAd = c2cAdService.selectById(c2cOrder.getC2cAdId());
+        C2cAdEntity c2cAd = c2cAdService.getById(c2cOrder.getC2cAdId());
         if(c2cAd==null) {
             //清除缓存
             Integer adDirection = direction.intValue() == DirectionEnum.SELL.getCode().intValue() ? DirectionEnum.BUY.getCode() : DirectionEnum.SELL.getCode();
@@ -429,7 +430,7 @@ public class C2cOrderController extends ApiBaseController {
             entity.setStatus(1);
             entity.setCreateTime(new Date());
             entity.setUpdateTime(new Date());
-            if(c2cPaymentVoucherService.insert(entity)) {
+            if(c2cPaymentVoucherService.save(entity)) {
                 Map data = MapUtil.of("id", entity.getId());
                 return success(data);
             } else {
@@ -437,7 +438,7 @@ public class C2cOrderController extends ApiBaseController {
             }
 
         } else {
-            C2cPaymentVoucherEntity voucher = c2cPaymentVoucherService.selectById(c2cPaymentVoucher.getId());
+            C2cPaymentVoucherEntity voucher = c2cPaymentVoucherService.getById(c2cPaymentVoucher.getId());
             if(voucher==null) {
                 return error(MessageUtils.message("c2c.order.pay.cert.id.invalid"));//凭证编号无效
             }
@@ -470,7 +471,7 @@ public class C2cOrderController extends ApiBaseController {
     public Result deletePayment(@RequestBody C2cPaymentVoucherIdDTO c2cPaymentVoucher) {
         ValidatorUtils.validateEntity(c2cPaymentVoucher);
 
-        C2cPaymentVoucherEntity voucher = c2cPaymentVoucherService.selectById(c2cPaymentVoucher.getId());
+        C2cPaymentVoucherEntity voucher = c2cPaymentVoucherService.getById(c2cPaymentVoucher.getId());
         if(voucher==null) {
             return error(MessageUtils.message("c2c.order.pay.cert.id.invalid"));//凭证编号无效
         }
@@ -496,28 +497,29 @@ public class C2cOrderController extends ApiBaseController {
     @PostMapping("/mylist")
     public Result mylist(@RequestBody C2cOrderListDTO orderVo)
     {
+
         ValidatorUtils.validateEntity(orderVo);
         //分页
-        String pageNum = Convert.toStr(orderVo.getPageNum(),"1");
-        String pageSize = Convert.toStr(orderVo.getPageSize(),"10");
-
-        Map<String,Object> params = new HashMap<>();
-        params.put(Constant.PAGE,pageNum);
-        params.put(Constant.LIMIT,pageSize);
-        params.put("direction",orderVo.getDirection());
-        params.put("flow",orderVo.getFlow());
-        params.put("status",orderVo.getStatus());
-        params.put("orderNo",orderVo.getOrderNo());
-        params.put("isMt",orderVo.getIsMt());
-        PageData<C2cOrderEntity> page = c2cOrderService.page(params);
-
-        List<C2cOrderEntity> orderList = page.getList();
+        Page<C2cOrderEntity> page = c2cOrderService.page(orderVo.getPage());
+//        String pageNum = Convert.toStr(orderVo.getPageNum(),"1");
+//        String pageSize = Convert.toStr(orderVo.getPageSize(),"10");
+//
+//        Map<String,Object> params = new HashMap<>();
+//        params.put(Constant.PAGE,pageNum);
+//        params.put(Constant.LIMIT,pageSize);
+//        params.put("direction",orderVo.getDirection());
+//        params.put("flow",orderVo.getFlow());
+//        params.put("status",orderVo.getStatus());
+//        params.put("orderNo",orderVo.getOrderNo());
+//        params.put("isMt",orderVo.getIsMt());
+//        PageData<C2cOrderEntity> page = c2cOrderService.page(params);
+
+        List<C2cOrderEntity> orderList = page.getRecords();
         // 查询付款凭证
         orderList = c2cOrderService.selectPaymentVoucherByOrderList(orderList);
-        page.setList(orderList);
-
+        page.setRecords(orderList);
 
-        return new Result<PageData<C2cOrderEntity>>().ok(page);
+        return new Result<>().ok(page);
 
     }
 
@@ -640,7 +642,7 @@ log.info("商户待处理数Count:"+unpayCounts+":"+releaseCounts);
     {
         ValidatorUtils.validateEntity(dto);
 
-        C2cOrderComplainEntity orderComplain = orderComplainService.selectById(dto.getComplainId());
+        C2cOrderComplainEntity orderComplain = orderComplainService.getById(dto.getComplainId());
         if(orderComplain == null) {
             return error(MessageUtils.message("c2c.order.complain.not.exist"));//申诉编号无效
         }
@@ -670,7 +672,7 @@ log.info("商户待处理数Count:"+unpayCounts+":"+releaseCounts);
             voucherEntity.setStatus(1);
             voucherEntity.setCreateTime(new Date());
             voucherEntity.setUpdateTime(new Date());
-            if(orderComplainVoucherService.insert(voucherEntity)) {
+            if(orderComplainVoucherService.save(voucherEntity)) {
                 Map data = MapUtil.of("id", voucherEntity.getId());
                 return success(data);
             } else {
@@ -678,7 +680,7 @@ log.info("商户待处理数Count:"+unpayCounts+":"+releaseCounts);
             }
 
         } else {
-            C2cOrderComplainVoucherEntity voucherEntity = orderComplainVoucherService.selectById(dto.getId());
+            C2cOrderComplainVoucherEntity voucherEntity = orderComplainVoucherService.getById(dto.getId());
             if(voucherEntity==null) {
                 return error(MessageUtils.message("c2c.order.complain.voucher.id.invalid"));//申诉凭证编号无效
             }
@@ -745,7 +747,7 @@ log.info("商户待处理数Count:"+unpayCounts+":"+releaseCounts);
 
         C2cOrderComplainEntity orderComplain = null;
         if (dto.getComplainId() != null) {
-            orderComplain = orderComplainService.selectById(dto.getComplainId());
+            orderComplain = orderComplainService.getById(dto.getComplainId());
         } else {
             List<C2cOrderComplainEntity> orderComplainList = orderComplainService.selectC2cOrderComplainList(dto.getOrderId());
             orderComplain = orderComplainList.get(0);

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/AppAssetLogDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.c2c.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.c2c.entity.AppAssetLogEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -11,6 +11,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 1.0.0 2025-11-19
  */
 @Mapper
-public interface AppAssetLogDao extends BaseDao<AppAssetLogEntity> {
+public interface AppAssetLogDao extends BaseMapper<AppAssetLogEntity> {
 	
 }

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cAdDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.c2c.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.c2c.entity.C2cAdEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -13,7 +13,7 @@ import java.util.Map;
  * @since 1.0.0 2025-11-17
  */
 @Mapper
-public interface C2cAdDao extends BaseDao<C2cAdEntity> {
+public interface C2cAdDao extends BaseMapper<C2cAdEntity> {
 
     /**
      * 减少商家广告可用数量

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cAdLogDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.c2c.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.c2c.entity.C2cAdLogEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -11,6 +11,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 1.0.0 2025-11-17
  */
 @Mapper
-public interface C2cAdLogDao extends BaseDao<C2cAdLogEntity> {
+public interface C2cAdLogDao extends BaseMapper<C2cAdLogEntity> {
 	
 }

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cLegalCoinDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.c2c.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.c2c.entity.C2cLegalCoinEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -11,6 +11,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 1.0.0 2025-11-18
  */
 @Mapper
-public interface C2cLegalCoinDao extends BaseDao<C2cLegalCoinEntity> {
+public interface C2cLegalCoinDao extends BaseMapper<C2cLegalCoinEntity> {
 	
 }

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cMerchantConfigDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.c2c.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.c2c.entity.C2cMerchantConfigEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -11,6 +11,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 1.0.0 2025-11-17
  */
 @Mapper
-public interface C2cMerchantConfigDao extends BaseDao<C2cMerchantConfigEntity> {
+public interface C2cMerchantConfigDao extends BaseMapper<C2cMerchantConfigEntity> {
 	
 }

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cMerchantDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.c2c.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.c2c.entity.C2cMerchantEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -11,6 +11,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 1.0.0 2025-11-17
  */
 @Mapper
-public interface C2cMerchantDao extends BaseDao<C2cMerchantEntity> {
+public interface C2cMerchantDao extends BaseMapper<C2cMerchantEntity> {
 	
 }

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cOrderComplainDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.c2c.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.c2c.entity.C2cOrderComplainEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -11,6 +11,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 1.0.0 2025-11-17
  */
 @Mapper
-public interface C2cOrderComplainDao extends BaseDao<C2cOrderComplainEntity> {
+public interface C2cOrderComplainDao extends BaseMapper<C2cOrderComplainEntity> {
 	
 }

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cOrderComplainVoucherDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.c2c.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.c2c.entity.C2cOrderComplainVoucherEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -11,6 +11,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 1.0.0 2025-11-17
  */
 @Mapper
-public interface C2cOrderComplainVoucherDao extends BaseDao<C2cOrderComplainVoucherEntity> {
+public interface C2cOrderComplainVoucherDao extends BaseMapper<C2cOrderComplainVoucherEntity> {
 	
 }

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cOrderDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.c2c.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.c2c.entity.C2cOrderEntity;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -16,7 +16,7 @@ import java.util.Map;
  * @since 1.0.0 2025-11-17
  */
 @Mapper
-public interface C2cOrderDao extends BaseDao<C2cOrderEntity> {
+public interface C2cOrderDao extends BaseMapper<C2cOrderEntity> {
 
     @Select("select count(1) NUM from c2c_order where tran_user_id=#{tranUserId} and status=0 and direction=2")
     public List<Map> selectMtUnPayCount(@Param("tranUserId") Long tranUserId);

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cOrderLogDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.c2c.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.c2c.entity.C2cOrderLogEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -11,6 +11,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 1.0.0 2025-11-17
  */
 @Mapper
-public interface C2cOrderLogDao extends BaseDao<C2cOrderLogEntity> {
+public interface C2cOrderLogDao extends BaseMapper<C2cOrderLogEntity> {
 	
 }

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cPayWayDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.c2c.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.c2c.entity.C2cPayWayEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -11,6 +11,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 1.0.0 2025-11-18
  */
 @Mapper
-public interface C2cPayWayDao extends BaseDao<C2cPayWayEntity> {
+public interface C2cPayWayDao extends BaseMapper<C2cPayWayEntity> {
 	
 }

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cPaymentVoucherDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.c2c.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.c2c.entity.C2cPaymentVoucherEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -13,7 +13,7 @@ import java.util.List;
  * @since 1.0.0 2025-11-17
  */
 @Mapper
-public interface C2cPaymentVoucherDao extends BaseDao<C2cPaymentVoucherEntity> {
+public interface C2cPaymentVoucherDao extends BaseMapper<C2cPaymentVoucherEntity> {
     /**
      * 查询c2c付款证明列表
      * @param ids

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dao/C2cUserReceiptDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.c2c.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.c2c.entity.C2cUserReceiptEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -11,6 +11,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 1.0.0 2025-11-17
  */
 @Mapper
-public interface C2cUserReceiptDao extends BaseDao<C2cUserReceiptEntity> {
+public interface C2cUserReceiptDao extends BaseMapper<C2cUserReceiptEntity> {
 	
 }

+ 2 - 7
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dto/C2cAdListDTO.java

@@ -1,5 +1,6 @@
 package com.qnfhq.modules.c2c.dto;
 
+import com.qnfhq.common.entity.BaseQueryDTO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.media.SchemaProperty;
 import jakarta.validation.constraints.NotNull;
@@ -17,7 +18,7 @@ import java.util.Date;
  */
 @Data
 @Schema(name = "c2c商家广告列表")
-public class C2cAdListDTO implements Serializable {
+public class C2cAdListDTO extends BaseQueryDTO implements Serializable {
     private static final long serialVersionUID = 1L;
 
 
@@ -32,10 +33,4 @@ public class C2cAdListDTO implements Serializable {
 	@SchemaProperty(name = "1可用 -1不可用")
 //    @NotNull(message="{NotNull.status}")//状态不能空
 	private Integer status;
-
-	@SchemaProperty(name = "页码")
-	private Integer pageNum;
-
-    @SchemaProperty(name = "每页大小")
-    private Integer pageSize;
 }

+ 2 - 7
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/dto/C2cOrderListDTO.java

@@ -1,5 +1,6 @@
 package com.qnfhq.modules.c2c.dto;
 
+import com.qnfhq.common.entity.BaseQueryDTO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.media.SchemaProperty;
 import jakarta.validation.constraints.NotBlank;
@@ -18,7 +19,7 @@ import java.util.Date;
  */
 @Data
 @Schema(name = "c2c订单历史查询")
-public class C2cOrderListDTO implements Serializable {
+public class C2cOrderListDTO extends BaseQueryDTO implements Serializable {
     private static final long serialVersionUID = 1L;
 
 	@SchemaProperty(name = "订单编号")
@@ -40,10 +41,4 @@ public class C2cOrderListDTO implements Serializable {
 	@SchemaProperty(name = "是否商家")
 	private Integer isMt;
 
-    @SchemaProperty(name = "页码")
-    private Integer pageNum;
-
-    @SchemaProperty(name = "每页条数")
-    private Integer pageSize;
-
 }

+ 3 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/AppAssetLogService.java

@@ -1,6 +1,7 @@
 package com.qnfhq.modules.c2c.service;
 
-import com.qnfhq.common.service.CrudService;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.modules.c2c.dto.AppAssetLogDTO;
 import com.qnfhq.modules.c2c.entity.AppAssetLogEntity;
 
@@ -12,7 +13,7 @@ import java.math.BigDecimal;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-19
  */
-public interface AppAssetLogService extends CrudService<AppAssetLogEntity, AppAssetLogDTO> {
+public interface AppAssetLogService extends IService<AppAssetLogEntity> {
 
     /**
      * 插入资产日志

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cAdLogService.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.c2c.service;
 
-import com.qnfhq.common.service.BaseService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.modules.c2c.entity.C2cAdLogEntity;
 
 import java.math.BigDecimal;
@@ -11,7 +11,7 @@ import java.math.BigDecimal;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-17
  */
-public interface C2cAdLogService extends BaseService<C2cAdLogEntity> {
+public interface C2cAdLogService extends IService<C2cAdLogEntity> {
 
     boolean insertC2cAdLog(Long adId, Long orderId, BigDecimal symbolNum,
                        BigDecimal availableNum, BigDecimal afterAvailNum,

+ 4 - 4
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cAdService.java

@@ -1,8 +1,8 @@
 package com.qnfhq.modules.c2c.service;
 
 import com.qnfhq.common.page.PageData;
-import com.qnfhq.common.service.BaseService;
-import com.qnfhq.common.service.CrudService;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.common.utils.Result;
 import com.qnfhq.modules.c2c.dto.*;
 import com.qnfhq.modules.c2c.entity.C2cAdEntity;
@@ -16,13 +16,13 @@ import java.util.Map;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-17
  */
-public interface C2cAdService extends BaseService<C2cAdEntity> {
+public interface C2cAdService extends IService<C2cAdEntity> {
 
     public Result createAd(C2cAdCreateDTO c2cAdDTO, long loginId) throws Exception;
 
     public Result cancelAd(C2cAdEntity ad) throws Exception;
 
-    PageData<C2cAdEntity> page(Map<String, Object> params);
+//    PageData<C2cAdEntity> page(Map<String, Object> params);
 
     /**
      *  设置广告缓存

+ 3 - 3
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cLegalCoinService.java

@@ -1,7 +1,7 @@
 package com.qnfhq.modules.c2c.service;
 
-import com.qnfhq.common.service.BaseService;
-import com.qnfhq.common.service.CrudService;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.modules.c2c.dto.C2cLegalCoinDTO;
 import com.qnfhq.modules.c2c.entity.C2cLegalCoinEntity;
 
@@ -13,7 +13,7 @@ import java.util.List;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-18
  */
-public interface C2cLegalCoinService extends BaseService<C2cLegalCoinEntity> {
+public interface C2cLegalCoinService extends IService<C2cLegalCoinEntity> {
     C2cLegalCoinEntity selectC2cLegalCoinByLegalCoin(String legalCoin);
     List<C2cLegalCoinEntity> selectAllList();
 }

+ 3 - 3
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cMerchantConfigService.java

@@ -1,7 +1,7 @@
 package com.qnfhq.modules.c2c.service;
 
-import com.qnfhq.common.service.BaseService;
-import com.qnfhq.common.service.CrudService;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.modules.c2c.dto.C2cMerchantConfigDTO;
 import com.qnfhq.modules.c2c.entity.C2cMerchantConfigEntity;
 
@@ -15,7 +15,7 @@ import java.util.Map;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-17
  */
-public interface C2cMerchantConfigService extends BaseService<C2cMerchantConfigEntity> {
+public interface C2cMerchantConfigService extends IService<C2cMerchantConfigEntity> {
 
     C2cMerchantConfigEntity getMerchantConfig(String legalCoin);
 

+ 3 - 3
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cMerchantService.java

@@ -1,7 +1,7 @@
 package com.qnfhq.modules.c2c.service;
 
-import com.qnfhq.common.service.BaseService;
-import com.qnfhq.common.service.CrudService;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.modules.c2c.dto.C2cMerchantApplyDTO;
 import com.qnfhq.modules.c2c.dto.C2cMerchantDTO;
 import com.qnfhq.modules.c2c.entity.C2cMerchantEntity;
@@ -16,7 +16,7 @@ import java.util.Map;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-17
  */
-public interface C2cMerchantService extends BaseService<C2cMerchantEntity> {
+public interface C2cMerchantService extends IService<C2cMerchantEntity> {
 
     C2cMerchantEntity getMerchantEntity(long userId);
 

+ 3 - 3
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cOrderComplainService.java

@@ -1,7 +1,7 @@
 package com.qnfhq.modules.c2c.service;
 
-import com.qnfhq.common.service.BaseService;
-import com.qnfhq.common.service.CrudService;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.modules.c2c.dto.C2cOrderComplainDTO;
 import com.qnfhq.modules.c2c.entity.C2cOrderComplainEntity;
 
@@ -13,7 +13,7 @@ import java.util.List;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-17
  */
-public interface C2cOrderComplainService extends BaseService<C2cOrderComplainEntity> {
+public interface C2cOrderComplainService extends IService<C2cOrderComplainEntity> {
 
     /**
      *  查询申诉列表

+ 3 - 3
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cOrderComplainVoucherService.java

@@ -1,7 +1,7 @@
 package com.qnfhq.modules.c2c.service;
 
-import com.qnfhq.common.service.BaseService;
-import com.qnfhq.common.service.CrudService;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.modules.c2c.dto.C2cOrderComplainVoucherDTO;
 import com.qnfhq.modules.c2c.entity.C2cOrderComplainVoucherEntity;
 
@@ -13,6 +13,6 @@ import java.util.List;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-17
  */
-public interface C2cOrderComplainVoucherService extends BaseService<C2cOrderComplainVoucherEntity> {
+public interface C2cOrderComplainVoucherService extends IService<C2cOrderComplainVoucherEntity> {
     List<C2cOrderComplainVoucherEntity> selectList(Long complainId);
 }

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cOrderLogService.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.c2c.service;
 
-import com.qnfhq.common.service.BaseService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.modules.c2c.dto.C2cOrderLogDTO;
 import com.qnfhq.modules.c2c.entity.C2cOrderLogEntity;
 
@@ -10,6 +10,6 @@ import com.qnfhq.modules.c2c.entity.C2cOrderLogEntity;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-17
  */
-public interface C2cOrderLogService extends BaseService<C2cOrderLogEntity> {
+public interface C2cOrderLogService extends IService<C2cOrderLogEntity> {
 
 }

+ 3 - 3
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cOrderService.java

@@ -2,7 +2,7 @@ package com.qnfhq.modules.c2c.service;
 
 
 import com.qnfhq.common.page.PageData;
-import com.qnfhq.common.service.BaseService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.common.utils.Result;
 import com.qnfhq.modules.c2c.dto.C2cOrderCreateDTO;
 import com.qnfhq.modules.c2c.dto.C2cOrderDTO;
@@ -20,9 +20,9 @@ import java.util.Map;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-17
  */
-public interface C2cOrderService extends BaseService<C2cOrderEntity> {
+public interface C2cOrderService extends IService<C2cOrderEntity> {
 
-    PageData<C2cOrderEntity> page(Map<String, Object> params);
+//    PageData<C2cOrderEntity> page(Map<String, Object> params);
 
     /**
      * c2c订单编号缓存Key

+ 3 - 3
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cPayWayService.java

@@ -1,7 +1,7 @@
 package com.qnfhq.modules.c2c.service;
 
-import com.qnfhq.common.service.BaseService;
-import com.qnfhq.common.service.CrudService;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.modules.c2c.entity.C2cPayWayEntity;
 
 import java.util.List;
@@ -12,7 +12,7 @@ import java.util.List;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-18
  */
-public interface C2cPayWayService extends BaseService<C2cPayWayEntity> {
+public interface C2cPayWayService extends IService<C2cPayWayEntity> {
     /**
      * 查询法币
      * @param legalCoin

+ 3 - 3
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cPaymentVoucherService.java

@@ -1,7 +1,7 @@
 package com.qnfhq.modules.c2c.service;
 
-import com.qnfhq.common.service.BaseService;
-import com.qnfhq.common.service.CrudService;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.modules.c2c.dto.C2cPaymentVoucherDTO;
 import com.qnfhq.modules.c2c.entity.C2cPaymentVoucherEntity;
 
@@ -13,7 +13,7 @@ import java.util.List;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-17
  */
-public interface C2cPaymentVoucherService extends BaseService<C2cPaymentVoucherEntity> {
+public interface C2cPaymentVoucherService extends IService<C2cPaymentVoucherEntity> {
     List<C2cPaymentVoucherEntity> selectList(Long orderId);
 
     public List<C2cPaymentVoucherEntity> selectC2cPaymentVoucherByIds(Long[] ids);

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/C2cUserReceiptService.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.c2c.service;
 
-import com.qnfhq.common.service.BaseService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.modules.c2c.dto.C2cMyReceiptDTO;
 import com.qnfhq.modules.c2c.dto.C2cUserReceiptDTO;
 import com.qnfhq.modules.c2c.entity.C2cUserReceiptEntity;
@@ -13,7 +13,7 @@ import java.util.List;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-17
  */
-public interface C2cUserReceiptService extends BaseService<C2cUserReceiptEntity> {
+public interface C2cUserReceiptService extends IService<C2cUserReceiptEntity> {
 
     List<C2cUserReceiptEntity> selectListMyReceipt(C2cMyReceiptDTO dto);
 

+ 5 - 11
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/AppAssetLogServiceImpl.java

@@ -1,12 +1,14 @@
 package com.qnfhq.modules.c2c.service.impl;
 
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.common.service.impl.CrudServiceImpl;
 import com.qnfhq.modules.c2c.dao.AppAssetLogDao;
 import com.qnfhq.modules.c2c.dto.AppAssetLogDTO;
 import com.qnfhq.modules.c2c.entity.AppAssetLogEntity;
 import com.qnfhq.modules.c2c.service.AppAssetLogService;
-import cn.hutool.core.util.StrUtil;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -20,17 +22,9 @@ import java.util.Map;
  * @since 1.0.0 2025-11-19
  */
 @Service
-public class AppAssetLogServiceImpl extends CrudServiceImpl<AppAssetLogDao, AppAssetLogEntity, AppAssetLogDTO> implements AppAssetLogService {
+public class AppAssetLogServiceImpl extends ServiceImpl<AppAssetLogDao, AppAssetLogEntity> implements AppAssetLogService {
 
-    @Override
-    public QueryWrapper<AppAssetLogEntity> getWrapper(Map<String, Object> params){
-        String id = (String)params.get("id");
 
-        QueryWrapper<AppAssetLogEntity> wrapper = new QueryWrapper<>();
-        wrapper.eq(StrUtil.isNotBlank(id), "id", id);
-
-        return wrapper;
-    }
 
 
     @Override
@@ -52,6 +46,6 @@ public class AppAssetLogServiceImpl extends CrudServiceImpl<AppAssetLogDao, AppA
         appAssetLogEntity.setAfterFrozen(afterFrozen);
         appAssetLogEntity.setRemark(remark);
         appAssetLogEntity.setCreateTime(new Date());
-        return insert(appAssetLogEntity);
+        return save(appAssetLogEntity);
     }
 }

+ 3 - 5
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cAdLogServiceImpl.java

@@ -1,9 +1,7 @@
 package com.qnfhq.modules.c2c.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.qnfhq.common.service.impl.BaseServiceImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.modules.c2c.dao.C2cAdLogDao;
-import com.qnfhq.modules.c2c.dto.C2cAdLogDTO;
 import com.qnfhq.modules.c2c.entity.C2cAdLogEntity;
 import com.qnfhq.modules.c2c.service.C2cAdLogService;
 import org.springframework.stereotype.Service;
@@ -19,7 +17,7 @@ import java.util.Date;
  * @since 1.0.0 2025-11-17
  */
 @Service
-public class C2cAdLogServiceImpl extends BaseServiceImpl<C2cAdLogDao, C2cAdLogEntity> implements C2cAdLogService {
+public class C2cAdLogServiceImpl extends ServiceImpl<C2cAdLogDao, C2cAdLogEntity> implements C2cAdLogService {
 
 //    @Override
 //    public QueryWrapper<C2cAdLogEntity> getWrapper(Map<String, Object> params){
@@ -46,7 +44,7 @@ public class C2cAdLogServiceImpl extends BaseServiceImpl<C2cAdLogDao, C2cAdLogEn
         c2cAdLogEntity.setAfterMaxAmount(afterMaxAmount);
         c2cAdLogEntity.setRemark(remark);
         c2cAdLogEntity.setCreateTime(new Date());
-        return insert(c2cAdLogEntity);
+        return save(c2cAdLogEntity);
     }
 
 

+ 26 - 23
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cAdServiceImpl.java

@@ -9,11 +9,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.Query;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qnfhq.common.constant.Constant;
 import com.qnfhq.common.exception.ErrorCode;
 import com.qnfhq.common.page.PageData;
 import com.qnfhq.common.redis.RedisUtils;
-import com.qnfhq.common.service.impl.BaseServiceImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.common.service.impl.CrudServiceImpl;
 import com.qnfhq.common.utils.MessageUtils;
 import com.qnfhq.common.utils.Result;
@@ -49,7 +50,7 @@ import java.util.concurrent.TimeUnit;
  */
 @Slf4j
 @Service
-public class C2cAdServiceImpl extends BaseServiceImpl<C2cAdDao, C2cAdEntity> implements C2cAdService {
+public class C2cAdServiceImpl extends ServiceImpl<C2cAdDao, C2cAdEntity> implements C2cAdService {
 
     @Resource
     private C2cMerchantService c2cMerchantService;
@@ -140,7 +141,7 @@ public class C2cAdServiceImpl extends BaseServiceImpl<C2cAdDao, C2cAdEntity> imp
 //        c2cAd.setFinishNum(merchant.getFinishNum());
         //成单率
 //        c2cAd.setFinishRate(merchant.getFinishRate());
-        if(!insert(c2cAd)) {
+        if(!save(c2cAd)) {
             throw new Exception(MessageUtils.message("c2c.order.save.fail"));//保存广告失败
         }
         if (direction.intValue() == DirectionEnum.SELL.getCode().intValue()) {
@@ -245,15 +246,15 @@ public class C2cAdServiceImpl extends BaseServiceImpl<C2cAdDao, C2cAdEntity> imp
     }
 
 
-    @Override
-    public PageData<C2cAdEntity> page(Map<String, Object> params) {
-        IPage<C2cAdEntity> page = baseDao.selectPage(
-                getPage(params, "id", false),
-                getWrapper(params)
-        );
-
-        return getPageData(page, C2cAdEntity.class);
-    }
+//    @Override
+//    public PageData<C2cAdEntity> page(Map<String, Object> params) {
+//        IPage<C2cAdEntity> page = baseDao.selectPage(
+//                getPage(params, "id", false),
+//                getWrapper(params)
+//        );
+//
+//        return getPageData(page, C2cAdEntity.class);
+//    }
 
     private QueryWrapper<C2cAdEntity> getWrapper(Map<String, Object> params){
 
@@ -316,7 +317,7 @@ public class C2cAdServiceImpl extends BaseServiceImpl<C2cAdDao, C2cAdEntity> imp
                     Long adIdLong = Long.valueOf((String)adId);
                     C2cAdEntity ad = selectAdFromRedis(adIdLong);
                     if(ad == null) {
-                        ad = selectById(adIdLong);
+                        ad = getById(adIdLong);
                         if(ad==null) {
                             redisUtils.removeZset(zQuickKey, adIdLong.toString());
                         }
@@ -379,7 +380,7 @@ public class C2cAdServiceImpl extends BaseServiceImpl<C2cAdDao, C2cAdEntity> imp
      */
     private List<C2cAdEntity> selectC2cAdTranList(String symbol,Integer direction,
                                                   String legalCoin,BigDecimal tranAmount) {
-        return baseDao.selectList(new LambdaQueryWrapper<C2cAdEntity>()
+        return list(new LambdaQueryWrapper<C2cAdEntity>()
                     .eq(C2cAdEntity::getDirection,direction)
                     .eq(C2cAdEntity::getLegalCoin,legalCoin)
                     .eq(C2cAdEntity::getSymbol,symbol)
@@ -404,7 +405,7 @@ public class C2cAdServiceImpl extends BaseServiceImpl<C2cAdDao, C2cAdEntity> imp
         if(viewDTO.getId()!=null) {
             C2cAdEntity ad = selectAdFromRedis(viewDTO.getId());
             if(ad == null) {
-                ad = selectById(viewDTO.getId());
+                ad = getById(viewDTO.getId());
             }
             if(ad!=null) {
                 resList.add(ad);
@@ -448,7 +449,7 @@ public class C2cAdServiceImpl extends BaseServiceImpl<C2cAdDao, C2cAdEntity> imp
                     Long adIdLong = Long.valueOf((String)adId);
                     C2cAdEntity ad = selectAdFromRedis(adIdLong);
                     if(ad == null) {
-                        ad = selectById(adIdLong);
+                        ad = getById(adIdLong);
                         delSetAdCache(ad);
                     }
                     if(ad!=null && ad.getUserId().longValue()!=StpUtil.getLoginIdAsLong()) {
@@ -478,13 +479,15 @@ public class C2cAdServiceImpl extends BaseServiceImpl<C2cAdDao, C2cAdEntity> imp
             wrapper.and(qw -> createQw(qw, finalPaywayList));
         }
 
-
-        IPage<C2cAdEntity> page = baseDao.selectPage(
-                getPage(params, "price", "asc".equals(type) ? true : false),
-                wrapper
-        );
-        PageData<C2cAdEntity> data = getPageData(page, C2cAdEntity.class);
-        return result.ok(data);
+        //todo 分页
+        return null;
+//        IPage<C2cAdEntity> page2 =new Page<>();
+//        IPage<C2cAdEntity> page = baseDao.selectPage(
+//                getPage(params, "price", "asc".equals(type) ? true : false),
+//                wrapper
+//        );
+//        PageData<C2cAdEntity> data = getPageData(page, C2cAdEntity.class);
+//        return result.ok(data);
     }
 
     private void createQw(LambdaQueryWrapper<C2cAdEntity> qw, List<String> paywayList) {

+ 4 - 5
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cLegalCoinServiceImpl.java

@@ -2,7 +2,7 @@ package com.qnfhq.modules.c2c.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.qnfhq.common.service.impl.BaseServiceImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.common.service.impl.CrudServiceImpl;
 import com.qnfhq.modules.c2c.dao.C2cLegalCoinDao;
 import com.qnfhq.modules.c2c.dto.C2cLegalCoinDTO;
@@ -21,21 +21,20 @@ import java.util.Map;
  * @since 1.0.0 2025-11-18
  */
 @Service
-public class C2cLegalCoinServiceImpl extends BaseServiceImpl<C2cLegalCoinDao, C2cLegalCoinEntity> implements C2cLegalCoinService {
+public class C2cLegalCoinServiceImpl extends ServiceImpl<C2cLegalCoinDao, C2cLegalCoinEntity> implements C2cLegalCoinService {
 
 
     @Override
     public C2cLegalCoinEntity selectC2cLegalCoinByLegalCoin(String legalCoin) {
-        return baseDao.selectOne(new LambdaQueryWrapper<C2cLegalCoinEntity>()
+        return getOne(new LambdaQueryWrapper<C2cLegalCoinEntity>()
                 .eq(StrUtil.isNotBlank(legalCoin), C2cLegalCoinEntity::getCurrencyCode, legalCoin)
                 .eq(C2cLegalCoinEntity::getStatus,1)
-                .last(" limit 1")
         );
     }
 
     @Override
     public List<C2cLegalCoinEntity> selectAllList() {
-        return baseDao.selectList(new LambdaQueryWrapper<C2cLegalCoinEntity>()
+        return list(new LambdaQueryWrapper<C2cLegalCoinEntity>()
                 .eq(C2cLegalCoinEntity::getStatus,1)
         );
     }

+ 3 - 4
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cMerchantConfigServiceImpl.java

@@ -2,7 +2,7 @@ package com.qnfhq.modules.c2c.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.qnfhq.common.service.impl.BaseServiceImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.common.service.impl.CrudServiceImpl;
 import com.qnfhq.modules.c2c.dao.C2cMerchantConfigDao;
 import com.qnfhq.modules.c2c.dto.C2cMerchantConfigDTO;
@@ -23,7 +23,7 @@ import java.util.Map;
  * @since 1.0.0 2025-11-17
  */
 @Service
-public class C2cMerchantConfigServiceImpl extends BaseServiceImpl<C2cMerchantConfigDao, C2cMerchantConfigEntity> implements C2cMerchantConfigService {
+public class C2cMerchantConfigServiceImpl extends ServiceImpl<C2cMerchantConfigDao, C2cMerchantConfigEntity> implements C2cMerchantConfigService {
 
 //    @Override
 //    public QueryWrapper<C2cMerchantConfigEntity> getWrapper(Map<String, Object> params){
@@ -37,9 +37,8 @@ public class C2cMerchantConfigServiceImpl extends BaseServiceImpl<C2cMerchantCon
 
     @Override
     public C2cMerchantConfigEntity getMerchantConfig(String legalCoin) {
-        return baseDao.selectOne(new LambdaQueryWrapper<C2cMerchantConfigEntity>()
+        return getOne(new LambdaQueryWrapper<C2cMerchantConfigEntity>()
                 .eq(C2cMerchantConfigEntity::getLegalCoin, legalCoin)
-                .last(" limit 1")
         );
     }
 

+ 6 - 11
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cMerchantServiceImpl.java

@@ -2,21 +2,17 @@ package com.qnfhq.modules.c2c.service.impl;
 
 import cn.hutool.core.map.MapUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.common.exception.RenException;
-import com.qnfhq.common.service.impl.BaseServiceImpl;
-import com.qnfhq.common.service.impl.CrudServiceImpl;
 import com.qnfhq.common.utils.MessageUtils;
 import com.qnfhq.common.utils.Result;
 import com.qnfhq.modules.c2c.dao.C2cMerchantDao;
 import com.qnfhq.modules.c2c.dto.C2cMerchantApplyDTO;
-import com.qnfhq.modules.c2c.dto.C2cMerchantDTO;
 import com.qnfhq.modules.c2c.entity.C2cMerchantConfigEntity;
 import com.qnfhq.modules.c2c.entity.C2cMerchantEntity;
 import com.qnfhq.modules.c2c.enums.MerchantStatusEnum;
 import com.qnfhq.modules.c2c.service.C2cMerchantConfigService;
 import com.qnfhq.modules.c2c.service.C2cMerchantService;
-import cn.hutool.core.util.StrUtil;
 import com.qnfhq.modules.user.entity.AppAssetEntity;
 import com.qnfhq.modules.user.entity.AppUserDetailEntity;
 import com.qnfhq.modules.user.entity.AppUserEntity;
@@ -26,7 +22,6 @@ import com.qnfhq.modules.user.service.AppUserDetailService;
 import com.qnfhq.modules.user.service.AppUserService;
 import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
-import org.springframework.util.StringUtils;
 
 import java.math.BigDecimal;
 import java.util.*;
@@ -39,7 +34,7 @@ import java.util.stream.Collectors;
  * @since 1.0.0 2025-11-17
  */
 @Service
-public class C2cMerchantServiceImpl extends BaseServiceImpl<C2cMerchantDao, C2cMerchantEntity> implements C2cMerchantService {
+public class C2cMerchantServiceImpl extends ServiceImpl<C2cMerchantDao, C2cMerchantEntity> implements C2cMerchantService {
 
 //    @Override
 //    public QueryWrapper<C2cMerchantEntity> getWrapper(Map<String, Object> params){
@@ -65,7 +60,7 @@ public class C2cMerchantServiceImpl extends BaseServiceImpl<C2cMerchantDao, C2cM
 
     @Override
     public C2cMerchantEntity getMerchantEntity(long userId) {
-        return baseDao.selectOne(new LambdaQueryWrapper<C2cMerchantEntity>()
+        return getOne(new LambdaQueryWrapper<C2cMerchantEntity>()
                 .eq(C2cMerchantEntity::getUserId, userId)
                 .last(" limit 1")
         );
@@ -96,7 +91,7 @@ public class C2cMerchantServiceImpl extends BaseServiceImpl<C2cMerchantDao, C2cM
             ret.put("margin",new Result().set(1, MapUtil.of("availableAmount",avaAmount),"ok"));
         }
 
-        AppUserEntity appUser = appUserService.selectById(loginId);
+        AppUserEntity appUser = appUserService.getById(loginId);
         if(Objects.isNull(appUser) || appUser.getPhone().isEmpty()) {
             ret.put("phone",new Result().error(0,MessageUtils.message("complete.mobile.bind")));
         } else {
@@ -149,7 +144,7 @@ public class C2cMerchantServiceImpl extends BaseServiceImpl<C2cMerchantDao, C2cM
             throw new RenException(MessageUtils.message("your.account.available.balance.insufficient",margin));
         }
 
-        AppUserEntity appUser = appUserService.selectById(loginId);
+        AppUserEntity appUser = appUserService.getById(loginId);
         if(Objects.isNull(appUser) || appUser.getPhone().isEmpty()) {
             throw new RenException(MessageUtils.message("complete.mobile.bind"));//完成手机号绑定
         }
@@ -174,7 +169,7 @@ public class C2cMerchantServiceImpl extends BaseServiceImpl<C2cMerchantDao, C2cM
             merchant.setStatus(MerchantStatusEnum.PENDING.getCode());//0 审批中
             merchant.setCreateTime(new Date());
             merchant.setUpdateTime(new Date());
-            insert(merchant);
+            save(merchant);
         }
     }
 

+ 3 - 8
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cOrderComplainServiceImpl.java

@@ -1,18 +1,13 @@
 package com.qnfhq.modules.c2c.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.qnfhq.common.service.impl.BaseServiceImpl;
-import com.qnfhq.common.service.impl.CrudServiceImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.modules.c2c.dao.C2cOrderComplainDao;
-import com.qnfhq.modules.c2c.dto.C2cOrderComplainDTO;
 import com.qnfhq.modules.c2c.entity.C2cOrderComplainEntity;
 import com.qnfhq.modules.c2c.service.C2cOrderComplainService;
-import cn.hutool.core.util.StrUtil;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
-import java.util.Map;
 import java.util.Objects;
 
 /**
@@ -22,7 +17,7 @@ import java.util.Objects;
  * @since 1.0.0 2025-11-17
  */
 @Service
-public class C2cOrderComplainServiceImpl extends BaseServiceImpl<C2cOrderComplainDao, C2cOrderComplainEntity> implements C2cOrderComplainService {
+public class C2cOrderComplainServiceImpl extends ServiceImpl<C2cOrderComplainDao, C2cOrderComplainEntity> implements C2cOrderComplainService {
 
 //    @Override
 //    public QueryWrapper<C2cOrderComplainEntity> getWrapper(Map<String, Object> params){
@@ -35,7 +30,7 @@ public class C2cOrderComplainServiceImpl extends BaseServiceImpl<C2cOrderComplai
 //    }
     @Override
     public List<C2cOrderComplainEntity> selectC2cOrderComplainList(Long orderId) {
-        return baseDao.selectList(new LambdaQueryWrapper<C2cOrderComplainEntity>()
+        return list(new LambdaQueryWrapper<C2cOrderComplainEntity>()
                 .eq(Objects.nonNull(orderId),C2cOrderComplainEntity::getOrderId, orderId)
                 .orderByDesc(C2cOrderComplainEntity::getId)
             );

+ 3 - 3
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cOrderComplainVoucherServiceImpl.java

@@ -1,7 +1,7 @@
 package com.qnfhq.modules.c2c.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.qnfhq.common.service.impl.BaseServiceImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.common.service.impl.CrudServiceImpl;
 import com.qnfhq.modules.c2c.dao.C2cOrderComplainVoucherDao;
 import com.qnfhq.modules.c2c.dto.C2cOrderComplainVoucherDTO;
@@ -21,7 +21,7 @@ import java.util.Objects;
  * @since 1.0.0 2025-11-17
  */
 @Service
-public class C2cOrderComplainVoucherServiceImpl extends BaseServiceImpl<C2cOrderComplainVoucherDao, C2cOrderComplainVoucherEntity> implements C2cOrderComplainVoucherService {
+public class C2cOrderComplainVoucherServiceImpl extends ServiceImpl<C2cOrderComplainVoucherDao, C2cOrderComplainVoucherEntity> implements C2cOrderComplainVoucherService {
 
 //    @Override
 //    public QueryWrapper<C2cOrderComplainVoucherEntity> getWrapper(Map<String, Object> params){
@@ -35,7 +35,7 @@ public class C2cOrderComplainVoucherServiceImpl extends BaseServiceImpl<C2cOrder
 
     @Override
     public List<C2cOrderComplainVoucherEntity> selectList(Long complainId) {
-        return baseDao.selectList(new QueryWrapper<C2cOrderComplainVoucherEntity>()
+        return list(new QueryWrapper<C2cOrderComplainVoucherEntity>()
                 .eq(Objects.nonNull(complainId),"complain_id", complainId)
                 .eq("status", 1)
                 .orderByDesc("id")

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cOrderLogServiceImpl.java

@@ -1,7 +1,7 @@
 package com.qnfhq.modules.c2c.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.qnfhq.common.service.impl.BaseServiceImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.common.service.impl.CrudServiceImpl;
 import com.qnfhq.modules.c2c.dao.C2cOrderLogDao;
 import com.qnfhq.modules.c2c.dto.C2cOrderLogDTO;
@@ -19,7 +19,7 @@ import java.util.Map;
  * @since 1.0.0 2025-11-17
  */
 @Service
-public class C2cOrderLogServiceImpl extends BaseServiceImpl<C2cOrderLogDao, C2cOrderLogEntity> implements C2cOrderLogService {
+public class C2cOrderLogServiceImpl extends ServiceImpl<C2cOrderLogDao, C2cOrderLogEntity> implements C2cOrderLogService {
 
 //    @Override
 //    public QueryWrapper<C2cOrderLogEntity> getWrapper(Map<String, Object> params){

+ 18 - 18
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cOrderServiceImpl.java

@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.qnfhq.common.constant.Constant;
 import com.qnfhq.common.page.PageData;
 import com.qnfhq.common.redis.RedisUtils;
-import com.qnfhq.common.service.impl.BaseServiceImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.common.service.impl.CrudServiceImpl;
 import com.qnfhq.common.utils.DateUtils;
 import com.qnfhq.common.utils.MessageUtils;
@@ -50,7 +50,7 @@ import java.util.stream.Collectors;
  * @since 1.0.0 2025-11-17
  */
 @Service
-public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEntity> implements C2cOrderService {
+public class C2cOrderServiceImpl extends ServiceImpl<C2cOrderDao, C2cOrderEntity> implements C2cOrderService {
     @Resource
     private RedisUtils redisUtils;
 
@@ -85,15 +85,15 @@ public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEn
     private C2cOrderDao c2cOrderDao;
 
 
-    @Override
-    public PageData<C2cOrderEntity> page(Map<String, Object> params) {
-        IPage<C2cOrderEntity> page = baseDao.selectPage(
-                getPage(params, "id", false),
-                getWrapper(params)
-        );
-
-        return getPageData(page, C2cOrderEntity.class);
-    }
+//    @Override
+//    public PageData<C2cOrderEntity> page(Map<String, Object> params) {
+//        IPage<C2cOrderEntity> page = baseDao.selectPage(
+//                getPage(params, "id", false),
+//                getWrapper(params)
+//        );
+//
+//        return getPageData(page, C2cOrderEntity.class);
+//    }
 
 
     public QueryWrapper<C2cOrderEntity> getWrapper(Map<String, Object> params){
@@ -146,7 +146,7 @@ public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEn
 
     @Override
     public C2cOrderEntity getTradingByAdId(long adId) {
-        return baseDao.selectOne(new LambdaQueryWrapper<C2cOrderEntity>()
+        return getOne(new LambdaQueryWrapper<C2cOrderEntity>()
                 .eq(C2cOrderEntity::getC2cAdId, adId)
                 .eq(C2cOrderEntity::getFlow, 0)
                 .last(" limit 1")
@@ -159,7 +159,7 @@ public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEn
     public C2cOrderEntity selectOrder(Long id) {
         C2cOrderEntity order = selectOrderFromRedis(id);
         if(order == null) {
-            order = selectById(id);
+            order = getById(id);
             if(order == null) {
                 return null;
             }
@@ -384,7 +384,7 @@ public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEn
         c2cOrderLog.setOpUserId(loginId);
         c2cOrderLog.setOpType(opType);
         c2cOrderLog.setCreateTime(new Date());
-        if(!c2cOrderLogService.insert(c2cOrderLog)) {
+        if(!c2cOrderLogService.save(c2cOrderLog)) {
             throw new Exception(MessageUtils.message("c2c.order.log.fail"));//插入订单日志失败
         }
     }
@@ -393,7 +393,7 @@ public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEn
     @Override
     public int cancelC2cOrderRedis(int oldStatus,C2cOrderEntity order) {
         //redis广告可用数量恢复
-        C2cAdEntity c2cAd = c2cAdService.selectById(order.getC2cAdId());
+        C2cAdEntity c2cAd = c2cAdService.getById(order.getC2cAdId());
         c2cAdService.deleteAdCache(c2cAd.getId(),c2cAd.getPayway().replaceAll("^,|,$", ""),c2cAd.getLegalCoin(),c2cAd.getSymbol(),c2cAd.getDirection());
         c2cAdService.setAdCache(c2cAd);
         deleteOrderCache(order);
@@ -475,7 +475,7 @@ public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEn
                     info.getFrozen(),info.getFrozen().subtract(order.getSymbolNum()),"用户卖出订单取消解冻资产");
         }
         //广告可用数量恢复
-        C2cAdEntity c2cAd = c2cAdService.selectById(order.getC2cAdId());
+        C2cAdEntity c2cAd = c2cAdService.getById(order.getC2cAdId());
         BigDecimal maxAmount = null;
         if(order.getTranAmount().compareTo(c2cAd.getMaxAmount())==1) {
             maxAmount = order.getTranAmount();
@@ -630,7 +630,7 @@ public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEn
 
         //判断是否需要创建买家资产账户
         if (Objects.isNull(buyerAsset)) {
-            AppUserEntity buyUser = appUserService.selectById(buyUserId);
+            AppUserEntity buyUser = appUserService.getById(buyUserId);
             appAssetService.createAsset(buyUser, order.getSymbol(), AssetEnum.PLATFORM_ASSETS.getCode());
 
             buyerAsset = new AppAssetEntity();
@@ -748,7 +748,7 @@ public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEn
         }
         c2cOrderComplain.setStatus(C2cOrderComplainEnum.COMPLAINT.getCode());
         c2cOrderComplain.setCreateTime(new Date());
-        if(!complainService.insert(c2cOrderComplain)) {
+        if(!complainService.save(c2cOrderComplain)) {
             throw new Exception(MessageUtils.message("c2c.order.complain.submit.fail"));//提交申诉失败
         }
 

+ 3 - 3
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cPayWayServiceImpl.java

@@ -2,7 +2,7 @@ package com.qnfhq.modules.c2c.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.qnfhq.common.service.impl.BaseServiceImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.common.service.impl.CrudServiceImpl;
 import com.qnfhq.modules.c2c.dao.C2cPayWayDao;
 import com.qnfhq.modules.c2c.dto.C2cPayWayDTO;
@@ -22,7 +22,7 @@ import java.util.Map;
  * @since 1.0.0 2025-11-18
  */
 @Service
-public class C2cPayWayServiceImpl extends BaseServiceImpl<C2cPayWayDao, C2cPayWayEntity> implements C2cPayWayService {
+public class C2cPayWayServiceImpl extends ServiceImpl<C2cPayWayDao, C2cPayWayEntity> implements C2cPayWayService {
 
 //    @Override
 //    public QueryWrapper<C2cPayWayEntity> getWrapper(Map<String, Object> params){
@@ -36,7 +36,7 @@ public class C2cPayWayServiceImpl extends BaseServiceImpl<C2cPayWayDao, C2cPayWa
 
     @Override
     public List<C2cPayWayEntity> selectListByLegalCoin(String legalCoin) {
-        return baseDao.selectList(new LambdaQueryWrapper<C2cPayWayEntity>()
+        return list(new LambdaQueryWrapper<C2cPayWayEntity>()
                 .eq(StrUtil.isNotBlank(legalCoin), C2cPayWayEntity::getCurrencyCode, legalCoin)
                 .eq(C2cPayWayEntity::getStatus,1)
         );

+ 3 - 3
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cPaymentVoucherServiceImpl.java

@@ -1,7 +1,7 @@
 package com.qnfhq.modules.c2c.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.qnfhq.common.service.impl.BaseServiceImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.common.service.impl.CrudServiceImpl;
 import com.qnfhq.modules.c2c.dao.C2cPaymentVoucherDao;
 import com.qnfhq.modules.c2c.dto.C2cPaymentVoucherDTO;
@@ -20,7 +20,7 @@ import java.util.Map;
  * @since 1.0.0 2025-11-17
  */
 @Service
-public class C2cPaymentVoucherServiceImpl extends BaseServiceImpl<C2cPaymentVoucherDao, C2cPaymentVoucherEntity> implements C2cPaymentVoucherService {
+public class C2cPaymentVoucherServiceImpl extends ServiceImpl<C2cPaymentVoucherDao, C2cPaymentVoucherEntity> implements C2cPaymentVoucherService {
     private final C2cPaymentVoucherDao c2cPaymentVoucherDao;
 
     public C2cPaymentVoucherServiceImpl(C2cPaymentVoucherDao c2cPaymentVoucherDao) {
@@ -40,7 +40,7 @@ public class C2cPaymentVoucherServiceImpl extends BaseServiceImpl<C2cPaymentVouc
 
     @Override
     public List<C2cPaymentVoucherEntity> selectList(Long orderId) {
-        return baseDao.selectList(new QueryWrapper<C2cPaymentVoucherEntity>().eq("order_id", orderId)
+        return list(new QueryWrapper<C2cPaymentVoucherEntity>().eq("order_id", orderId)
                 .eq("status", 1).orderByDesc("id"));
 
     }

+ 4 - 4
qnfhq-api/src/main/java/com/qnfhq/modules/c2c/service/impl/C2cUserReceiptServiceImpl.java

@@ -3,7 +3,7 @@ package com.qnfhq.modules.c2c.service.impl;
 import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.qnfhq.common.service.impl.BaseServiceImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.common.service.impl.CrudServiceImpl;
 import com.qnfhq.modules.c2c.dao.C2cUserReceiptDao;
 import com.qnfhq.modules.c2c.dto.C2cMyReceiptDTO;
@@ -24,7 +24,7 @@ import java.util.Objects;
  * @since 1.0.0 2025-11-17
  */
 @Service
-public class C2cUserReceiptServiceImpl extends BaseServiceImpl<C2cUserReceiptDao, C2cUserReceiptEntity> implements C2cUserReceiptService {
+public class C2cUserReceiptServiceImpl extends ServiceImpl<C2cUserReceiptDao, C2cUserReceiptEntity> implements C2cUserReceiptService {
 
 
     private QueryWrapper<C2cUserReceiptEntity> getWrapper(Map<String, Object> params){
@@ -41,12 +41,12 @@ public class C2cUserReceiptServiceImpl extends BaseServiceImpl<C2cUserReceiptDao
         QueryWrapper<C2cUserReceiptEntity> wrapper = new QueryWrapper<>();
         wrapper.eq(Objects.nonNull(dto.getUserId()), "user_id", dto.getUserId());
         wrapper.eq(Objects.nonNull(dto.getType()), "type", dto.getType());
-        return baseDao.selectList(wrapper);
+        return list(wrapper);
     }
 
     @Override
     public C2cUserReceiptEntity selectOneMyReceipt(Long userId,Integer type) {
-        return baseDao.selectOne(new LambdaQueryWrapper<C2cUserReceiptEntity>()
+        return getOne(new LambdaQueryWrapper<C2cUserReceiptEntity>()
                 .eq(Objects.nonNull(userId), C2cUserReceiptEntity::getUserId, userId)
                 .eq(Objects.nonNull(type), C2cUserReceiptEntity::getType, type)
                 .last(" limit 1"));

+ 3 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/user/dao/AppAssetDao.java

@@ -1,6 +1,7 @@
 package com.qnfhq.modules.user.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.user.entity.AppAssetEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -13,7 +14,7 @@ import java.util.Map;
  * @since 1.0.0 2025-11-13
  */
 @Mapper
-public interface AppAssetDao extends BaseDao<AppAssetEntity> {
+public interface AppAssetDao extends BaseMapper<AppAssetEntity> {
 
     /**
      * 冻结资产

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/user/dao/AppUserDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.user.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.user.entity.AppUserEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -11,7 +11,7 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 1.0.0 2025-11-11
  */
 @Mapper
-public interface AppUserDao extends BaseDao<AppUserEntity> {
+public interface AppUserDao extends BaseMapper<AppUserEntity> {
 
     AppUserEntity getUserByMobile(String mobile);
 

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/user/dao/AppUserDetailDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.user.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.user.entity.AppUserDetailEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -11,6 +11,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 1.0.0 2025-11-13
  */
 @Mapper
-public interface AppUserDetailDao extends BaseDao<AppUserDetailEntity> {
+public interface AppUserDetailDao extends BaseMapper<AppUserDetailEntity> {
 	
 }

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/user/dao/AppWalletRecordDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.user.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.user.entity.AppWalletRecordEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -11,6 +11,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 1.0.0 2025-11-20
  */
 @Mapper
-public interface AppWalletRecordDao extends BaseDao<AppWalletRecordEntity> {
+public interface AppWalletRecordDao extends BaseMapper<AppWalletRecordEntity> {
 	
 }

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/user/dao/AppuserLoginLogDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.user.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.user.entity.AppuserLoginLogEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -12,6 +12,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 1.0.0 2025-11-11
  */
 @Mapper
-public interface AppuserLoginLogDao extends BaseDao<AppuserLoginLogEntity> {
+public interface AppuserLoginLogDao extends BaseMapper<AppuserLoginLogEntity> {
 	
 }

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/user/dao/SettingDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.user.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.user.entity.SettingEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -11,6 +11,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 1.0.0 2025-11-13
  */
 @Mapper
-public interface SettingDao extends BaseDao<SettingEntity> {
+public interface SettingDao extends BaseMapper<SettingEntity> {
 	
 }

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/user/dao/SmsSendDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.user.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.user.entity.SmsSendEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -11,6 +11,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 1.0.0 2025-11-13
  */
 @Mapper
-public interface SmsSendDao extends BaseDao<SmsSendEntity> {
+public interface SmsSendDao extends BaseMapper<SmsSendEntity> {
 	
 }

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/user/dao/SmsTplDao.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.user.dao;
 
-import com.qnfhq.common.dao.BaseDao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qnfhq.modules.user.entity.SmsTplEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -11,6 +11,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 1.0.0 2025-11-13
  */
 @Mapper
-public interface SmsTplDao extends BaseDao<SmsTplEntity> {
+public interface SmsTplDao extends BaseMapper<SmsTplEntity> {
 	
 }

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/user/service/AppAssetService.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.user.service;
 
-import com.qnfhq.common.service.BaseService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.modules.user.entity.AppAssetEntity;
 import com.qnfhq.modules.user.entity.AppUserEntity;
 import com.qnfhq.modules.user.enums.AssetEnum;
@@ -14,7 +14,7 @@ import java.util.List;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-13
  */
-public interface AppAssetService extends BaseService<AppAssetEntity> {
+public interface AppAssetService extends IService<AppAssetEntity> {
 
     /**
      * 获取用户资产

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/user/service/AppUserDetailService.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.user.service;
 
-import com.qnfhq.common.service.BaseService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.modules.user.entity.AppUserDetailEntity;
 
 /**
@@ -9,7 +9,7 @@ import com.qnfhq.modules.user.entity.AppUserDetailEntity;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-13
  */
-public interface AppUserDetailService extends BaseService<AppUserDetailEntity> {
+public interface AppUserDetailService extends IService<AppUserDetailEntity> {
 
     AppUserDetailEntity selectAppUserDetailByUserId(long userId);
 }

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/user/service/AppUserService.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.user.service;
 
-import com.qnfhq.common.service.BaseService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.common.utils.Result;
 import com.qnfhq.modules.user.dto.*;
 import com.qnfhq.modules.user.entity.AppUserEntity;
@@ -12,7 +12,7 @@ import jakarta.servlet.http.HttpServletRequest;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-11
  */
-public interface AppUserService extends BaseService<AppUserEntity> {
+public interface AppUserService extends IService<AppUserEntity> {
 
     AppUserEntity getUserByEmail(String email);
 

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/user/service/AppWalletRecordService.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.user.service;
 
-import com.qnfhq.common.service.CrudService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.modules.user.dto.AppWalletRecordDTO;
 import com.qnfhq.modules.user.entity.AppWalletRecordEntity;
 
@@ -12,7 +12,7 @@ import java.math.BigDecimal;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-20
  */
-public interface AppWalletRecordService extends CrudService<AppWalletRecordEntity, AppWalletRecordDTO> {
+public interface AppWalletRecordService extends IService<AppWalletRecordEntity> {
 
     void generateRecord(Long userId, BigDecimal amount, int type, String createBy, String serialId, String remark, BigDecimal before, BigDecimal after, String coin, String adminParentIds);
 

+ 3 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/user/service/AppuserLoginLogService.java

@@ -1,6 +1,7 @@
 package com.qnfhq.modules.user.service;
 
-import com.qnfhq.common.service.BaseService;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.modules.user.entity.AppUserEntity;
 import com.qnfhq.modules.user.entity.AppuserLoginLogEntity;
 import jakarta.servlet.http.HttpServletRequest;
@@ -11,7 +12,7 @@ import jakarta.servlet.http.HttpServletRequest;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-11
  */
-public interface AppuserLoginLogService extends BaseService<AppuserLoginLogEntity> {
+public interface AppuserLoginLogService extends IService<AppuserLoginLogEntity> {
 
 
     void insertAppActionLog(AppUserEntity user, String msg, String status, HttpServletRequest request);

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/user/service/SettingService.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.user.service;
 
-import com.qnfhq.common.service.BaseService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.modules.user.entity.SettingEntity;
 
 /**
@@ -9,6 +9,6 @@ import com.qnfhq.modules.user.entity.SettingEntity;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-13
  */
-public interface SettingService extends BaseService<SettingEntity> {
+public interface SettingService extends IService<SettingEntity> {
     SettingEntity getSetting(String id);
 }

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/user/service/SmsSendService.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.user.service;
 
-import com.qnfhq.common.service.BaseService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.common.utils.Result;
 import com.qnfhq.modules.user.dto.SendPhoneDto;
 import com.qnfhq.modules.user.entity.SmsSendEntity;
@@ -11,7 +11,7 @@ import com.qnfhq.modules.user.entity.SmsSendEntity;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-13
  */
-public interface SmsSendService extends BaseService<SmsSendEntity> {
+public interface SmsSendService extends IService<SmsSendEntity> {
     /**
      * 新版本发送验证码
      * @param mobileNumber

+ 2 - 2
qnfhq-api/src/main/java/com/qnfhq/modules/user/service/SmsTplService.java

@@ -1,6 +1,6 @@
 package com.qnfhq.modules.user.service;
 
-import com.qnfhq.common.service.BaseService;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.modules.user.entity.SmsTplEntity;
 
 /**
@@ -9,7 +9,7 @@ import com.qnfhq.modules.user.entity.SmsTplEntity;
  * @author yelz 30262728@qq.com
  * @since 1.0.0 2025-11-13
  */
-public interface SmsTplService extends BaseService<SmsTplEntity> {
+public interface SmsTplService extends IService<SmsTplEntity> {
 
     SmsTplEntity selectSmsTplByCode(String code);
 }

+ 4 - 4
qnfhq-api/src/main/java/com/qnfhq/modules/user/service/impl/AppAssetServiceImpl.java

@@ -4,7 +4,7 @@ import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.qnfhq.common.service.impl.BaseServiceImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.modules.user.dao.AppAssetDao;
 import com.qnfhq.modules.user.entity.AppAssetEntity;
 import com.qnfhq.modules.user.entity.AppUserEntity;
@@ -24,7 +24,7 @@ import java.util.*;
  * @since 1.0.0 2025-11-13
  */
 @Service
-public class AppAssetServiceImpl extends BaseServiceImpl<AppAssetDao, AppAssetEntity> implements AppAssetService {
+public class AppAssetServiceImpl extends ServiceImpl<AppAssetDao, AppAssetEntity> implements AppAssetService {
 
     @Resource
     private AppAssetDao appAssetDao;
@@ -62,7 +62,7 @@ public class AppAssetServiceImpl extends BaseServiceImpl<AppAssetDao, AppAssetEn
 
     @Override
     public AppAssetEntity getAppAssetEntity(Long userId, String symbol,Integer type) {
-        return baseDao.selectOne(new LambdaQueryWrapper<AppAssetEntity>()
+        return getOne(new LambdaQueryWrapper<AppAssetEntity>()
                 .eq(Objects.nonNull(userId),AppAssetEntity::getUserId, userId)
                 .eq(StrUtil.isNotBlank(symbol),AppAssetEntity::getSymbol, symbol)
                 .eq(Objects.nonNull(type),AppAssetEntity::getType, type)
@@ -101,7 +101,7 @@ public class AppAssetServiceImpl extends BaseServiceImpl<AppAssetDao, AppAssetEn
         tAppAsset.setType(type);
         tAppAsset.setCreateTime(new Date());
         tAppAsset.setUpdateTime(new Date());
-        return insert(tAppAsset);
+        return save(tAppAsset);
 
     }
 

+ 3 - 3
qnfhq-api/src/main/java/com/qnfhq/modules/user/service/impl/AppUserDetailServiceImpl.java

@@ -2,7 +2,7 @@ package com.qnfhq.modules.user.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.qnfhq.common.service.impl.BaseServiceImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.modules.user.dao.AppUserDetailDao;
 import com.qnfhq.modules.user.entity.AppUserDetailEntity;
 import com.qnfhq.modules.user.entity.AppUserEntity;
@@ -19,7 +19,7 @@ import java.util.Map;
  * @since 1.0.0 2025-11-13
  */
 @Service
-public class AppUserDetailServiceImpl extends BaseServiceImpl<AppUserDetailDao, AppUserDetailEntity> implements AppUserDetailService {
+public class AppUserDetailServiceImpl extends ServiceImpl<AppUserDetailDao, AppUserDetailEntity> implements AppUserDetailService {
 
 
 //    public QueryWrapper<AppUserDetailEntity> getWrapper(Map<String, Object> params){
@@ -33,7 +33,7 @@ public class AppUserDetailServiceImpl extends BaseServiceImpl<AppUserDetailDao,
 
     @Override
     public AppUserDetailEntity selectAppUserDetailByUserId(long userId) {
-        return baseDao.selectOne(new LambdaQueryWrapper<AppUserDetailEntity>()
+        return getOne(new LambdaQueryWrapper<AppUserDetailEntity>()
                 .eq(AppUserDetailEntity::getUserId, userId)
                 .last(" limit 1")
         );

+ 112 - 109
qnfhq-api/src/main/java/com/qnfhq/modules/user/service/impl/AppUserServiceImpl.java

@@ -33,10 +33,12 @@ import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletRequest;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
-import com.qnfhq.common.service.impl.BaseServiceImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
+
 import lombok.AllArgsConstructor;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
@@ -50,7 +52,7 @@ import org.springframework.util.CollectionUtils;
 @Slf4j
 @Service
 @AllArgsConstructor
-public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntity> implements AppUserService {
+public class AppUserServiceImpl extends ServiceImpl<AppUserDao, AppUserEntity> implements AppUserService {
 
     @Resource
     RedisUtils redisUtils;
@@ -75,7 +77,7 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
 
     @Override
     public AppUserEntity getUserByEmail(String email) {
-        return baseDao.selectOne(new LambdaQueryWrapper<AppUserEntity>()
+        return getOne(new LambdaQueryWrapper<AppUserEntity>()
                 .eq(AppUserEntity::getEmail, email)
                 .eq(AppUserEntity::getStatus, UserStatus.OK.getCode())
                 .last(" limit 1")
@@ -83,8 +85,8 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
     }
 
     @Override
-    public AppUserEntity getUserByMobile(String mobile,String zone) {
-        return baseDao.selectOne(new LambdaQueryWrapper<AppUserEntity>()
+    public AppUserEntity getUserByMobile(String mobile, String zone) {
+        return getOne(new LambdaQueryWrapper<AppUserEntity>()
                 .eq(AppUserEntity::getPhone, mobile)
                 .eq(AppUserEntity::getZone, zone)
                 .eq(AppUserEntity::getStatus, UserStatus.OK.getCode())
@@ -94,28 +96,29 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
 
     @Override
     public AppUserEntity getUserByUserId(Long userId) {
-        return baseDao.selectById(userId);
+        return getById(userId);
     }
 
     @Override
     public AppUserEntity getUserByActiveCode(String activeCode) {
-        return baseDao.selectOne(new LambdaQueryWrapper<AppUserEntity>()
+        return getOne(new LambdaQueryWrapper<AppUserEntity>()
                 .eq(AppUserEntity::getActiveCode, activeCode)
                 .eq(AppUserEntity::getStatus, UserStatus.OK.getCode())
                 .last(" limit 1")
         );
     }
 
-    public AppUserEntity getUserByLoginName(String loginName,String zone) {
-        if(Validator.isEmail(loginName)) {
+    public AppUserEntity getUserByLoginName(String loginName, String zone) {
+        if (Validator.isEmail(loginName)) {
             return getUserByEmail(loginName);
         } else {
-            return getUserByMobile(loginName,zone);
+            return getUserByMobile(loginName, zone);
         }
     }
 
     /**
      * 注册
+     *
      * @return
      */
     @Transactional(rollbackFor = Exception.class)
@@ -123,9 +126,9 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
     public Result register(AppRegisterDTO registerDto, HttpServletRequest request) {
         AppUserEntity fUser = null;
         //判断推荐码是否存在
-        if(StringUtils.isNotEmpty(registerDto.getActiveCode())) {
-            fUser  = getUserByActiveCode(registerDto.getActiveCode());
-            if(null == fUser) {
+        if (StringUtils.isNotEmpty(registerDto.getActiveCode())) {
+            fUser = getUserByActiveCode(registerDto.getActiveCode());
+            if (null == fUser) {
                 throw new RenException(MessageUtils.message("user.register.activecode.notexisit"));//推荐码不存在
             }
         }
@@ -139,17 +142,17 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
 
         //验证码校验
         String codeType = registerDto.getCodeType();
-        final String phoneCodeResultKey = String.format("%s%s%s%s%s",CachePrefix.SMS_CODE.getPrefix(),UserCodeTypeEnum.valueOf(codeType).name(),registerDto.getZone(),registerDto.getPhone(),":result");
+        final String phoneCodeResultKey = String.format("%s%s%s%s%s", CachePrefix.SMS_CODE.getPrefix(), UserCodeTypeEnum.valueOf(codeType).name(), registerDto.getZone(), registerDto.getPhone(), ":result");
         verifyResult(phoneCodeResultKey);
-        final String emailCodeResultKey = String.format("%s%s%s%s", CachePrefix.EMAIL_CODE.getPrefix(), UserCodeTypeEnum.valueOf(codeType).name(), registerDto.getEmail(),":result");
+        final String emailCodeResultKey = String.format("%s%s%s%s", CachePrefix.EMAIL_CODE.getPrefix(), UserCodeTypeEnum.valueOf(codeType).name(), registerDto.getEmail(), ":result");
         verifyResult(emailCodeResultKey);
 
         AppUserEntity appUser = getUserByEmail(registerDto.getEmail());
-        if(Objects.nonNull(appUser)){
+        if (Objects.nonNull(appUser)) {
             throw new RenException(MessageUtils.message("user.register.email.exisit"));//邮箱已存在
         }
-        appUser = getUserByMobile(registerDto.getPhone(),registerDto.getZone());
-        if(Objects.nonNull(appUser)){
+        appUser = getUserByMobile(registerDto.getPhone(), registerDto.getZone());
+        if (Objects.nonNull(appUser)) {
             throw new RenException(MessageUtils.message("user.register.phone.exisit"));//手机号已存在
         }
 
@@ -171,8 +174,8 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
         String activeCodeKey = "register_active_code";
         Long activeCode = redisUtils.increment(activeCodeKey, 1L, -1L);
         String registerActiveCode = activeCode.toString();
-        if(activeCode<100000L) {
-            registerActiveCode=OrderUtils.generateActiveCode(6,activeCode);
+        if (activeCode < 100000L) {
+            registerActiveCode = OrderUtils.generateActiveCode(6, activeCode);
         }
         appUserEntity.setActiveCode(registerActiveCode);
 
@@ -198,13 +201,13 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
             appUserEntity.setParentId(fUser.getId());
         }
         //设置昵称
-        appUserEntity.setNickname(OrderUtils.generateNickname("QN",12));
+        appUserEntity.setNickname(OrderUtils.generateNickname("QN", 12));
         String uuid = UUID.randomUUID().toString().replaceAll("-", "");
         //用户唯一标识
         appUserEntity.setUid(uuid);
         appUserEntity.setCreateTime(new Date());
         appUserEntity.setUpdateTime(new Date());
-        if(baseDao.insert(appUserEntity)<=0) {
+        if (save(appUserEntity)) {
             throw new RenException(MessageUtils.message("user.register.fail"));//注册失败
         }
 
@@ -223,12 +226,12 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
 
     /**
      * 登陆
+     *
      * @return
      */
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public Result login(AppLoginDTO dto, HttpServletRequest request)
-    {
+    public Result login(AppLoginDTO dto, HttpServletRequest request) {
         //图形验证码 要改滑动码
         //if(!captchaService.validate(dto.getUuid(), dto.getCode())) {
         //    throw new RenException(MessageUtils.message("appUser.login.code.err"));//验证码错误
@@ -237,22 +240,22 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
         //账号密码失败重试次数
         checkPwdErrTryTimes(dto.getLoginName());
 
-        AppUserEntity appUser = getUserByLoginName(dto.getLoginName(),dto.getZone());
-        if(appUser==null) {
+        AppUserEntity appUser = getUserByLoginName(dto.getLoginName(), dto.getZone());
+        if (appUser == null) {
             throw new RenException(MessageUtils.message("appUser.loginName.or.password.err"));//账号或密码错误
         }
-        if(!PasswordUtils.matches(dto.getLoginPassword(),appUser.getLoginPassword())){
+        if (!PasswordUtils.matches(dto.getLoginPassword(), appUser.getLoginPassword())) {
             long pwdFailTimes = setPwdErrTryTimes(dto.getLoginName());
             checkPwdErrTryTimes(dto.getLoginName());
-            throw new RenException(MessageUtils.message("appUser.loginName.or.password.err.limit.chance",ApiConstant.PASSWORD_FAIL_HOUR_TIMES-pwdFailTimes));//账号或密码错误,您还有4次机会
+            throw new RenException(MessageUtils.message("appUser.loginName.or.password.err.limit.chance", ApiConstant.PASSWORD_FAIL_HOUR_TIMES - pwdFailTimes));//账号或密码错误,您还有4次机会
         }
         //手机验证校验
         String codeType = UserCodeTypeEnum.LOGIN.name();
-        final String phoneCodeResultKey = String.format("%s%s%s%s%s",CachePrefix.SMS_CODE.getPrefix(),UserCodeTypeEnum.valueOf(codeType).name(),appUser.getZone(),appUser.getPhone(),":result");
+        final String phoneCodeResultKey = String.format("%s%s%s%s%s", CachePrefix.SMS_CODE.getPrefix(), UserCodeTypeEnum.valueOf(codeType).name(), appUser.getZone(), appUser.getPhone(), ":result");
         verifyResult(phoneCodeResultKey);
 
         //是否黑名单
-        if(Objects.nonNull(appUser.getIsBlack()) && appUser.getIsBlack() == UserBlackEnum.BLOCK.getCode()){
+        if (Objects.nonNull(appUser.getIsBlack()) && appUser.getIsBlack() == UserBlackEnum.BLOCK.getCode()) {
             throw new RenException(MessageUtils.message("user_is_black"));//您的账号已被列入黑名单,无法登录。
         }
 
@@ -277,16 +280,15 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
         SettingEntity setting1 = settingService.getSetting(SettingEnum.LOGIN_REGIS_SETTING.name());
         if (Objects.nonNull(setting1)) {
             JSONObject loginRegisSetting = JSONUtil.parseObj(setting1.getSettingValue());
-            credits=loginRegisSetting.getInt("credits");
+            credits = loginRegisSetting.getInt("credits");
         }
         tAppUserDetail.setCredits(credits);
         tAppUserDetail.setCreateTime(new Date());
         tAppUserDetail.setUpdateTime(new Date());
-        detailService.insert(tAppUserDetail);
+        detailService.save(tAppUserDetail);
     }
 
 
-
     @Override
     public void initAppUserAsset(AppUserEntity user) {
         SettingEntity setting = settingService.getSetting(SettingEnum.ASSET_COIN.name());
@@ -303,7 +305,7 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
                 tAppAsset.setType(AssetEnum.PLATFORM_ASSETS.getCode());
                 tAppAsset.setCreateTime(new Date());
                 tAppAsset.setUpdateTime(new Date());
-                assetService.insert(tAppAsset);
+                assetService.save(tAppAsset);
             });
         }
 
@@ -317,20 +319,21 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
         tAppAsset.setType(AssetEnum.FINANCIAL_ASSETS.getCode());
         tAppAsset.setCreateTime(new Date());
         tAppAsset.setUpdateTime(new Date());
-        assetService.insert(tAppAsset);
+        assetService.save(tAppAsset);
 
         //初始化玩家用户钱包-合约账户
         tAppAsset.setType(AssetEnum.CONTRACT_ASSETS.getCode());
         tAppAsset.setId(null);
-        assetService.insert(tAppAsset);
+        assetService.save(tAppAsset);
     }
 
 
     /**
      * 发送邮箱验证码
      * 校验邮箱 已存在
+     *
      * @param codeType 类型:LOGIN 登录使用
-     * @param email 邮箱
+     * @param email    邮箱
      * @return
      */
     @Override
@@ -340,7 +343,7 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
             throw new RenException(MessageUtils.message("user.register.email.format"));//邮箱格式不正确
         }
 
-        if(codeType.toLowerCase().equals("register")) {
+        if (codeType.toLowerCase().equals("register")) {
             EmailValidUtils.validateEmail(email);
 
             AppUserEntity existUser = getUserByEmail(email);
@@ -349,14 +352,14 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
             }
         }
         email = email.trim();
-        final String emailKey = String.format("%s%s%s",CachePrefix.EMAIL_CODE.getPrefix(),UserCodeTypeEnum.valueOf(codeType).name(),email);
-        sendCodeFrequencyLimit(ApiConstant.EMAIL_EXPIRE,emailKey);
+        final String emailKey = String.format("%s%s%s", CachePrefix.EMAIL_CODE.getPrefix(), UserCodeTypeEnum.valueOf(codeType).name(), email);
+        sendCodeFrequencyLimit(ApiConstant.EMAIL_EXPIRE, emailKey);
 
         Result result = new Result();
         try {
             EmailUtils.formMail(email, codeType);
         } catch (Exception e) {
-            log.error("EmailUtils.formMail.err:{}",e.getMessage());
+            log.error("EmailUtils.formMail.err:{}", e.getMessage());
             return result.error(MessageUtils.message("user.email.send.fail"));//邮箱发送失败
         }
         result.setMsg(MessageUtils.message("app.verification.email.code"));//验证码已发送到您的邮箱,请注意查收
@@ -367,27 +370,27 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
      * 发送手机验证码
      *
      * @param codeType 类型:LOGIN 登录使用
-     * @param phone 手机号
-     * @param zone 区号
+     * @param phone    手机号
+     * @param zone     区号
      * @return
      */
     @Override
     public Result sendMobileCode(String codeType, String phone, String zone) {
 
-        if(StringUtils.isEmpty(phone)){
+        if (StringUtils.isEmpty(phone)) {
             throw new RenException(MessageUtils.message("phone_code_empty"));//手机号不能为空!
         }
 
-        if(codeType.toLowerCase().equals("register")) {
-            AppUserEntity appUser = getUserByMobile(phone,zone);
-            if(Objects.nonNull(appUser)){
+        if (codeType.toLowerCase().equals("register")) {
+            AppUserEntity appUser = getUserByMobile(phone, zone);
+            if (Objects.nonNull(appUser)) {
                 throw new RenException(MessageUtils.message("user.register.phone.exist"));//手机号已经存在
             }
         }
 
 
-        final String smsKey = String.format("%s%s%s%s",CachePrefix.SMS_CODE.getPrefix(),UserCodeTypeEnum.valueOf(codeType).name(),zone,phone);
-        sendCodeFrequencyLimit(ApiConstant.SMS_EXPIRE,smsKey);
+        final String smsKey = String.format("%s%s%s%s", CachePrefix.SMS_CODE.getPrefix(), UserCodeTypeEnum.valueOf(codeType).name(), zone, phone);
+        sendCodeFrequencyLimit(ApiConstant.SMS_EXPIRE, smsKey);
 
         //发送验证码
         String randomCode = String.valueOf(SmsSenderUtil.getRandomNumber(100000, 999999));
@@ -398,9 +401,9 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
         sendPhoneDto.setCode(codeType);
         sendPhoneDto.setParams(map);
         Result result = smsSendService.sendMobileCodeV2(sendPhoneDto);
-        if(result.getCode() == 200){
+        if (result.getCode() == 200) {
             redisUtils.set(smsKey, randomCode, ApiConstant.SMS_EXPIRE);
-            final String codeTryKey = String.format("%s%s", smsKey,"try");
+            final String codeTryKey = String.format("%s%s", smsKey, "try");
             redisUtils.delete(codeTryKey);
             result.setMsg(MessageUtils.message("user.code.send"));//验证码发送成功
         }
@@ -409,9 +412,9 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
     }
 
 
-    private void sendCodeFrequencyLimit(long expireSet,String key) {
+    private void sendCodeFrequencyLimit(long expireSet, String key) {
         long expireTime = redisUtils.getExpire(key);
-        if(expireSet-expireTime < 60){
+        if (expireSet - expireTime < 60) {
             throw new RenException(MessageUtils.message("user.sendcode.frequency.limit"));//验证码请求太过频率,请60秒后再试
         }
     }
@@ -419,6 +422,7 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
 
     /**
      * 重设密码
+     *
      * @param codeDTO
      * @return
      */
@@ -427,11 +431,11 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
         Result result = new Result();
 
         //校验邮箱验证码
-        checkEmailCode("FIND_PASSWORD",codeDTO.getEmail(),codeDTO.getCode());
+        checkEmailCode("FIND_PASSWORD", codeDTO.getEmail(), codeDTO.getCode());
 
         //更新密码
         AppUserEntity appUser = getUserByEmail(codeDTO.getEmail());
-        if(Objects.isNull(appUser)){
+        if (Objects.isNull(appUser)) {
             throw new RenException(MessageUtils.message("user.not.exist"));//用户不存在
         }
         appUser.setLoginPassword(PasswordUtils.encode(codeDTO.getNewPwd()));
@@ -442,26 +446,26 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
 
 
     @Override
-    public Result resetPwdByEmail(String email,String newPwd) {
+    public Result resetPwdByEmail(String email, String newPwd) {
         Result result = new Result();
         String codeType = "FIND_PASSWORD";
         //校验邮箱验证码
-        final String emailCodeResultKey = String.format("%s%s%s%s", CachePrefix.EMAIL_CODE.getPrefix(), UserCodeTypeEnum.valueOf(codeType).name(), email,":result");
+        final String emailCodeResultKey = String.format("%s%s%s%s", CachePrefix.EMAIL_CODE.getPrefix(), UserCodeTypeEnum.valueOf(codeType).name(), email, ":result");
         verifyResult(emailCodeResultKey);
 
         //密码强度检测
         PasswordStrengthValidator.validatePasswordStrength(newPwd);
         //更新密码
         AppUserEntity appUser = getUserByEmail(email);
-        if(Objects.isNull(appUser)){
+        if (Objects.isNull(appUser)) {
             throw new RenException(MessageUtils.message("user.not.exist"));//用户不存在
         }
-        final String phoneCodeResultKey = String.format("%s%s%s%s%s",CachePrefix.SMS_CODE.getPrefix(),UserCodeTypeEnum.valueOf(codeType).name(),appUser.getZone(),appUser.getPhone(),":result");
+        final String phoneCodeResultKey = String.format("%s%s%s%s%s", CachePrefix.SMS_CODE.getPrefix(), UserCodeTypeEnum.valueOf(codeType).name(), appUser.getZone(), appUser.getPhone(), ":result");
         verifyResult(phoneCodeResultKey);
 
         appUser.setLoginPassword(PasswordUtils.encode(newPwd));
         //提币或c2c卖出限制时间
-        appUser.setTransferOutTime(DateUtils.addDays(new Date(),1));
+        appUser.setTransferOutTime(DateUtils.addDays(new Date(), 1));
         updateById(appUser);
 
         return result;
@@ -470,26 +474,26 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
 
 
     @Override
-    public Result resetPwdByPhone(String zone,String phone,String newPwd) {
+    public Result resetPwdByPhone(String zone, String phone, String newPwd) {
         Result result = new Result();
         String codeType = "FIND_PASSWORD";
         //校验手机验证码
-        final String phoneCodeResultKey = String.format("%s%s%s%s%s",CachePrefix.SMS_CODE.getPrefix(),UserCodeTypeEnum.valueOf(codeType).name(),zone,phone,":result");
+        final String phoneCodeResultKey = String.format("%s%s%s%s%s", CachePrefix.SMS_CODE.getPrefix(), UserCodeTypeEnum.valueOf(codeType).name(), zone, phone, ":result");
         verifyResult(phoneCodeResultKey);
 
         //密码强度检测
         PasswordStrengthValidator.validatePasswordStrength(newPwd);
         //更新密码
-        AppUserEntity appUser = getUserByMobile(phone,zone);
-        if(Objects.isNull(appUser)){
+        AppUserEntity appUser = getUserByMobile(phone, zone);
+        if (Objects.isNull(appUser)) {
             throw new RenException(MessageUtils.message("user.not.exist"));//用户不存在
         }
 
-        final String emailCodeResultKey = String.format("%s%s%s%s", CachePrefix.EMAIL_CODE.getPrefix(), UserCodeTypeEnum.valueOf(codeType).name(), appUser.getEmail(),":result");
+        final String emailCodeResultKey = String.format("%s%s%s%s", CachePrefix.EMAIL_CODE.getPrefix(), UserCodeTypeEnum.valueOf(codeType).name(), appUser.getEmail(), ":result");
         verifyResult(emailCodeResultKey);
 
         appUser.setLoginPassword(PasswordUtils.encode(newPwd));
-        appUser.setTransferOutTime(DateUtils.addDays(new Date(),1));
+        appUser.setTransferOutTime(DateUtils.addDays(new Date(), 1));
         updateById(appUser);
         return result;
 
@@ -498,7 +502,7 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
 
     private void verifyResult(String codeResultKey) {
         Object codeResult = redisUtils.get(codeResultKey);
-        if(Objects.isNull(codeResult) || (int)codeResult != 1){
+        if (Objects.isNull(codeResult) || (int) codeResult != 1) {
             throw new RenException(MessageUtils.message("system.busy.try.again.later"));//系统繁忙,请稍后再试
         }
         redisUtils.delete(codeResultKey);
@@ -506,6 +510,7 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
 
     /**
      * 重设密码
+     *
      * @param codeDTO
      * @return
      */
@@ -514,11 +519,11 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
         Result result = new Result();
 
         //校验手机验证码
-        checkPhoneCode("FIND_PASSWORD",codeDTO.getZone(),codeDTO.getPhone(),codeDTO.getCode());
+        checkPhoneCode("FIND_PASSWORD", codeDTO.getZone(), codeDTO.getPhone(), codeDTO.getCode());
 
         //更新密码
-        AppUserEntity appUser = getUserByMobile(codeDTO.getPhone(),codeDTO.getZone());
-        if(Objects.isNull(appUser)){
+        AppUserEntity appUser = getUserByMobile(codeDTO.getPhone(), codeDTO.getZone());
+        if (Objects.isNull(appUser)) {
             throw new RenException(MessageUtils.message("user.not.exist"));//用户不存在
         }
         appUser.setLoginPassword(PasswordUtils.encode(codeDTO.getNewPwd()));
@@ -528,13 +533,13 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
     }
 
     /**
-     *限制验证码重试次数
+     * 限制验证码重试次数
      */
     private void checkCodeTryTimes(String codeKey) {
         Object tryTimesObj = redisUtils.get(codeKey);
-        if(Objects.nonNull(tryTimesObj)){
+        if (Objects.nonNull(tryTimesObj)) {
             long tryTimes = Long.valueOf(tryTimesObj.toString());
-            if(tryTimes>4L){
+            if (tryTimes > 4L) {
                 throw new RenException(MessageUtils.message("code.try.times.limit"));//重试次数过多
             }
         }
@@ -546,20 +551,20 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
      * 累计输错10次,锁24小时
      */
     private void checkPwdErrTryTimes(String loginName) {
-        final String codeKey = String.format("%s%s","pwd_fail_hour_times:", loginName);
+        final String codeKey = String.format("%s%s", "pwd_fail_hour_times:", loginName);
         Object tryTimesObj = redisUtils.get(codeKey);
-        if(Objects.nonNull(tryTimesObj)){
+        if (Objects.nonNull(tryTimesObj)) {
             long pwdHourFailTimes = Long.valueOf(tryTimesObj.toString());
-            if(pwdHourFailTimes>=ApiConstant.PASSWORD_FAIL_HOUR_TIMES){
+            if (pwdHourFailTimes >= ApiConstant.PASSWORD_FAIL_HOUR_TIMES) {
                 long expireTime = redisUtils.getExpire(codeKey);
-                if(expireTime>3600){
-                    long hourL = expireTime/3600L;
-                    throw new RenException(MessageUtils.message("pwd.fail.times.excess.day.lock",hourL));//账号已锁,{0}小时后解锁
-                } else if(expireTime>60){
-                    long minL = expireTime/60L;
-                    throw new RenException(MessageUtils.message("pwd.fail.times.excess.hour.lock",minL));//账号已锁,{0}分钟后解锁
+                if (expireTime > 3600) {
+                    long hourL = expireTime / 3600L;
+                    throw new RenException(MessageUtils.message("pwd.fail.times.excess.day.lock", hourL));//账号已锁,{0}小时后解锁
+                } else if (expireTime > 60) {
+                    long minL = expireTime / 60L;
+                    throw new RenException(MessageUtils.message("pwd.fail.times.excess.hour.lock", minL));//账号已锁,{0}分钟后解锁
                 } else {
-                    throw new RenException(MessageUtils.message("pwd.fail.times.excess.second.lock",expireTime));//账号已锁,{0}秒后解锁
+                    throw new RenException(MessageUtils.message("pwd.fail.times.excess.second.lock", expireTime));//账号已锁,{0}秒后解锁
                 }
             }
         }
@@ -569,12 +574,12 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
      * 设置密码输错次数+1
      */
     private long setPwdErrTryTimes(String loginName) {
-        final String pwdErrTimsHourKey = String.format("%s%s","pwd_fail_hour_times:", loginName);
-        final String pwdErrTimsDayKey = String.format("%s%s","pwd_fail_day_times:", loginName);
+        final String pwdErrTimsHourKey = String.format("%s%s", "pwd_fail_hour_times:", loginName);
+        final String pwdErrTimsDayKey = String.format("%s%s", "pwd_fail_day_times:", loginName);
 
         long pwdErrDayTimes = redisUtils.increment(pwdErrTimsDayKey, 1L, ApiConstant.PASSWORD_FAIL_LOCK_24HOUR);
         long pwdFailTimes = 1;
-        if(pwdErrDayTimes>=ApiConstant.PASSWORD_FAIL_DAY_TIMES) {
+        if (pwdErrDayTimes >= ApiConstant.PASSWORD_FAIL_DAY_TIMES) {
             pwdFailTimes = redisUtils.increment(pwdErrTimsHourKey, 1L, ApiConstant.PASSWORD_FAIL_LOCK_24HOUR);
         } else {
             pwdFailTimes = redisUtils.increment(pwdErrTimsHourKey, 1L, ApiConstant.PASSWORD_FAIL_LOCK_HOUR);
@@ -584,9 +589,8 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
 
 
     @Override
-    public Result checkCaptcha(CheckCaptchaDTO dto, HttpServletRequest request)
-    {
-        if(!captchaService.validate(dto.getUuid(), dto.getCode())) {
+    public Result checkCaptcha(CheckCaptchaDTO dto, HttpServletRequest request) {
+        if (!captchaService.validate(dto.getUuid(), dto.getCode())) {
             throw new RenException(MessageUtils.message("appUser.login.code.err"));//验证码错误
         }
         Result result = new Result();
@@ -594,19 +598,18 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
     }
 
     @Override
-    public Result checkPhoneCode(String codeType,String zone,String phone,String code)
-    {
+    public Result checkPhoneCode(String codeType, String zone, String phone, String code) {
         //校验手机验证码
-        final String phoneCodeKey = String.format("%s%s%s%s",CachePrefix.SMS_CODE.getPrefix(),UserCodeTypeEnum.valueOf(codeType).name(),zone,phone);
-        checkCode(phoneCodeKey,code);
+        final String phoneCodeKey = String.format("%s%s%s%s", CachePrefix.SMS_CODE.getPrefix(), UserCodeTypeEnum.valueOf(codeType).name(), zone, phone);
+        checkCode(phoneCodeKey, code);
 
-        AppUserEntity user = getUserByMobile(phone,zone);
-        if(Objects.isNull(user)) {
+        AppUserEntity user = getUserByMobile(phone, zone);
+        if (Objects.isNull(user)) {
             throw new RenException(MessageUtils.message("user.not.exist"));//用户不存在
         }
-        Map data = MapUtil.of("phone",user.getPhone());
-        data.put("zone",user.getZone());
-        data.put("email",user.getEmail());
+        Map data = MapUtil.of("phone", user.getPhone());
+        data.put("zone", user.getZone());
+        data.put("email", user.getEmail());
         Result result = new Result();
         result.setData(data);
         return result;
@@ -614,19 +617,18 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
 
 
     @Override
-    public Result checkEmailCode(String codeType,String email,String code)
-    {
+    public Result checkEmailCode(String codeType, String email, String code) {
         //校验邮箱验证码
         final String emailCodeKey = String.format("%s%s%s", CachePrefix.EMAIL_CODE.getPrefix(), UserCodeTypeEnum.valueOf(codeType).name(), email);
-        checkCode(emailCodeKey,code);
+        checkCode(emailCodeKey, code);
 
         AppUserEntity user = getUserByEmail(email);
-        if(Objects.isNull(user)) {
+        if (Objects.isNull(user)) {
             throw new RenException(MessageUtils.message("user.not.exist"));//用户不存在
         }
-        Map data = MapUtil.of("phone",user.getPhone());
-        data.put("zone",user.getZone());
-        data.put("email",user.getEmail());
+        Map data = MapUtil.of("phone", user.getPhone());
+        data.put("zone", user.getZone());
+        data.put("email", user.getEmail());
         Result result = new Result();
         result.setData(data);
         return result;
@@ -634,16 +636,17 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
 
     /**
      * 校验验证码
+     *
      * @param cacheKey
      * @param code
      * @return
      */
-    private void checkCode(String cacheKey,String code) {
+    private void checkCode(String cacheKey, String code) {
         Object checkCode = redisUtils.get(cacheKey);
         if (checkCode == null) {
             throw new RenException(MessageUtils.message("user.register.code.err"));//验证码错误
         } else {
-            final String codeKeyTry = String.format("%s%s", cacheKey,"try");
+            final String codeKeyTry = String.format("%s%s", cacheKey, "try");
             checkCodeTryTimes(codeKeyTry);
             String validCode = checkCode.toString();
             if (!code.equalsIgnoreCase(validCode)) {
@@ -653,7 +656,7 @@ public class AppUserServiceImpl extends BaseServiceImpl<AppUserDao, AppUserEntit
         }
         redisUtils.delete(cacheKey);
         //设置验证结果
-        final String checkCodeResult = String.format("%s%s",cacheKey,":result");
-        redisUtils.set(checkCodeResult,1,ApiConstant.CHECK_EXPIRE);
+        final String checkCodeResult = String.format("%s%s", cacheKey, ":result");
+        redisUtils.set(checkCodeResult, 1, ApiConstant.CHECK_EXPIRE);
     }
 }

+ 3 - 11
qnfhq-api/src/main/java/com/qnfhq/modules/user/service/impl/AppWalletRecordServiceImpl.java

@@ -2,6 +2,7 @@ package com.qnfhq.modules.user.service.impl;
 
 import cn.hutool.core.convert.Convert;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.common.redis.RedisUtils;
 import com.qnfhq.common.service.impl.CrudServiceImpl;
 import com.qnfhq.modules.user.dao.AppWalletRecordDao;
@@ -25,7 +26,7 @@ import java.util.Map;
  * @since 1.0.0 2025-11-20
  */
 @Service
-public class AppWalletRecordServiceImpl extends CrudServiceImpl<AppWalletRecordDao, AppWalletRecordEntity, AppWalletRecordDTO> implements AppWalletRecordService {
+public class AppWalletRecordServiceImpl extends ServiceImpl<AppWalletRecordDao, AppWalletRecordEntity> implements AppWalletRecordService {
 
     private final RedisUtils redisUtils;
 
@@ -34,15 +35,6 @@ public class AppWalletRecordServiceImpl extends CrudServiceImpl<AppWalletRecordD
         this.redisUtils = redisUtils;
     }
 
-    @Override
-    public QueryWrapper<AppWalletRecordEntity> getWrapper(Map<String, Object> params){
-        String id = (String)params.get("id");
-
-        QueryWrapper<AppWalletRecordEntity> wrapper = new QueryWrapper<>();
-        wrapper.eq(StrUtil.isNotBlank(id), "id", id);
-
-        return wrapper;
-    }
 
     @Override
     public void generateRecord(Long userId, BigDecimal amount, int type, String createBy, String serialId, String remark,
@@ -75,6 +67,6 @@ public class AppWalletRecordServiceImpl extends CrudServiceImpl<AppWalletRecordD
         }
 
         record.setCreateTime(new Date());
-        insert(record);
+        save(record);
     }
 }

+ 3 - 3
qnfhq-api/src/main/java/com/qnfhq/modules/user/service/impl/AppuserLoginLogServiceImpl.java

@@ -1,7 +1,7 @@
 package com.qnfhq.modules.user.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.qnfhq.common.service.impl.BaseServiceImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.common.utils.IpUtils;
 import com.qnfhq.modules.user.dao.AppuserLoginLogDao;
 import com.qnfhq.modules.user.entity.AppUserEntity;
@@ -23,7 +23,7 @@ import java.util.Map;
  * @since 1.0.0 2025-11-11
  */
 @Service
-public class AppuserLoginLogServiceImpl extends BaseServiceImpl<AppuserLoginLogDao, AppuserLoginLogEntity> implements AppuserLoginLogService {
+public class AppuserLoginLogServiceImpl extends ServiceImpl<AppuserLoginLogDao, AppuserLoginLogEntity> implements AppuserLoginLogService {
 
     private static final Logger logger = LoggerFactory.getLogger(AppuserLoginLogServiceImpl.class);
 
@@ -60,7 +60,7 @@ public class AppuserLoginLogServiceImpl extends BaseServiceImpl<AppuserLoginLogD
         log.setMsg(msg);
         log.setStatus(status);
         log.setLoginTime(new Date());
-        baseDao.insert(log);
+        save(log);
     }
 
 }

+ 3 - 3
qnfhq-api/src/main/java/com/qnfhq/modules/user/service/impl/SettingServiceImpl.java

@@ -1,7 +1,7 @@
 package com.qnfhq.modules.user.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.qnfhq.common.service.impl.BaseServiceImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.modules.user.dao.SettingDao;
 import com.qnfhq.modules.user.entity.SettingEntity;
 import com.qnfhq.modules.user.service.SettingService;
@@ -17,7 +17,7 @@ import java.util.Map;
  * @since 1.0.0 2025-11-13
  */
 @Service
-public class SettingServiceImpl extends BaseServiceImpl<SettingDao, SettingEntity> implements SettingService {
+public class SettingServiceImpl extends ServiceImpl<SettingDao, SettingEntity> implements SettingService {
 
 
     public QueryWrapper<SettingEntity> getWrapper(Map<String, Object> params){
@@ -31,7 +31,7 @@ public class SettingServiceImpl extends BaseServiceImpl<SettingDao, SettingEntit
 
     @Override
     public SettingEntity getSetting(String id){
-        return baseDao.selectById(id);
+        return getById(id);
     }
 
 }

+ 3 - 3
qnfhq-api/src/main/java/com/qnfhq/modules/user/service/impl/SmsSendServiceImpl.java

@@ -4,9 +4,9 @@ import cn.hutool.json.JSONUtil;
 import com.aliyun.dysmsapi20170525.Client;
 import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
 import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.aliyun.AlConfig;
 import com.qnfhq.common.exception.RenException;
-import com.qnfhq.common.service.impl.BaseServiceImpl;
 import com.qnfhq.common.utils.MessageUtils;
 import com.qnfhq.common.utils.Result;
 import com.qnfhq.modules.user.dao.SmsSendDao;
@@ -31,7 +31,7 @@ import java.util.Date;
  * @since 1.0.0 2025-11-13
  */
 @Service
-public class SmsSendServiceImpl extends BaseServiceImpl<SmsSendDao, SmsSendEntity> implements SmsSendService {
+public class SmsSendServiceImpl extends ServiceImpl<SmsSendDao, SmsSendEntity> implements SmsSendService {
 
     @Resource
     private SettingService settingService;
@@ -82,7 +82,7 @@ public class SmsSendServiceImpl extends BaseServiceImpl<SmsSendDao, SmsSendEntit
                 result.error(sendSmsResponse.getBody().getMessage());
                 log.error("in err----------"+sendSmsResponse.getBody().getMessage());
             }
-            insert(smsSend);
+            save(smsSend);
             return result;
 
 

+ 3 - 3
qnfhq-api/src/main/java/com/qnfhq/modules/user/service/impl/SmsTplServiceImpl.java

@@ -2,7 +2,7 @@ package com.qnfhq.modules.user.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.qnfhq.common.service.impl.BaseServiceImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qnfhq.modules.user.dao.SmsTplDao;
 import com.qnfhq.modules.user.entity.SmsTplEntity;
 import com.qnfhq.modules.user.service.SmsTplService;
@@ -18,7 +18,7 @@ import java.util.Map;
  * @since 1.0.0 2025-11-13
  */
 @Service
-public class SmsTplServiceImpl extends BaseServiceImpl<SmsTplDao, SmsTplEntity> implements SmsTplService {
+public class SmsTplServiceImpl extends ServiceImpl<SmsTplDao, SmsTplEntity> implements SmsTplService {
 
 
     public QueryWrapper<SmsTplEntity> getWrapper(Map<String, Object> params){
@@ -32,7 +32,7 @@ public class SmsTplServiceImpl extends BaseServiceImpl<SmsTplDao, SmsTplEntity>
 
     @Override
     public SmsTplEntity selectSmsTplByCode(String code) {
-        return baseDao.selectOne(new LambdaQueryWrapper<SmsTplEntity>()
+        return getOne(new LambdaQueryWrapper<SmsTplEntity>()
                 .eq(SmsTplEntity::getCode, code)
                 .last(" limit 1")
         );

+ 14 - 0
qnfhq-api/src/main/resources/application.yml

@@ -121,3 +121,17 @@ sa-token:
 #    path: /swagger-ui.html        # 设置Swagger UI的访问路径
 #    enabled: true
 #  default-flat-param-object: false
+#实名认证部分
+aliyun:
+  ekyc:
+    access-key-id: LTAI5tLViGeNkcYAwiw3pccS
+    access-key-secret: I5XkvAUpoRgqpm77QPBXgkQbjg47K0
+    region-id: cn-hongkong
+    endpoint: cloudauth-intl.cn-hongkong.aliyuncs.com
+
+  initialize:
+    securityLevel: 0
+    merchantBizId: qiniufuhuaqi
+    idThreshold: 0
+    productCode : eKYC
+    callbackUrl :

+ 132 - 0
qnfhq-common/src/main/java/com/qnfhq/common/entity/BaseQueryDTO.java

@@ -0,0 +1,132 @@
+package com.qnfhq.common.entity;
+
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.lang.reflect.Field;
+import java.time.LocalDateTime;
+import java.util.Arrays;
+
+@Data
+public class BaseQueryDTO {
+
+    @Min(value = 1, message = "页码不能小于1")
+    private Integer pageNum = 1;
+
+    @Min(value = 1, message = "每页条数不能小于1")
+    @Max(value = 100, message = "每页条数不能大于100")
+    private Integer pageSize = 10;
+
+    private String orderField;
+    private String order = "desc";
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTimeStart;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTimeEnd;
+
+    /**
+     * 获取MyBatis Plus的Page对象
+     */
+    public <T> Page<T> getPage() {
+        int size = Math.min(pageSize != null ? pageSize : 10, 100);
+        int num = pageNum != null ? pageNum : 1;
+
+        Page<T> page = new Page<>(num, size);
+
+        if (StrUtil.isNotBlank(orderField)) {
+            if ("asc".equalsIgnoreCase(order)) {
+                page.addOrder(OrderItem.asc(orderField));
+            } else {
+                page.addOrder(OrderItem.desc(orderField));
+            }
+        } else {
+            page.addOrder(OrderItem.desc("id"));
+        }
+
+        return page;
+    }
+
+    /**
+     * 自动添加所有非空字段的等值查询条件
+     */
+    public <T> QueryWrapper<T> timeQuery() {
+        QueryWrapper<T> wrapper = new QueryWrapper<>();
+
+        // 处理时间范围
+        if (createTimeStart != null) {
+            wrapper.ge("create_time", createTimeStart);
+        }
+        if (createTimeEnd != null) {
+            wrapper.le("create_time", createTimeEnd);
+        }
+
+        // 自动添加所有非空字段
+        addEq(wrapper);
+
+        return wrapper;
+    }
+
+    /**
+     * 自动添加所有非空字段的查询条件
+     * 字段名会自动转换为下划线格式
+     */
+    private <T> void addEq(QueryWrapper<T> wrapper) {
+        Field[] fields = this.getClass().getDeclaredFields();
+
+        for (Field field : fields) {
+            // 跳过BaseQueryDTO中的基础字段
+            if (isBaseField(field.getName())) {
+                continue;
+            }
+
+            try {
+                field.setAccessible(true);
+                Object value = field.get(this);
+
+                if (isValidValue(value)) {
+                    // 驼峰转下划线作为数据库列名
+                    String columnName = StrUtil.toUnderlineCase(field.getName());
+                    wrapper.eq(columnName, value);
+                }
+            } catch (IllegalAccessException e) {
+                // 忽略无法访问的字段
+            }
+        }
+    }
+
+    /**
+     * 判断是否为BaseQueryDTO的基础字段
+     */
+    private boolean isBaseField(String fieldName) {
+        return Arrays.asList("pageNum", "pageSize", "orderField", "order",
+                "createTimeStart", "createTimeEnd","serialVersionUID").contains(fieldName);
+    }
+
+    /**
+     * 判断字段值是否有效(非空且不等于-1)
+     */
+    private boolean isValidValue(Object value) {
+        if (value == null) {
+            return false;
+        }
+
+        if (value instanceof String) {
+            return StrUtil.isNotBlank((String) value) && !"-1".equals(value);
+        }
+
+        if (value instanceof Number) {
+            // 对于数字,-1通常表示"全部",不添加条件
+            return !value.equals(-1);
+        }
+
+        return true;
+    }
+}