From 1a43717440c8d112fc72b6344a5f6a26353ab56e Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 09 七月 2024 18:43:29 +0800 Subject: [PATCH] 用户设置除非后台设置,否者不自动添加设置 --- src/main/java/com/taoke/autopay/service/impl/WxUserSettingServiceImpl.java | 53 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 49 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/taoke/autopay/service/impl/WxUserSettingServiceImpl.java b/src/main/java/com/taoke/autopay/service/impl/WxUserSettingServiceImpl.java index c95d142..a79bd74 100644 --- a/src/main/java/com/taoke/autopay/service/impl/WxUserSettingServiceImpl.java +++ b/src/main/java/com/taoke/autopay/service/impl/WxUserSettingServiceImpl.java @@ -7,6 +7,7 @@ import com.taoke.autopay.service.WxUserSettingService; import com.taoke.autopay.utils.StringUtil; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; @@ -25,13 +26,53 @@ @Resource private WxUserSettingsMapper wxUserSettingsMapper; + @Resource + private SystemConfigService systemConfigService; + + @Transactional(rollbackFor = Exception.class) @Override public void add(WxUserSettings settings) { - if (settings.getCreateTime() == null) { - settings.setCreateTime(new Date()); + WxUserSettings old = wxUserSettingsMapper.selectByPrimaryKeyForUpdate(settings.getId()); + if(old==null) { + if (settings.getCreateTime() == null) { + settings.setCreateTime(new Date()); + } + wxUserSettingsMapper.insertSelective(settings); + }else{ + settings.setUpdateTime(new Date()); + wxUserSettingsMapper.updateByPrimaryKeySelective(settings); } - wxUserSettingsMapper.insertSelective(settings); + } + + /** + * @author hxh + * @description 鑾峰彇鐢ㄦ埛璁剧疆锛屽鏋滄病鏈夎缃氨閲囩敤榛樿璁剧疆 + * @date 18:32 2024/7/9 + * @param: uid + * @return com.taoke.autopay.entity.WxUserSettings + **/ + @Override + public WxUserSettings getUserSettings(Long uid) { + WxUserSettings settings = selectByUid(uid); + if(settings!=null){ + return settings; + } + settings = new WxUserSettings(); + settings.setId(uid); + String value = systemConfigService.getValueCache(SystemConfigKeyEnum.DY_ORDER_MAX_PAY_COUNT_DEFAULT); + if (!StringUtil.isNullOrEmpty(value)) { + settings.setDyOrderCountPerDay(Integer.parseInt(value)); + } + value = systemConfigService.getValueCache(SystemConfigKeyEnum.KS_ORDER_MAX_PAY_COUNT_DEFAULT); + if (!StringUtil.isNullOrEmpty(value)) { + settings.setKsOrderCountPerDay(Integer.parseInt(value)); + } + value = systemConfigService.getValueCache(SystemConfigKeyEnum.ORDER_MAX_SUBMIT_COUNT_DEFAULT); + if (!StringUtil.isNullOrEmpty(value)) { + settings.setTotalOrderCountPerDay(Integer.parseInt(value)); + } + return settings; } @Override @@ -55,6 +96,10 @@ if (uidList == null || uidList.size() == 0) { return new ArrayList<>(); } - return wxUserSettingsMapper.listByUids(uidList); + List<WxUserSettings> list=new ArrayList<>(); + for(Long uid:uidList){ + list.add(getUserSettings(uid)); + } + return list; } } -- Gitblit v1.8.0