Commit be0b47ecb73822580105b56a75baefd6e6ec2989

Authored by YunaiV
1 parent c916b30f

合并 master 最新的代码

yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/dal/mysql/channel/PayChannelMapper.java
1 package cn.iocoder.yudao.adminserver.modules.pay.dal.mysql.channel; 1 package cn.iocoder.yudao.adminserver.modules.pay.dal.mysql.channel;
2 2
3 -import java.util.*;  
4 - 3 +import cn.iocoder.yudao.adminserver.modules.pay.controller.channel.vo.PayChannelExportReqVO;
  4 +import cn.iocoder.yudao.adminserver.modules.pay.controller.channel.vo.PayChannelPageReqVO;
5 import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayChannelDO; 5 import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayChannelDO;
6 import cn.iocoder.yudao.framework.common.pojo.PageResult; 6 import cn.iocoder.yudao.framework.common.pojo.PageResult;
7 -import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;  
8 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; 7 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
  8 +import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
9 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 9 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
10 import org.apache.ibatis.annotations.Mapper; 10 import org.apache.ibatis.annotations.Mapper;
11 -import cn.iocoder.yudao.adminserver.modules.pay.controller.channel.vo.*; 11 +
  12 +import java.util.Collection;
  13 +import java.util.List;
12 14
13 /** 15 /**
14 * 支付渠道 16 * 支付渠道
@@ -53,13 +55,12 @@ public interface PayChannelMapper extends BaseMapperX<PayChannelDO> { @@ -53,13 +55,12 @@ public interface PayChannelMapper extends BaseMapperX<PayChannelDO> {
53 * @param code 通道编码 55 * @param code 通道编码
54 * @return 数量 56 * @return 数量
55 */ 57 */
  58 + // TODO @aquan:Mapper 的操作,和 db 保持一致
