diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java index 331d8a32a..3dcd1091d 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java @@ -928,4 +928,21 @@ public class TempController extends BaseController { logger.info("时间区间查询订单统计 result:{}", response); return response; } + + /** + * 更新钱包code为空的数据 + * http://localhost:8080/temp/updateWalletCode + */ + @PostMapping("/updateWalletCode") + public RestApiResponse updateWalletCode() { + RestApiResponse response = null; + try { + tempService.updateWalletCode(); + response = new RestApiResponse<>(); + } catch (Exception e) { + logger.error("更新钱包code为空数据 error", e); + } + logger.info("更新钱包code为空数据 result:{}", response); + return response; + } } diff --git a/jsowell-admin/src/main/java/com/jsowell/service/TempService.java b/jsowell-admin/src/main/java/com/jsowell/service/TempService.java index 559b455b0..cc3fc980b 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/TempService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/TempService.java @@ -80,6 +80,9 @@ public class TempService { @Autowired private AdapayCallbackRecordService adapayCallbackRecordService; + @Autowired + private MemberBasicInfoService memberBasicInfoService; + @Autowired protected TransactionService transactionService; @@ -131,6 +134,9 @@ public class TempService { @Autowired private NotificationService notificationService; + @Autowired + private MemberWalletInfoService memberWalletInfoService; + /** * 计算订单耗电量 * 内蒙古站点 @@ -1331,5 +1337,23 @@ public class TempService { logger.info("查询订单数量结果:{}", JSONObject.toJSONString(result)); return result; } + + public void updateWalletCode() { + // 查询钱包dode为空的数据 + List memberWalletInfoList = memberWalletInfoService.queryWalletIsNull(); + + // 分批处理, 1000条为一批 + List> partition = Lists.partition(memberWalletInfoList, 1000); + + partition.parallelStream().forEach(walletInfoList -> { + walletInfoList.forEach(walletInfo -> { + // 生成钱包code + walletInfo.setWalletCode(memberBasicInfoService.generateWalletCode()); + }); + // 批量更新钱包code + memberWalletInfoService.updateBatchSelective(walletInfoList); + }); + + } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletInfoMapper.java index c7b481256..34faa8443 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletInfoMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletInfoMapper.java @@ -1,47 +1,34 @@ package com.jsowell.pile.mapper; import com.jsowell.pile.domain.MemberWalletInfo; - -import java.util.List; - import com.jsowell.pile.vo.base.MemberWalletVO; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface MemberWalletInfoMapper { int deleteByPrimaryKey(Integer id); + int insert(MemberWalletInfo record); + + int insertOrUpdate(MemberWalletInfo record); + + int insertOrUpdateSelective(MemberWalletInfo record); + int insertSelective(MemberWalletInfo record); MemberWalletInfo selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(MemberWalletInfo record); + int updateByPrimaryKey(MemberWalletInfo record); + int updateBatch(@Param("list") List list); int updateBatchSelective(@Param("list") List list); int batchInsert(@Param("list") List list); - int insertOrUpdate(MemberWalletInfo record); - - int insertOrUpdateSelective(MemberWalletInfo record); - - /** - * insert record to table - * - * @param record the record - * @return insert count - */ - int insert(MemberWalletInfo record); - - /** - * update record - * - * @param record the updated record - * @return update count - */ - int updateByPrimaryKey(MemberWalletInfo record); - /** * 根据会员id和目标运营商id查询用户钱包信息 * @@ -56,4 +43,6 @@ public interface MemberWalletInfoMapper { MemberWalletInfo selectByWalletCode(@Param("walletCode") String walletCode); MemberWalletVO selectMemberWalletInfo(String walletCode); -} \ No newline at end of file + + List queryWalletIsNull(); +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberWalletInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberWalletInfoService.java index 590501f5b..06c73c307 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberWalletInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberWalletInfoService.java @@ -25,4 +25,8 @@ public interface MemberWalletInfoService { List selectByMemberWalletList(String memberId); MemberWalletVO selectMemberWalletInfo(String walletCode); + + List queryWalletIsNull(); + + int updateBatchSelective(List walletInfoList); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberWalletInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberWalletInfoServiceImpl.java index b3f8debf7..37201480f 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberWalletInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberWalletInfoServiceImpl.java @@ -120,4 +120,14 @@ public class MemberWalletInfoServiceImpl implements MemberWalletInfoService { return memberWalletVO; } + @Override + public List queryWalletIsNull() { + return memberWalletInfoMapper.queryWalletIsNull(); + } + + @Override + public int updateBatchSelective(List walletInfoList) { + return memberWalletInfoMapper.updateBatchSelective(walletInfoList); + } + } diff --git a/jsowell-pile/src/main/resources/mapper/pile/MemberWalletInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/MemberWalletInfoMapper.xml index 25e895828..5c570823a 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/MemberWalletInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/MemberWalletInfoMapper.xml @@ -19,12 +19,12 @@ - id, member_id, merchant_id, wallet_code, principal_balance, gift_balance, version, + id, member_id, merchant_id, wallet_code, principal_balance, gift_balance, version, create_by, create_time, update_by, update_time, del_flag - \ No newline at end of file + + +