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

This commit is contained in:
SongZhang 2024-08-30 15:27:42 +08:00
commit d6756ee2e3
3 changed files with 31 additions and 29 deletions

View File

@ -13,7 +13,7 @@ import org.apache.ibatis.annotations.Select;
public interface ShopUserMapper extends BaseMapper<TbShopUser> {
@Select("<script>" +
"SELECT su.id as id, su.head_img as headImg, su.name as nickName, su.sex as sex, " +
"SELECT su.id as id, su.user_id as user_id, su.head_img as headImg, su.name as nickName, su.sex as sex, " +
"su.amount as amount, 0 as totalScore, su.telephone as telephone, u.last_log_in_at as lastLoginAt, " +
"su.birth_day as birthDay, su.is_vip as isVip, su.created_at as createAt " +
"FROM tb_shop_user su " +

View File

@ -73,10 +73,15 @@ public class TbShopUserServiceImpl implements TbShopUserService {
shopUserInfoVo.setTotalScore(0);
});
}
Integer orderNumber=tbOrderInfoRepository.countByUserIdAndStatusAndShopId(shopUserInfoVo.getId().toString(),criteria.getShopId());
shopUserInfoVo.setOrderNumber(Objects.isNull(orderNumber)?0:orderNumber);
shopUserInfoVo.setInMoney(tbShopUserRepository.sumAmount(shopUserInfoVo.getId()));
if (shopUserInfoVo.getUserId() == null) {
shopUserInfoVo.setUserId(0);
shopUserInfoVo.setOrderNumber(0);
} else {
Integer orderNumber = tbOrderInfoRepository.countByUserIdAndStatusAndShopId(shopUserInfoVo.getUserId().toString(), criteria.getShopId());
shopUserInfoVo.setOrderNumber(Objects.isNull(orderNumber) ? 0 : orderNumber);
}
shopUserInfoVo.setInMoney(tbShopUserRepository.sumAmount(shopUserInfoVo.getId()));
}
return PageUtil.toPlusPage(iPage.getRecords(), Integer.valueOf(iPage.getTotal() + ""));
@ -194,51 +199,49 @@ public class TbShopUserServiceImpl implements TbShopUserService {
@Override
public void modfiyAccount(Map<String, Object> map) {
if(ObjectUtil.isNull(map)||ObjectUtil.isEmpty(map)||!map.containsKey("id")||!map.containsKey("type")||!map.containsKey("amount")
||ObjectUtil.isEmpty(map.get("id"))||ObjectUtil.isNull(map.get("id"))||ObjectUtil.isNull(map.get("type"))||ObjectUtil.isEmpty(map.get("type"))
||ObjectUtil.isEmpty(map.get("amount"))||ObjectUtil.isNull(map.get("amount"))||!map.containsKey("operationType")||ObjectUtil.isEmpty(map.get("operationType"))||ObjectUtil.isNull(map.get("operationType"))
if (ObjectUtil.isNull(map) || ObjectUtil.isEmpty(map) || !map.containsKey("id") || !map.containsKey("type") || !map.containsKey("amount")
|| ObjectUtil.isEmpty(map.get("id")) || ObjectUtil.isNull(map.get("id")) || ObjectUtil.isNull(map.get("type")) || ObjectUtil.isEmpty(map.get("type"))
|| ObjectUtil.isEmpty(map.get("amount")) || ObjectUtil.isNull(map.get("amount")) || !map.containsKey("operationType") || ObjectUtil.isEmpty(map.get("operationType")) || ObjectUtil.isNull(map.get("operationType"))
){
) {
throw new BadRequestException("参数错误");
}
String regex = "^(([1-9][0-9]*)|(([0]\\.\\d{1,2}|[1-9][0-9]*\\.\\d{1,2})))$";
if(!map.get("amount").toString().matches(regex)){
if (!map.get("amount").toString().matches(regex)) {
throw new BadRequestException("请输入正确的数字");
}
TbShopUser tbShopUser= tbShopUserRepository.getById(Integer.valueOf(map.get("id")+""));
if(ObjectUtil.isNull(tbShopUser)){
throw new BadRequestException("不存在的会员信息");
TbShopUser tbShopUser = tbShopUserRepository.getById(Integer.valueOf(map.get("id") + ""));
if (ObjectUtil.isNull(tbShopUser)) {
throw new BadRequestException("不存在的会员信息");
}
String operationType=map.get("operationType").toString();
String operationType = map.get("operationType").toString();
BigDecimal amount=new BigDecimal(map.get("amount").toString());
if("out".equals(operationType)){
if(amount.compareTo(tbShopUser.getAmount())>0){
BigDecimal amount = new BigDecimal(map.get("amount").toString());
if ("out".equals(operationType)) {
if (amount.compareTo(tbShopUser.getAmount()) > 0) {
throw new BadRequestException("账户余额不足,请输入正确的金额");
}
}
String type = map.get("type").toString();
TbShopUserFlow flow = new TbShopUserFlow();
String type=map.get("type").toString();
TbShopUserFlow flow=new TbShopUserFlow();
if("in".equals(operationType)){
if ("in".equals(operationType)) {
flow.setType("+");
flow.setBizName("inMoney".equals(type)?"充值":"消费退款");
flow.setBizCode("inMoney".equals(type)?"inMoneyIn":"consumeIn");
flow.setBizName("inMoney".equals(type) ? "充值" : "消费退款");
flow.setBizCode("inMoney".equals(type) ? "inMoneyIn" : "consumeIn");
tbShopUser.setAmount(tbShopUser.getAmount().add(amount));
}else if("out".equals(operationType)){
flow.setBizName("inMoneyOut".equals(type)?"充值退款":"消费");
flow.setBizCode("inMoneyOut".equals(type)?"inMoneyOut":"consumeOut");
} else if ("out".equals(operationType)) {
flow.setBizName("inMoneyOut".equals(type) ? "充值退款" : "消费");
flow.setBizCode("inMoneyOut".equals(type) ? "inMoneyOut" : "consumeOut");
flow.setType("-");
tbShopUser.setAmount(tbShopUser.getAmount().subtract(amount));
}else {
} else {
throw new BadRequestException("错误的请求类型");
}
@ -254,8 +257,6 @@ public class TbShopUserServiceImpl implements TbShopUserService {
tbShopUserFlowMapper.insert(flow);
}
}

View File

@ -23,6 +23,7 @@ import java.math.BigDecimal;
@Data
public class ShopUserInfoVo implements Serializable {
private Integer id;
private Integer userId;
private String headImg;
private String nickName;
private Object sex;