56 default Integer getChannelCountByConditions(Long merchantId, Long appid, String code) { 59 default Integer getChannelCountByConditions(Long merchantId, Long appid, String code) {
57 -  
58 return this.selectCount(new QueryWrapper<PayChannelDO>().lambda() 60 return this.selectCount(new QueryWrapper<PayChannelDO>().lambda()
59 .eq(PayChannelDO::getMerchantId, merchantId) 61 .eq(PayChannelDO::getMerchantId, merchantId)
60 .eq(PayChannelDO::getAppId, appid) 62 .eq(PayChannelDO::getAppId, appid)
61 - .eq(PayChannelDO::getCode, code)  
62 - ); 63 + .eq(PayChannelDO::getCode, code)).intValue();
63 } 64 }
64 65
65 /** 66 /**
yudao-admin-server/src/main/resources/application.yaml
@@ -33,7 +33,7 @@ mybatis-plus: @@ -33,7 +33,7 @@ mybatis-plus:
33 logic-not-delete-value: 0 # 逻辑未删除值(默认为 0) 33 logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
34 mapper-locations: classpath*:mapper/*.xml 34 mapper-locations: classpath*:mapper/*.xml
35 config-location: classpath:mybatis-config/mybatis-config.xml 35 config-location: classpath:mybatis-config/mybatis-config.xml
36 - configuration-properties: 36 + configuration-properties: # TODO jason:这些配置的作用,要注释下哈
37 prefix: "" 37 prefix: ""
38 wildcardEscapeClause: "" 38 wildcardEscapeClause: ""
39 limitBefore: "" 39 limitBefore: ""
yudao-admin-server/src/test/java/cn/iocoder/yudao/adminserver/modules/pay/service/app/PayAppServiceTest.java
@@ -6,19 +6,14 @@ import cn.iocoder.yudao.adminserver.modules.pay.controller.app.vo.PayAppCreateRe @@ -6,19 +6,14 @@ import cn.iocoder.yudao.adminserver.modules.pay.controller.app.vo.PayAppCreateRe
6 import cn.iocoder.yudao.adminserver.modules.pay.controller.app.vo.PayAppExportReqVO; 6 import cn.iocoder.yudao.adminserver.modules.pay.controller.app.vo.PayAppExportReqVO;
7 import cn.iocoder.yudao.adminserver.modules.pay.controller.app.vo.PayAppPageReqVO; 7 import cn.iocoder.yudao.adminserver.modules.pay.controller.app.vo.PayAppPageReqVO;
8 import cn.iocoder.yudao.adminserver.modules.pay.controller.app.vo.PayAppUpdateReqVO; 8 import cn.iocoder.yudao.adminserver.modules.pay.controller.app.vo.PayAppUpdateReqVO;
9 -  
10 -  
11 import cn.iocoder.yudao.adminserver.modules.pay.dal.mysql.app.PayAppMapper; 9 import cn.iocoder.yudao.adminserver.modules.pay.dal.mysql.app.PayAppMapper;
12 import cn.iocoder.yudao.adminserver.modules.pay.dal.mysql.merchant.PayMerchantMapper; 10 import cn.iocoder.yudao.adminserver.modules.pay.dal.mysql.merchant.PayMerchantMapper;
13 import cn.iocoder.yudao.adminserver.modules.pay.service.app.impl.PayAppServiceImpl; 11 import cn.iocoder.yudao.adminserver.modules.pay.service.app.impl.PayAppServiceImpl;
14 -import cn.iocoder.yudao.adminserver.modules.pay.service.merchant.PayMerchantService;  
15 import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayAppDO; 12 import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayAppDO;
16 import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayMerchantDO; 13 import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayMerchantDO;
17 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; 14 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
18 import cn.iocoder.yudao.framework.common.pojo.PageResult; 15 import cn.iocoder.yudao.framework.common.pojo.PageResult;
19 -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;  
20 import org.junit.jupiter.api.Test; 16 import org.junit.jupiter.api.Test;
21 -import org.mockito.InjectMocks;  
22 import org.mockito.Mockito; 17 import org.mockito.Mockito;
23 import org.springframework.boot.test.mock.mockito.MockBean; 18 import org.springframework.boot.test.mock.mockito.MockBean;
24 import org.springframework.context.annotation.Import; 19 import org.springframework.context.annotation.Import;
@@ -27,8 +22,9 @@ import javax.annotation.Resource; @@ -27,8 +22,9 @@ import javax.annotation.Resource;
27 import java.util.Collections; 22 import java.util.Collections;
28 import java.util.List; 23 import java.util.List;
29 24
30 -import static cn.iocoder.yudao.coreservice.modules.pay.enums.PayErrorCodeCoreConstants.*; 25 +import static cn.iocoder.yudao.coreservice.modules.pay.enums.PayErrorCodeCoreConstants.PAY_APP_NOT_FOUND;
31 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 26 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime;
  27 +import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
32 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 28 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
33 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 29 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
34 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId; 30 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId;
@@ -151,19 +147,19 @@ public class PayAppServiceTest extends BaseDbUnitTest { @@ -151,19 +147,19 @@ public class PayAppServiceTest extends BaseDbUnitTest {
151 147
152 appMapper.insert(dbApp); 148 appMapper.insert(dbApp);
153 // 测试 name 不匹配 149 // 测试 name 不匹配
154 - appMapper.insert(ObjectUtils.clone(dbApp, o -> o.setName("敏敏姐的杂货铺"))); 150 + appMapper.insert(cloneIgnoreId(dbApp, o -> o.setName("敏敏姐的杂货铺")));
155 // 测试 status 不匹配 151 // 测试 status 不匹配
156 - appMapper.insert(ObjectUtils.clone(dbApp, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); 152 + appMapper.insert(cloneIgnoreId(dbApp, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
157 // 测试 remark 不匹配 153 // 测试 remark 不匹配
158 - appMapper.insert(ObjectUtils.clone(dbApp, o -> o.setRemark("灿灿姐的小卖部"))); 154 + appMapper.insert(cloneIgnoreId(dbApp, o -> o.setRemark("灿灿姐的小卖部")));
159 // 测试 payNotifyUrl 不匹配 155 // 测试 payNotifyUrl 不匹配
160 - appMapper.insert(ObjectUtils.clone(dbApp, o -> o.setPayNotifyUrl("xm.com"))); 156 + appMapper.insert(cloneIgnoreId(dbApp, o -> o.setPayNotifyUrl("xm.com")));
161 // 测试 refundNotifyUrl 不匹配 157 // 测试 refundNotifyUrl 不匹配
162 - appMapper.insert(ObjectUtils.clone(dbApp, o -> o.setRefundNotifyUrl("hc.com"))); 158 + appMapper.insert(cloneIgnoreId(dbApp, o -> o.setRefundNotifyUrl("hc.com")));
163 // 测试 merchantId 不匹配 159 // 测试 merchantId 不匹配
164 - appMapper.insert(ObjectUtils.clone(dbApp, o -> o.setMerchantId(mismatchMerchantId))); 160 + appMapper.insert(cloneIgnoreId(dbApp, o -> o.setMerchantId(mismatchMerchantId)));
165 // 测试 createTime 不匹配 161 // 测试 createTime 不匹配
166 - appMapper.insert(ObjectUtils.clone(dbApp, o -> o.setCreateTime(buildTime(2021,12,21)))); 162 + appMapper.insert(cloneIgnoreId(dbApp, o -> o.setCreateTime(buildTime(2021,12,21))));
167 // 准备参数 163 // 准备参数
168 PayAppPageReqVO reqVO = new PayAppPageReqVO(); 164 PayAppPageReqVO reqVO = new PayAppPageReqVO();
169 reqVO.setName("灿灿姐的杂货铺"); 165 reqVO.setName("灿灿姐的杂货铺");
@@ -215,19 +211,19 @@ public class PayAppServiceTest extends BaseDbUnitTest { @@ -215,19 +211,19 @@ public class PayAppServiceTest extends BaseDbUnitTest {
215 211
216 appMapper.insert(dbApp); 212 appMapper.insert(dbApp);
217 // 测试 name 不匹配 213 // 测试 name 不匹配
218 - appMapper.insert(ObjectUtils.clone(dbApp, o -> o.setName("敏敏姐的杂货铺"))); 214 + appMapper.insert(cloneIgnoreId(dbApp, o -> o.setName("敏敏姐的杂货铺")));
219 // 测试 status 不匹配 215 // 测试 status 不匹配
220 - appMapper.insert(ObjectUtils.clone(dbApp, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); 216 + appMapper.insert(cloneIgnoreId(dbApp, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
221 // 测试 remark 不匹配 217 // 测试 remark 不匹配
222 - appMapper.insert(ObjectUtils.clone(dbApp, o -> o.setRemark("灿灿姐的小卖部"))); 218 + appMapper.insert(cloneIgnoreId(dbApp, o -> o.setRemark("灿灿姐的小卖部")));
223 // 测试 payNotifyUrl 不匹配 219 // 测试 payNotifyUrl 不匹配
224 - appMapper.insert(ObjectUtils.clone(dbApp, o -> o.setPayNotifyUrl("xm.com"))); 220 + appMapper.insert(cloneIgnoreId(dbApp, o -> o.setPayNotifyUrl("xm.com")));
225 // 测试 refundNotifyUrl 不匹配 221 // 测试 refundNotifyUrl 不匹配
226 - appMapper.insert(ObjectUtils.clone(dbApp, o -> o.setRefundNotifyUrl("hc.com"))); 222 + appMapper.insert(cloneIgnoreId(dbApp, o -> o.setRefundNotifyUrl("hc.com")));
227 // 测试 merchantId 不匹配 223 // 测试 merchantId 不匹配
228 - appMapper.insert(ObjectUtils.clone(dbApp, o -> o.setMerchantId(mismatchMerchantId))); 224 + appMapper.insert(cloneIgnoreId(dbApp, o -> o.setMerchantId(mismatchMerchantId)));
229 // 测试 createTime 不匹配 225 // 测试 createTime 不匹配
230 - appMapper.insert(ObjectUtils.clone(dbApp, o -> o.setCreateTime(buildTime(2021,12,21)))); 226 + appMapper.insert(cloneIgnoreId(dbApp, o -> o.setCreateTime(buildTime(2021,12,21))));
231 // 准备参数 227 // 准备参数
232 PayAppExportReqVO reqVO = new PayAppExportReqVO(); 228 PayAppExportReqVO reqVO = new PayAppExportReqVO();
233 reqVO.setName("灿灿姐的杂货铺"); 229 reqVO.setName("灿灿姐的杂货铺");
@@ -246,4 +242,4 @@ public class PayAppServiceTest extends BaseDbUnitTest { @@ -246,4 +242,4 @@ public class PayAppServiceTest extends BaseDbUnitTest {
246 assertPojoEquals(dbApp, list.get(0)); 242 assertPojoEquals(dbApp, list.get(0));
247 } 243 }
248 244
249 -}  
250 \ No newline at end of file 245 \ No newline at end of file
  246 +}
yudao-admin-server/src/test/java/cn/iocoder/yudao/adminserver/modules/pay/service/channel/PayChannelServiceTest.java
@@ -10,7 +10,6 @@ import cn.iocoder.yudao.adminserver.modules.pay.service.channel.impl.PayChannelS @@ -10,7 +10,6 @@ import cn.iocoder.yudao.adminserver.modules.pay.service.channel.impl.PayChannelS
10 import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayChannelDO; 10 import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayChannelDO;
11 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; 11 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
12 import cn.iocoder.yudao.framework.common.pojo.PageResult; 12 import cn.iocoder.yudao.framework.common.pojo.PageResult;
13 -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;  
14 import cn.iocoder.yudao.framework.pay.core.client.impl.alipay.AlipayPayClientConfig; 13 import cn.iocoder.yudao.framework.pay.core.client.impl.alipay.AlipayPayClientConfig;
15 import cn.iocoder.yudao.framework.pay.core.client.impl.wx.WXPayClientConfig; 14 import cn.iocoder.yudao.framework.pay.core.client.impl.wx.WXPayClientConfig;
16 import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum; 15 import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
@@ -23,6 +22,7 @@ import java.util.List; @@ -23,6 +22,7 @@ import java.util.List;
23 22
24 import static cn.iocoder.yudao.coreservice.modules.pay.enums.PayErrorCodeCoreConstants.CHANNEL_NOT_EXISTS; 23 import static cn.iocoder.yudao.coreservice.modules.pay.enums.PayErrorCodeCoreConstants.CHANNEL_NOT_EXISTS;
25 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime; 24 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime;
  25 +import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
26 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 26 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
27 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 27 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
28 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId; 28 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId;
@@ -222,37 +222,37 @@ public class PayChannelServiceTest extends BaseDbUnitTest { @@ -222,37 +222,37 @@ public class PayChannelServiceTest extends BaseDbUnitTest {
222 // 执行拷贝的时候会出现异常,所以在插入后要重置为null 后续在写入新的 222 // 执行拷贝的时候会出现异常,所以在插入后要重置为null 后续在写入新的
223 dbChannel.setConfig(null); 223 dbChannel.setConfig(null);
224 // 测试 code 不匹配 224 // 测试 code 不匹配
225 - channelMapper.insert(ObjectUtils.clone(dbChannel, o -> { 225 + channelMapper.insert(cloneIgnoreId(dbChannel, o -> {
226 o.setConfig(payClientConfig); 226 o.setConfig(payClientConfig);
227 o.setCode(PayChannelEnum.WX_PUB.getCode()); 227 o.setCode(PayChannelEnum.WX_PUB.getCode());
228 })); 228 }));
229 // 测试 status 不匹配 229 // 测试 status 不匹配
230 - channelMapper.insert(ObjectUtils.clone(dbChannel, o -> { 230 + channelMapper.insert(cloneIgnoreId(dbChannel, o -> {
231 o.setConfig(payClientConfig); 231 o.setConfig(payClientConfig);
232 o.setStatus(CommonStatusEnum.DISABLE.getStatus()); 232 o.setStatus(CommonStatusEnum.DISABLE.getStatus());
233 })); 233 }));
234 // 测试 remark 不匹配 234 // 测试 remark 不匹配
235 - channelMapper.insert(ObjectUtils.clone(dbChannel, o ->{ 235 + channelMapper.insert(cloneIgnoreId(dbChannel, o ->{
236 o.setConfig(payClientConfig); 236 o.setConfig(payClientConfig);
237 o.setRemark("敏敏子的渠道"); 237 o.setRemark("敏敏子的渠道");
238 })); 238 }));
239 // 测试 feeRate 不匹配 239 // 测试 feeRate 不匹配
240 - channelMapper.insert(ObjectUtils.clone(dbChannel, o -> { 240 + channelMapper.insert(cloneIgnoreId(dbChannel, o -> {
241 o.setConfig(payClientConfig); 241 o.setConfig(payClientConfig);
242 o.setFeeRate(1.23); 242 o.setFeeRate(1.23);
243 })); 243 }));
244 // 测试 merchantId 不匹配 244 // 测试 merchantId 不匹配
245 - channelMapper.insert(ObjectUtils.clone(dbChannel, o -> { 245 + channelMapper.insert(cloneIgnoreId(dbChannel, o -> {
246 o.setConfig(payClientConfig); 246 o.setConfig(payClientConfig);
247 o.setMerchantId(2L); 247 o.setMerchantId(2L);
248 })); 248 }));
249 // 测试 appId 不匹配 249 // 测试 appId 不匹配
250 - channelMapper.insert(ObjectUtils.clone(dbChannel, o -> { 250 + channelMapper.insert(cloneIgnoreId(dbChannel, o -> {
251 o.setConfig(payClientConfig); 251 o.setConfig(payClientConfig);
252 o.setAppId(2L); 252 o.setAppId(2L);
253 })); 253 }));
254 // 测试 createTime 不匹配 254 // 测试 createTime 不匹配
255 - channelMapper.insert(ObjectUtils.clone(dbChannel, o -> { 255 + channelMapper.insert(cloneIgnoreId(dbChannel, o -> {
256 o.setConfig(payClientConfig); 256 o.setConfig(payClientConfig);
257 o.setCreateTime(buildTime(2021, 10, 20)); 257 o.setCreateTime(buildTime(2021, 10, 20));
258 })); 258 }));
@@ -296,37 +296,37 @@ public class PayChannelServiceTest extends BaseDbUnitTest { @@ -296,37 +296,37 @@ public class PayChannelServiceTest extends BaseDbUnitTest {
296 // 执行拷贝的时候会出现异常,所以在插入后要重置为null 后续在写入新的 296 // 执行拷贝的时候会出现异常,所以在插入后要重置为null 后续在写入新的
297 dbChannel.setConfig(null); 297 dbChannel.setConfig(null);
298 // 测试 code 不匹配 298 // 测试 code 不匹配
299 - channelMapper.insert(ObjectUtils.clone(dbChannel, o -> { 299 + channelMapper.insert(cloneIgnoreId(dbChannel, o -> {
300 o.setConfig(payClientConfig); 300 o.setConfig(payClientConfig);
301 o.setCode(PayChannelEnum.WX_PUB.getCode()); 301 o.setCode(PayChannelEnum.WX_PUB.getCode());
302 })); 302 }));
303 // 测试 status 不匹配 303 // 测试 status 不匹配
304 - channelMapper.insert(ObjectUtils.clone(dbChannel, o -> { 304 + channelMapper.insert(cloneIgnoreId(dbChannel, o -> {
305 o.setConfig(payClientConfig); 305 o.setConfig(payClientConfig);
306 o.setStatus(CommonStatusEnum.DISABLE.getStatus()); 306 o.setStatus(CommonStatusEnum.DISABLE.getStatus());
307 })); 307 }));
308 // 测试 remark 不匹配 308 // 测试 remark 不匹配
309 - channelMapper.insert(ObjectUtils.clone(dbChannel, o ->{ 309 + channelMapper.insert(cloneIgnoreId(dbChannel, o ->{
310 o.setConfig(payClientConfig); 310 o.setConfig(payClientConfig);
311 o.setRemark("敏敏子的渠道"); 311 o.setRemark("敏敏子的渠道");
312 })); 312 }));
313 // 测试 feeRate 不匹配 313 // 测试 feeRate 不匹配
314 - channelMapper.insert(ObjectUtils.clone(dbChannel, o -> { 314 + channelMapper.insert(cloneIgnoreId(dbChannel, o -> {
315 o.setConfig(payClientConfig); 315 o.setConfig(payClientConfig);
316 o.setFeeRate(1.23); 316 o.setFeeRate(1.23);
317 })); 317 }));
318 // 测试 merchantId 不匹配 318 // 测试 merchantId 不匹配
319 - channelMapper.insert(ObjectUtils.clone(dbChannel, o -> { 319 + channelMapper.insert(cloneIgnoreId(dbChannel, o -> {
320 o.setConfig(payClientConfig); 320 o.setConfig(payClientConfig);
321 o.setMerchantId(2L); 321 o.setMerchantId(2L);
322 })); 322 }));
323 // 测试 appId 不匹配 323 // 测试 appId 不匹配
324 - channelMapper.insert(ObjectUtils.clone(dbChannel, o -> { 324 + channelMapper.insert(cloneIgnoreId(dbChannel, o -> {
325 o.setConfig(payClientConfig); 325 o.setConfig(payClientConfig);
326 o.setAppId(2L); 326 o.setAppId(2L);
327 })); 327 }));
328 // 测试 createTime 不匹配 328 // 测试 createTime 不匹配
329 - channelMapper.insert(ObjectUtils.clone(dbChannel, o -> { 329 + channelMapper.insert(cloneIgnoreId(dbChannel, o -> {
330 o.setConfig(payClientConfig); 330 o.setConfig(payClientConfig);
331 o.setCreateTime(buildTime(2021, 10, 20)); 331 o.setCreateTime(buildTime(2021, 10, 20));
332 })); 332 }));
yudao-admin-server/src/test/java/cn/iocoder/yudao/adminserver/modules/pay/service/merchant/PayMerchantServiceTest.java
@@ -11,7 +11,6 @@ import cn.iocoder.yudao.adminserver.modules.pay.service.merchant.impl.PayMerchan @@ -11,7 +11,6 @@ import cn.iocoder.yudao.adminserver.modules.pay.service.merchant.impl.PayMerchan
11 import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayMerchantDO; 11 import cn.iocoder.yudao.coreservice.modules.pay.dal.dataobject.merchant.PayMerchantDO;
12 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; 12 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
13 import cn.iocoder.yudao.framework.common.pojo.PageResult; 13 import cn.iocoder.yudao.framework.common.pojo.PageResult;
14 -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;  
15 import org.junit.jupiter.api.Test; 14 import org.junit.jupiter.api.Test;
16 import org.springframework.context.annotation.Import; 15 import org.springframework.context.annotation.Import;
17 16
@@ -19,10 +18,12 @@ import javax.annotation.Resource; @@ -19,10 +18,12 @@ import javax.annotation.Resource;
19 import java.util.List; 18 import java.util.List;
20 19
21 import static cn.iocoder.yudao.coreservice.modules.pay.enums.PayErrorCodeCoreConstants.PAY_MERCHANT_NOT_EXISTS; 20 import static cn.iocoder.yudao.coreservice.modules.pay.enums.PayErrorCodeCoreConstants.PAY_MERCHANT_NOT_EXISTS;
  21 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime;
  22 +import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
22 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 23 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
23 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 24 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
24 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime;  
25 -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; 25 +import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId;
  26 +import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
26 import static org.junit.jupiter.api.Assertions.*; 27 import static org.junit.jupiter.api.Assertions.*;
27 28
28 /** 29 /**
@@ -119,17 +120,17 @@ public class PayMerchantServiceTest extends BaseDbUnitTest { @@ -119,17 +120,17 @@ public class PayMerchantServiceTest extends BaseDbUnitTest {
119 }); 120 });
120 merchantMapper.insert(dbMerchant); 121 merchantMapper.insert(dbMerchant);
121 // 测试 no 不匹配 122 // 测试 no 不匹配
122 - merchantMapper.insert(ObjectUtils.clone(dbMerchant, o -> o.setNo("M200000"))); 123 + merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setNo("M200000")));
123 // 测试 name 不匹配 124 // 测试 name 不匹配
124 - merchantMapper.insert(ObjectUtils.clone(dbMerchant, o -> o.setName("斌哥的杂货铺"))); 125 + merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setName("斌哥的杂货铺")));
125 // 测试 shortName 不匹配 126 // 测试 shortName 不匹配
126 - merchantMapper.insert(ObjectUtils.clone(dbMerchant, o -> o.setShortName("斌斌子"))); 127 + merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setShortName("斌斌子")));
127 // 测试 status 不匹配 128 // 测试 status 不匹配
128 - merchantMapper.insert(ObjectUtils.clone(dbMerchant, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); 129 + merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
129 // 测试 remark 不匹配 130 // 测试 remark 不匹配
130 - merchantMapper.insert(ObjectUtils.clone(dbMerchant, o -> o.setRemark("斌哥的杂货铺"))); 131 + merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setRemark("斌哥的杂货铺")));
131 // 测试 createTime 不匹配 132 // 测试 createTime 不匹配
132 - merchantMapper.insert(ObjectUtils.clone(dbMerchant, o -> o.setCreateTime(buildTime(2022,12,4)))); 133 + merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setCreateTime(buildTime(2022,12,4))));
133 // 准备参数 134 // 准备参数
134 PayMerchantPageReqVO reqVO = new PayMerchantPageReqVO(); 135 PayMerchantPageReqVO reqVO = new PayMerchantPageReqVO();
135 reqVO.setNo("M1008611"); 136 reqVO.setNo("M1008611");
@@ -161,17 +162,17 @@ public class PayMerchantServiceTest extends BaseDbUnitTest { @@ -161,17 +162,17 @@ public class PayMerchantServiceTest extends BaseDbUnitTest {
161 }); 162 });
162 merchantMapper.insert(dbMerchant); 163 merchantMapper.insert(dbMerchant);
163 // 测试 no 不匹配 164 // 测试 no 不匹配
164 - merchantMapper.insert(ObjectUtils.clone(dbMerchant, o -> o.setNo("M200000"))); 165 + merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setNo("M200000")));
165 // 测试 name 不匹配 166 // 测试 name 不匹配
166 - merchantMapper.insert(ObjectUtils.clone(dbMerchant, o -> o.setName("斌哥的杂货铺"))); 167 + merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setName("斌哥的杂货铺")));
167 // 测试 shortName 不匹配 168 // 测试 shortName 不匹配
168 - merchantMapper.insert(ObjectUtils.clone(dbMerchant, o -> o.setShortName("斌斌子"))); 169 + merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setShortName("斌斌子")));
169 // 测试 status 不匹配 170 // 测试 status 不匹配
170 - merchantMapper.insert(ObjectUtils.clone(dbMerchant, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); 171 + merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
171 // 测试 remark 不匹配 172 // 测试 remark 不匹配
172 - merchantMapper.insert(ObjectUtils.clone(dbMerchant, o -> o.setRemark("斌哥的杂货铺"))); 173 + merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setRemark("斌哥的杂货铺")));
173 // 测试 createTime 不匹配 174 // 测试 createTime 不匹配
174 - merchantMapper.insert(ObjectUtils.clone(dbMerchant, o -> o.setCreateTime(buildTime(2022,12,4)))); 175 + merchantMapper.insert(cloneIgnoreId(dbMerchant, o -> o.setCreateTime(buildTime(2022,12,4))));
175 // 准备参数 176 // 准备参数
176 PayMerchantExportReqVO reqVO = new PayMerchantExportReqVO(); 177 PayMerchantExportReqVO reqVO = new PayMerchantExportReqVO();
177 reqVO.setNo("M1008611"); 178 reqVO.setNo("M1008611");
yudao-admin-server/src/test/java/cn/iocoder/yudao/adminserver/modules/pay/service/order/PayOrderServiceTest.java
@@ -13,7 +13,6 @@ import cn.iocoder.yudao.coreservice.modules.pay.enums.order.PayOrderStatusEnum; @@ -13,7 +13,6 @@ import cn.iocoder.yudao.coreservice.modules.pay.enums.order.PayOrderStatusEnum;
13 import cn.iocoder.yudao.coreservice.modules.pay.enums.order.PayRefundTypeEnum; 13 import cn.iocoder.yudao.coreservice.modules.pay.enums.order.PayRefundTypeEnum;
14 import cn.iocoder.yudao.framework.common.pojo.PageResult; 14 import cn.iocoder.yudao.framework.common.pojo.PageResult;
15 import cn.iocoder.yudao.framework.common.util.date.DateUtils; 15 import cn.iocoder.yudao.framework.common.util.date.DateUtils;
16 -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;  
17 import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum; 16 import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
18 import org.junit.jupiter.api.Test; 17 import org.junit.jupiter.api.Test;
19 import org.springframework.context.annotation.Import; 18 import org.springframework.context.annotation.Import;
@@ -22,6 +21,7 @@ import javax.annotation.Resource; @@ -22,6 +21,7 @@ import javax.annotation.Resource;
22 import java.util.Date; 21 import java.util.Date;
23 import java.util.List; 22 import java.util.List;
24 23
  24 +import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
25 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 25 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
26 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo; 26 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
27 import static org.junit.jupiter.api.Assertions.assertEquals; 27 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -80,23 +80,23 @@ public class PayOrderServiceTest extends BaseDbUnitTest { @@ -80,23 +80,23 @@ public class PayOrderServiceTest extends BaseDbUnitTest {
80 }); 80 });
81 orderMapper.insert(dbOrder); 81 orderMapper.insert(dbOrder);
82 // 测试 merchantId 不匹配 82 // 测试 merchantId 不匹配
83 - orderMapper.insert(ObjectUtils.clone(dbOrder, o -> o.setMerchantId(2L))); 83 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setMerchantId(2L)));
84 // 测试 appId 不匹配 84 // 测试 appId 不匹配
85 - orderMapper.insert(ObjectUtils.clone(dbOrder, o -> o.setAppId(2L))); 85 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setAppId(2L)));
86 // 测试 channelId 不匹配 86 // 测试 channelId 不匹配
87 - orderMapper.insert(ObjectUtils.clone(dbOrder, o -> o.setChannelId(2L))); 87 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setChannelId(2L)));
88 // 测试 channelCode 不匹配 88 // 测试 channelCode 不匹配
89 - orderMapper.insert(ObjectUtils.clone(dbOrder, o -> o.setChannelCode(PayChannelEnum.ALIPAY_APP.getCode()))); 89 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setChannelCode(PayChannelEnum.ALIPAY_APP.getCode())));
90 // 测试 merchantOrderId 不匹配 90 // 测试 merchantOrderId 不匹配
91 - orderMapper.insert(ObjectUtils.clone(dbOrder, o -> o.setMerchantOrderId(generateNo()))); 91 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setMerchantOrderId(generateNo())));
92 // 测试 notifyStatus 不匹配 92 // 测试 notifyStatus 不匹配
93 - orderMapper.insert(ObjectUtils.clone(dbOrder, o -> o.setNotifyStatus(PayOrderNotifyStatusEnum.FAILURE.getStatus()))); 93 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setNotifyStatus(PayOrderNotifyStatusEnum.FAILURE.getStatus())));
94 // 测试 status 不匹配 94 // 测试 status 不匹配
95 - orderMapper.insert(ObjectUtils.clone(dbOrder, o -> o.setStatus(PayOrderStatusEnum.CLOSED.getStatus()))); 95 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setStatus(PayOrderStatusEnum.CLOSED.getStatus())));
96 // 测试 refundStatus 不匹配 96 // 测试 refundStatus 不匹配
97 - orderMapper.insert(ObjectUtils.clone(dbOrder, o -> o.setRefundStatus(PayRefundTypeEnum.ALL.getStatus()))); 97 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setRefundStatus(PayRefundTypeEnum.ALL.getStatus())));
98 // 测试 createTime 不匹配 98 // 测试 createTime 不匹配
99 - orderMapper.insert(ObjectUtils.clone(dbOrder, o -> o.setCreateTime(DateUtils.buildTime(2019, 1, 1, 10, 10, 99 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setCreateTime(DateUtils.buildTime(2019, 1, 1, 10, 10,
100 1)))); 100 1))));
101 // 准备参数 101 // 准备参数
102 PayOrderPageReqVO reqVO = new PayOrderPageReqVO(); 102 PayOrderPageReqVO reqVO = new PayOrderPageReqVO();
@@ -155,23 +155,23 @@ public class PayOrderServiceTest extends BaseDbUnitTest { @@ -155,23 +155,23 @@ public class PayOrderServiceTest extends BaseDbUnitTest {
155 }); 155 });
156 orderMapper.insert(dbOrder); 156 orderMapper.insert(dbOrder);
157 // 测试 merchantId 不匹配 157 // 测试 merchantId 不匹配
158 - orderMapper.insert(ObjectUtils.clone(dbOrder, o -> o.setMerchantId(2L))); 158 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setMerchantId(2L)));
159 // 测试 appId 不匹配 159 // 测试 appId 不匹配
160 - orderMapper.insert(ObjectUtils.clone(dbOrder, o -> o.setAppId(2L))); 160 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setAppId(2L)));
161 // 测试 channelId 不匹配 161 // 测试 channelId 不匹配
162 - orderMapper.insert(ObjectUtils.clone(dbOrder, o -> o.setChannelId(2L))); 162 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setChannelId(2L)));
163 // 测试 channelCode 不匹配 163 // 测试 channelCode 不匹配
164 - orderMapper.insert(ObjectUtils.clone(dbOrder, o -> o.setChannelCode(PayChannelEnum.ALIPAY_APP.getCode()))); 164 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setChannelCode(PayChannelEnum.ALIPAY_APP.getCode())));
165 // 测试 merchantOrderId 不匹配 165 // 测试 merchantOrderId 不匹配
166 - orderMapper.insert(ObjectUtils.clone(dbOrder, o -> o.setMerchantOrderId(generateNo()))); 166 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setMerchantOrderId(generateNo())));
167 // 测试 notifyStatus 不匹配 167 // 测试 notifyStatus 不匹配
168 - orderMapper.insert(ObjectUtils.clone(dbOrder, o -> o.setNotifyStatus(PayOrderNotifyStatusEnum.FAILURE.getStatus()))); 168 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setNotifyStatus(PayOrderNotifyStatusEnum.FAILURE.getStatus())));
169 // 测试 status 不匹配 169 // 测试 status 不匹配
170 - orderMapper.insert(ObjectUtils.clone(dbOrder, o -> o.setStatus(PayOrderStatusEnum.CLOSED.getStatus()))); 170 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setStatus(PayOrderStatusEnum.CLOSED.getStatus())));
171 // 测试 refundStatus 不匹配 171 // 测试 refundStatus 不匹配
172 - orderMapper.insert(ObjectUtils.clone(dbOrder, o -> o.setRefundStatus(PayRefundTypeEnum.ALL.getStatus()))); 172 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setRefundStatus(PayRefundTypeEnum.ALL.getStatus())));
173 // 测试 createTime 不匹配 173 // 测试 createTime 不匹配
174 - orderMapper.insert(ObjectUtils.clone(dbOrder, o -> o.setCreateTime(DateUtils.buildTime(2019, 1, 1, 10, 10, 174 + orderMapper.insert(cloneIgnoreId(dbOrder, o -> o.setCreateTime(DateUtils.buildTime(2019, 1, 1, 10, 10,
175 1)))); 175 1))));
176 // 准备参数 176 // 准备参数
177 PayOrderExportReqVO reqVO = new PayOrderExportReqVO(); 177 PayOrderExportReqVO reqVO = new PayOrderExportReqVO();
yudao-admin-ui/src/utils/dict.js
@@ -32,7 +32,7 @@ export const DICT_TYPE = { @@ -32,7 +32,7 @@ export const DICT_TYPE = {
32 TOOL_CODEGEN_TEMPLATE_TYPE: 'tool_codegen_template_type', 32 TOOL_CODEGEN_TEMPLATE_TYPE: 'tool_codegen_template_type',
33 33
34 OA_LEAVE_STATUS: 'oa_leave_status', 34 OA_LEAVE_STATUS: 'oa_leave_status',
35 - OA_LEAVE_TYPE: 'oa_leave_type' 35 + OA_LEAVE_TYPE: 'oa_leave_type',
36 36
37 // 商户状态 37 // 商户状态
38 PAY_MERCHANT_STATUS: 'pay_merchant_status', 38 PAY_MERCHANT_STATUS: 'pay_merchant_status',