Merge remote-tracking branch 'origin/test' into test

This commit is contained in:
Tankaikai
2024-11-25 11:02:03 +08:00
2 changed files with 45 additions and 43 deletions

View File

@@ -637,7 +637,7 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
flow.setBizName("会员储值卡退款"); flow.setBizName("会员储值卡退款");
flow.setType("+"); flow.setType("+");
flow.setAmount(returnAmount); flow.setAmount(returnAmount);
flow.setBalance(user.getAmount()); flow.setBalance(user.getAmount().add(returnAmount));
flow.setCreateTime(cn.hutool.core.date.DateUtil.date().toTimestamp()); flow.setCreateTime(cn.hutool.core.date.DateUtil.date().toTimestamp());
flow.setIsReturn("0"); flow.setIsReturn("0");
tbShopUserFlowMapper.insert(flow); tbShopUserFlowMapper.insert(flow);

View File

@@ -49,11 +49,11 @@ import java.time.Instant;
import java.util.*; import java.util.*;
/** /**
* @website https://eladmin.vip * @author lyf
* @description 服务实现 * @website https://eladmin.vip
* @author lyf * @description 服务实现
* @date 2023-11-07 * @date 2023-11-07
**/ **/
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class TbShopInfoServiceImpl implements TbShopInfoService { public class TbShopInfoServiceImpl implements TbShopInfoService {
@@ -86,9 +86,11 @@ public class TbShopInfoServiceImpl implements TbShopInfoService {
public JSONObject binding(BindingDto bindingDto) { public JSONObject binding(BindingDto bindingDto) {
TbShopInfo tbShopInfo = tbShopInfoRepository.findById(bindingDto.getShopId()).orElseGet(null); TbShopInfo tbShopInfo = tbShopInfoRepository.findById(bindingDto.getShopId()).orElseGet(null);
TbMerchantAccount account = merchantAccountRepository.findByAccount(tbShopInfo.getAccount()); TbMerchantAccount account = merchantAccountRepository.findByAccount(tbShopInfo.getAccount());
boolean isNew = true;
if (org.apache.commons.lang3.StringUtils.isBlank(bindingDto.getAccount())) { if (org.apache.commons.lang3.StringUtils.isBlank(bindingDto.getAccount())) {
if (tbShopInfo != null) { if (tbShopInfo != null) {
if (org.apache.commons.lang3.StringUtils.isNotBlank(account.getBindAccount())) { if (org.apache.commons.lang3.StringUtils.isNotBlank(account.getBindAccount())) {
isNew = false;
bindingDto.setAccount(account.getBindAccount()); bindingDto.setAccount(account.getBindAccount());
} else { } else {
return null; return null;
@@ -98,7 +100,7 @@ public class TbShopInfoServiceImpl implements TbShopInfoService {
Map<String, Object> param = new HashMap<>(); Map<String, Object> param = new HashMap<>();
param.put("account", bindingDto.getAccount()); param.put("account", bindingDto.getAccount());
JSONObject data = bindService.binding(param); JSONObject data = bindService.binding(param);
if (org.apache.commons.lang3.StringUtils.isNotBlank(bindingDto.getAccount())) { if (isNew) {
account.setBindAccount(bindingDto.getAccount()); account.setBindAccount(bindingDto.getAccount());
account.setArticle(bindingDto.getArticle()); account.setArticle(bindingDto.getArticle());
account.setTaxAmount(bindingDto.getTaxAmount()); account.setTaxAmount(bindingDto.getTaxAmount());
@@ -113,15 +115,15 @@ public class TbShopInfoServiceImpl implements TbShopInfoService {
} }
@Override @Override
public Map<String,Object> queryAll(TbShopInfoQueryCriteria criteria){ public Map<String, Object> queryAll(TbShopInfoQueryCriteria criteria) {
Sort sort = Sort.by(Sort.Direction.DESC, "id"); Sort sort = Sort.by(Sort.Direction.DESC, "id");
Pageable pageables = PageRequest.of(criteria.getPage(), criteria.getSize(), sort); Pageable pageables = PageRequest.of(criteria.getPage(), criteria.getSize(), sort);
Page<TbShopInfo> page = tbShopInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageables); Page<TbShopInfo> page = tbShopInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageables);
return PageUtil.toPage(page); return PageUtil.toPage(page);
} }
@Override @Override
public List<TbShopInfo> queryChildShop(TbShopInfoQueryCriteria criteria){ public List<TbShopInfo> queryChildShop(TbShopInfoQueryCriteria criteria) {
List<TbShopInfo> list = tbShopInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> { List<TbShopInfo> list = tbShopInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> {
Predicate query1 = criteriaBuilder.equal(root.get("id"), criteria.getId()); Predicate query1 = criteriaBuilder.equal(root.get("id"), criteria.getId());
Predicate query2 = criteriaBuilder.and( Predicate query2 = criteriaBuilder.and(
@@ -148,14 +150,14 @@ public class TbShopInfoServiceImpl implements TbShopInfoService {
@Transactional @Transactional
public TbShopInfoDto findById(Integer id) { public TbShopInfoDto findById(Integer id) {
TbShopInfo tbShopInfo = tbShopInfoRepository.findById(id).orElseGet(TbShopInfo::new); TbShopInfo tbShopInfo = tbShopInfoRepository.findById(id).orElseGet(TbShopInfo::new);
if(StringUtils.isBlank(tbShopInfo.getSmallQrcode())){ if (StringUtils.isBlank(tbShopInfo.getSmallQrcode())) {
String smallQrcode = wxService.getSmallQrcode(id.toString()); String smallQrcode = wxService.getSmallQrcode(id.toString());
tbShopInfo.setSmallQrcode(smallQrcode); tbShopInfo.setSmallQrcode(smallQrcode);
tbShopInfoRepository.save(tbShopInfo); tbShopInfoRepository.save(tbShopInfo);
} }
String baseUrl = paramsService.getValue(ParamsEnum.SHOP_ORDER_PAY_BASE_URL.name()); String baseUrl = paramsService.getValue(ParamsEnum.SHOP_ORDER_PAY_BASE_URL.name());
tbShopInfo.setPaymentQrcode(baseUrl+"?shopId="+id); tbShopInfo.setPaymentQrcode(baseUrl + "?shopId=" + id);
ValidationUtil.isNull(tbShopInfo.getId(),"TbShopInfo","id",id); ValidationUtil.isNull(tbShopInfo.getId(), "TbShopInfo", "id", id);
return tbShopInfoMapper.toDto(tbShopInfo); return tbShopInfoMapper.toDto(tbShopInfo);
} }
@@ -168,46 +170,46 @@ public class TbShopInfoServiceImpl implements TbShopInfoService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public TbShopInfoDto create(TbShopInfoDto resources) { public TbShopInfoDto create(TbShopInfoDto resources) {
if(StringUtils.isBlank(resources.getShopName())){ if (StringUtils.isBlank(resources.getShopName())) {
throw new BadRequestException("店铺名称不可为空"); throw new BadRequestException("店铺名称不可为空");
} }
resources.setShopName(resources.getShopName().trim()); resources.setShopName(resources.getShopName().trim());
if ("release".equals(resources.getProfiles())){ if ("release".equals(resources.getProfiles())) {
if (resources.getRegisterCode() == null){ if (resources.getRegisterCode() == null) {
throw new BadRequestException("未绑定激活码"); throw new BadRequestException("未绑定激活码");
} }
} }
TbShopInfo byAccount = tbShopInfoRepository.findByAccount(resources.getAccount()); TbShopInfo byAccount = tbShopInfoRepository.findByAccount(resources.getAccount());
User byUsername = userRepository.findByUsername(resources.getAccount()); User byUsername = userRepository.findByUsername(resources.getAccount());
if (byAccount != null || byUsername != null){ if (byAccount != null || byUsername != null) {
throw new BadRequestException("登录名已注册"); throw new BadRequestException("登录名已注册");
} }
TbShopInfo tbShopInfo = new TbShopInfo(); TbShopInfo tbShopInfo = new TbShopInfo();
BeanUtil.copyProperties(resources,tbShopInfo, CopyOptions.create().setIgnoreNullValue(true)); BeanUtil.copyProperties(resources, tbShopInfo, CopyOptions.create().setIgnoreNullValue(true));
tbShopInfo.setCreatedAt(Instant.now().toEpochMilli()); tbShopInfo.setCreatedAt(Instant.now().toEpochMilli());
tbShopInfo.setUpdatedAt(Instant.now().toEpochMilli()); tbShopInfo.setUpdatedAt(Instant.now().toEpochMilli());
tbShopInfo.setIsOpenYhq(resources.getIsOpenYhq()); tbShopInfo.setIsOpenYhq(resources.getIsOpenYhq());
//激活码 //激活码
TbMerchantRegister tbMerchantRegister = new TbMerchantRegister(); TbMerchantRegister tbMerchantRegister = new TbMerchantRegister();
if (resources.getRegisterCode() != null){ if (resources.getRegisterCode() != null) {
tbMerchantRegister = merchantRegisterRepository.findByRegisterCode(resources.getRegisterCode()); tbMerchantRegister = merchantRegisterRepository.findByRegisterCode(resources.getRegisterCode());
if(tbMerchantRegister == null){ if (tbMerchantRegister == null) {
throw new BadRequestException("激活码有误"); throw new BadRequestException("激活码有误");
} }
if (tbMerchantRegister.getStatus() == 1){ if (tbMerchantRegister.getStatus() == 1) {
throw new BadRequestException("激活码已激活,不能重复绑定"); throw new BadRequestException("激活码已激活,不能重复绑定");
} }
tbShopInfo.setExpireAt(DateUtil.addMonthsAndGetTimestamp(tbMerchantRegister.getPeriodYear())); tbShopInfo.setExpireAt(DateUtil.addMonthsAndGetTimestamp(tbMerchantRegister.getPeriodYear()));
//向redis中存入key //向redis中存入key
redisUtils.set(CacheKey.ACT_CODE+resources.getAccount(),"1",tbShopInfo.getExpireAt()-Instant.now().toEpochMilli()); redisUtils.set(CacheKey.ACT_CODE + resources.getAccount(), "1", tbShopInfo.getExpireAt() - Instant.now().toEpochMilli());
} }
if(org.apache.commons.lang3.StringUtils.isNotBlank(resources.getType()) && !"only".equals(resources.getType())){ if (org.apache.commons.lang3.StringUtils.isNotBlank(resources.getType()) && !"only".equals(resources.getType())) {
if(resources.getMainId() == null){ if (resources.getMainId() == null) {
throw new BadRequestException("连锁店或者扩展店 主店铺不能为空"); throw new BadRequestException("连锁店或者扩展店 主店铺不能为空");
} }
}else { } else {
tbShopInfo.setMainId(null); tbShopInfo.setMainId(null);
tbShopInfo.setTubeType(1); tbShopInfo.setTubeType(1);
} }
@@ -275,7 +277,7 @@ public class TbShopInfoServiceImpl implements TbShopInfoService {
shopStaffRepository.save(tbPlussShopStaff); shopStaffRepository.save(tbPlussShopStaff);
//增加默认支付方式 //增加默认支付方式
Integer integer = tbShopPayTypeRepository.creatPayType(save.getId().toString()); Integer integer = tbShopPayTypeRepository.creatPayType(save.getId().toString());
if (integer<4){ if (integer < 4) {
throw new BadRequestException("请重试"); throw new BadRequestException("请重试");
} }
TbProductGroup tbProductGroup = new TbProductGroup(); TbProductGroup tbProductGroup = new TbProductGroup();
@@ -290,35 +292,35 @@ public class TbShopInfoServiceImpl implements TbShopInfoService {
@Override @Override
@Transactional @Transactional
public void upShopPass(String username,String password){ public void upShopPass(String username, String password) {
User user = userRepository.findByUsername(username); User user = userRepository.findByUsername(username);
if (user == null) { if (user == null) {
throw new EntityNotFoundException(User.class, "username", username); throw new EntityNotFoundException(User.class, "username", username);
} }
String encPass = MD5Utils.encrypt(password); String encPass = MD5Utils.encrypt(password);
shopStaffRepository.updatePass(username,encPass,System.currentTimeMillis()); shopStaffRepository.updatePass(username, encPass, System.currentTimeMillis());
merchantAccountRepository.updatePass(username,encPass,System.currentTimeMillis()); merchantAccountRepository.updatePass(username, encPass, System.currentTimeMillis());
// passwordEncoder.encode(passwordEncoder.encode(password)) // passwordEncoder.encode(passwordEncoder.encode(password))
userService.updatePass(username,passwordEncoder.encode(password)); userService.updatePass(username, passwordEncoder.encode(password));
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void update(TbShopInfo resources) { public void update(TbShopInfo resources) {
TbShopInfo tbShopInfo = tbShopInfoRepository.findById(resources.getId()).orElseGet(TbShopInfo::new); TbShopInfo tbShopInfo = tbShopInfoRepository.findById(resources.getId()).orElseGet(TbShopInfo::new);
if(org.apache.commons.lang3.StringUtils.isNotBlank(resources.getType()) && !"only".equals(resources.getType())){ if (org.apache.commons.lang3.StringUtils.isNotBlank(resources.getType()) && !"only".equals(resources.getType())) {
if(resources.getMainId() == null){ if (resources.getMainId() == null) {
throw new BadRequestException("连锁店或者扩展店 主店铺不能为空"); throw new BadRequestException("连锁店或者扩展店 主店铺不能为空");
} }
}else { } else {
tbShopInfo.setMainId(null); tbShopInfo.setMainId(null);
tbShopInfo.setTubeType(1); tbShopInfo.setTubeType(1);
} }
if (StringUtils.isNotBlank(resources.getShopName()) && !resources.getShopName().equals(tbShopInfo.getShopName())) { if (StringUtils.isNotBlank(resources.getShopName()) && !resources.getShopName().equals(tbShopInfo.getShopName())) {
shopStaffRepository.updateNameById(resources.getShopName(),resources.getId().toString()); shopStaffRepository.updateNameById(resources.getShopName(), resources.getId().toString());
userRepository.updateNickName(resources.getAccount(),resources.getShopName()); userRepository.updateNickName(resources.getAccount(), resources.getShopName());
} }
ValidationUtil.isNull( tbShopInfo.getId(),"TbShopInfo","id",resources.getId()); ValidationUtil.isNull(tbShopInfo.getId(), "TbShopInfo", "id", resources.getId());
tbShopInfo.copy(resources); tbShopInfo.copy(resources);
tbShopInfo.setUpdatedAt(Instant.now().toEpochMilli()); tbShopInfo.setUpdatedAt(Instant.now().toEpochMilli());
tbShopInfoRepository.save(tbShopInfo); tbShopInfoRepository.save(tbShopInfo);
@@ -327,7 +329,7 @@ public class TbShopInfoServiceImpl implements TbShopInfoService {
@Override @Override
public void updateShopId(TbShopInfo resources) { public void updateShopId(TbShopInfo resources) {
TbShopInfo tbShopInfo = tbShopInfoRepository.findById(resources.getId()).orElseGet(TbShopInfo::new); TbShopInfo tbShopInfo = tbShopInfoRepository.findById(resources.getId()).orElseGet(TbShopInfo::new);
ValidationUtil.isNull( tbShopInfo.getId(),"TbShopInfo","id",resources.getId()); ValidationUtil.isNull(tbShopInfo.getId(), "TbShopInfo", "id", resources.getId());
tbShopInfo.copy(resources); tbShopInfo.copy(resources);
} }
@@ -348,7 +350,7 @@ public class TbShopInfoServiceImpl implements TbShopInfoService {
public void download(List<TbShopInfoDto> all, HttpServletResponse response) throws IOException { public void download(List<TbShopInfoDto> all, HttpServletResponse response) throws IOException {
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
for (TbShopInfoDto tbShopInfo : all) { for (TbShopInfoDto tbShopInfo : all) {
Map<String,Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("店铺帐号", tbShopInfo.getAccount()); map.put("店铺帐号", tbShopInfo.getAccount());
map.put("店铺代号策略方式为city +店铺号8位", tbShopInfo.getShopCode()); map.put("店铺代号策略方式为city +店铺号8位", tbShopInfo.getShopCode());
map.put("店铺口号", tbShopInfo.getSubTitle()); map.put("店铺口号", tbShopInfo.getSubTitle());
@@ -369,7 +371,7 @@ public class TbShopInfoServiceImpl implements TbShopInfoService {
map.put("经纬度", tbShopInfo.getLat()); map.put("经纬度", tbShopInfo.getLat());
map.put("经纬度", tbShopInfo.getLng()); map.put("经纬度", tbShopInfo.getLng());
map.put("未用", tbShopInfo.getMchId()); map.put("未用", tbShopInfo.getMchId());
map.put(" registerType", tbShopInfo.getRegisterType()); map.put(" registerType", tbShopInfo.getRegisterType());
map.put("是否独立的微信小程序", tbShopInfo.getIsWxMaIndependent()); map.put("是否独立的微信小程序", tbShopInfo.getIsWxMaIndependent());
map.put("详细地址", tbShopInfo.getAddress()); map.put("详细地址", tbShopInfo.getAddress());
map.put("类似于这种规则51.51.570", tbShopInfo.getCity()); map.put("类似于这种规则51.51.570", tbShopInfo.getCity());
@@ -378,7 +380,7 @@ public class TbShopInfoServiceImpl implements TbShopInfoService {
map.put("行业名称", tbShopInfo.getIndustryName()); map.put("行业名称", tbShopInfo.getIndustryName());
map.put("营业时间", tbShopInfo.getBusinessTime()); map.put("营业时间", tbShopInfo.getBusinessTime());
map.put("配送时间", tbShopInfo.getPostTime()); map.put("配送时间", tbShopInfo.getPostTime());
map.put(" postAmountLine", tbShopInfo.getPostAmountLine()); map.put(" postAmountLine", tbShopInfo.getPostAmountLine());
map.put("0停业1正常营业,网上售卖", tbShopInfo.getOnSale()); map.put("0停业1正常营业,网上售卖", tbShopInfo.getOnSale());
map.put("0今日1次日", tbShopInfo.getSettleType()); map.put("0今日1次日", tbShopInfo.getSettleType());
map.put("时间", tbShopInfo.getSettleTime()); map.put("时间", tbShopInfo.getSettleTime());
@@ -389,9 +391,9 @@ public class TbShopInfoServiceImpl implements TbShopInfoService {
map.put("订单等待时间", tbShopInfo.getOrderWaitPayMinute()); map.put("订单等待时间", tbShopInfo.getOrderWaitPayMinute());
map.put("支持登陆设备个数", tbShopInfo.getSupportDeviceNumber()); map.put("支持登陆设备个数", tbShopInfo.getSupportDeviceNumber());
map.put("分销层级1-下级分销 2-两下级分销)", tbShopInfo.getDistributeLevel()); map.put("分销层级1-下级分销 2-两下级分销)", tbShopInfo.getDistributeLevel());
map.put(" createdAt", tbShopInfo.getCreatedAt()); map.put(" createdAt", tbShopInfo.getCreatedAt());
map.put(" updatedAt", tbShopInfo.getUpdatedAt()); map.put(" updatedAt", tbShopInfo.getUpdatedAt());
map.put(" proxyId", tbShopInfo.getProxyId()); map.put(" proxyId", tbShopInfo.getProxyId());
list.add(map); list.add(map);
} }
FileUtil.downloadExcel(list, response); FileUtil.downloadExcel(list, response);