空字符串的sql处理

充值流水id填充
This commit is contained in:
2025-02-18 10:26:17 +08:00
parent 28b5a7d2d4
commit b0dc49e770
7 changed files with 49 additions and 13 deletions

View File

@@ -4,6 +4,7 @@ import com.czg.account.dto.ShopActivateDTO;
import com.czg.account.service.ShopActivateService; import com.czg.account.service.ShopActivateService;
import com.czg.annotation.SaAdminCheckPermission; import com.czg.annotation.SaAdminCheckPermission;
import com.czg.resp.CzgResult; import com.czg.resp.CzgResult;
import com.czg.sa.StpKit;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -39,6 +40,7 @@ public class ShopActivateController {
@SaAdminCheckPermission("activate:add") @SaAdminCheckPermission("activate:add")
@PostMapping @PostMapping
public CzgResult<Boolean> add(@RequestBody @Validated ShopActivateDTO activateDTO) { public CzgResult<Boolean> add(@RequestBody @Validated ShopActivateDTO activateDTO) {
activateDTO.setShopId(StpKit.USER.getShopId());
return CzgResult.success(shopActivateService.add(activateDTO)); return CzgResult.success(shopActivateService.add(activateDTO));
} }

View File

@@ -25,6 +25,12 @@ public class ShopUserMoneyEditDTO {
*/ */
@NotNull @NotNull
private Integer type; private Integer type;
/**
* 关联id
* 霸王餐时 订单id
* 支付/退款 tb_order_payment.id
*/
private Long relationId;
/** /**
* 浮动金额 * 浮动金额
*/ */

View File

@@ -55,9 +55,11 @@ public class ShopUserFlow implements Serializable {
private String remark; private String remark;
/** /**
* 关联订单编号,支付单号,退款单号 * 关联id
* 霸王餐时 订单id
* 支付/退款 tb_order_payment.id
*/ */
private String relationOrderNo; private Long relationId;
@Column(onInsertValue = "now()") @Column(onInsertValue = "now()")
private LocalDateTime createTime; private LocalDateTime createTime;

View File

@@ -0,0 +1,18 @@
package com.czg.utils;
import cn.hutool.core.util.StrUtil;
/**
* @author ww
* @description
*/
public class CzgStrUtils {
/**
* 如果str为空返回null否则返回str
* flex sql查询时 自动忽略null 不忽略''
*/
public static String getStrOrNull(String str) {
return StrUtil.isNotBlank(str) ? str : null;
}
}

View File

@@ -23,8 +23,10 @@ public class ShopActivateServiceImpl extends ServiceImpl<ShopActivateMapper, Sho
@Override @Override
public List<ShopActivateDTO> getList() { public List<ShopActivateDTO> getList() {
return queryChain().select().eq(ShopActivate::getShopId, StpKit.USER.getShopId()) return queryChain().select()
.orderBy(ShopActivate::getAmount, true).listAs(ShopActivateDTO.class); .eq(ShopActivate::getShopId, StpKit.USER.getShopId())
.orderBy(ShopActivate::getAmount, true)
.listAs(ShopActivateDTO.class);
} }
@Override @Override

View File

@@ -99,6 +99,7 @@ public class ShopUserServiceImpl extends ServiceImpl<ShopUserMapper, ShopUser> i
userFlow.setBizCode(shopUserEditDTO.getBizEnum().getCode()); userFlow.setBizCode(shopUserEditDTO.getBizEnum().getCode());
userFlow.setType(shopUserEditDTO.getType() == 0 ? "-" : "+"); userFlow.setType(shopUserEditDTO.getType() == 0 ? "-" : "+");
userFlow.setRemark(shopUserEditDTO.getRemark()); userFlow.setRemark(shopUserEditDTO.getRemark());
userFlow.setRelationId(shopUserEditDTO.getRelationId());
return shopUserFlowService.save(userFlow); return shopUserFlowService.save(userFlow);
} }

View File

@@ -19,6 +19,7 @@ import com.czg.order.vo.OrderDetailSmallVO;
import com.czg.order.vo.OrderInfoVo; import com.czg.order.vo.OrderInfoVo;
import com.czg.service.order.enums.OrderStatusEnums; import com.czg.service.order.enums.OrderStatusEnums;
import com.czg.service.order.mapper.OrderInfoMapper; import com.czg.service.order.mapper.OrderInfoMapper;
import com.czg.utils.CzgStrUtils;
import com.czg.utils.PageUtil; import com.czg.utils.PageUtil;
import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
@@ -65,11 +66,11 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
QueryWrapper queryWrapper = PageUtil.buildSortQueryWrapper(); QueryWrapper queryWrapper = PageUtil.buildSortQueryWrapper();
queryWrapper.eq(OrderInfo::getShopId, param.getShopId()) queryWrapper.eq(OrderInfo::getShopId, param.getShopId())
.eq(OrderInfo::getStatus, param.getStatus()) .eq(OrderInfo::getStatus, CzgStrUtils.getStrOrNull(param.getStatus()))
.eq(OrderInfo::getPayType, param.getPayType()) .eq(OrderInfo::getPayType, CzgStrUtils.getStrOrNull(param.getPayType()))
.eq(OrderInfo::getUserId, param.getUserId()) .eq(OrderInfo::getUserId, param.getUserId())
.eq(OrderInfo::getTableCode, param.getTableCode()) .eq(OrderInfo::getTableCode, CzgStrUtils.getStrOrNull(param.getTableCode()))
.eq(OrderInfo::getOrderNo, param.getOrderNo()) .eq(OrderInfo::getOrderNo, CzgStrUtils.getStrOrNull(param.getOrderNo()))
.gt(OrderInfo::getCreateTime, param.getStartTime()) .gt(OrderInfo::getCreateTime, param.getStartTime())
.le(OrderInfo::getCreateTime, param.getEndTime()) .le(OrderInfo::getCreateTime, param.getEndTime())
.in(OrderInfo::getId, like); .in(OrderInfo::getId, like);
@@ -77,7 +78,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
orderInfoVoPage.getRecords().parallelStream().forEach(s -> { orderInfoVoPage.getRecords().parallelStream().forEach(s -> {
List<OrderDetailSmallVO> orderDetails = orderDetailService.queryChain().select() List<OrderDetailSmallVO> orderDetails = orderDetailService.queryChain().select()
.eq(OrderDetail::getShopId, s.getShopId()) .eq(OrderDetail::getShopId, s.getShopId())
.eq(OrderDetail::getOrderId, s.getId()).listAs(OrderDetailSmallVO.class); .eq(OrderDetail::getOrderId, s.getId())
.listAs(OrderDetailSmallVO.class);
s.setGoods(orderDetails); s.setGoods(orderDetails);
}); });
return orderInfoVoPage; return orderInfoVoPage;
@@ -88,7 +90,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
public void payCallBackOrder(@NotBlank String orderNo, @NotBlank JSONObject resultJson) { public void payCallBackOrder(@NotBlank String orderNo, @NotBlank JSONObject resultJson) {
CzgPayNotifyDTO czgCallBackDto = JSONObject.parseObject(resultJson.toString(), CzgPayNotifyDTO.class); CzgPayNotifyDTO czgCallBackDto = JSONObject.parseObject(resultJson.toString(), CzgPayNotifyDTO.class);
OrderPayment payment = paymentService.queryChain().eq(OrderPayment::getOrderNo, orderNo).one(); OrderPayment payment = paymentService.queryChain().eq(OrderPayment::getOrderNo, orderNo).one();
paymentService.updateChain().of(OrderPayment.class) paymentService.updateChain()
.set(OrderPayment::getTradeNumber, czgCallBackDto.getPayOrderId()) .set(OrderPayment::getTradeNumber, czgCallBackDto.getPayOrderId())
.set(OrderPayment::getRespJson, resultJson.toString()) .set(OrderPayment::getRespJson, resultJson.toString())
.where(OrderPayment::getId).eq(payment.getId()) .where(OrderPayment::getId).eq(payment.getId())
@@ -96,7 +98,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
if ("TRADE_SUCCESS".equals(czgCallBackDto.getState())) { if ("TRADE_SUCCESS".equals(czgCallBackDto.getState())) {
if ("order".equals(payment.getPayType())) { if ("order".equals(payment.getPayType())) {
updateChain().of(OrderInfo.class) updateChain()
.set(OrderInfo::getPayAmount, new BigDecimal(czgCallBackDto.getAmount() / 100L)) .set(OrderInfo::getPayAmount, new BigDecimal(czgCallBackDto.getAmount() / 100L))
.set(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode()) .set(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode())
.set(OrderInfo::getPaidTime, DateUtil.parseLocalDateTime(czgCallBackDto.getPayTime())) .set(OrderInfo::getPaidTime, DateUtil.parseLocalDateTime(czgCallBackDto.getPayTime()))
@@ -117,13 +119,16 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
.id(payment.getSourceId()) .id(payment.getSourceId())
.money(new BigDecimal(czgCallBackDto.getAmount() / 100L)) .money(new BigDecimal(czgCallBackDto.getAmount() / 100L))
.type(1) .type(1)
.relationId(payment.getId())
.build(); .build();
if ("WECHAT".equals(czgCallBackDto.getPayType())) { if ("WECHAT".equals(czgCallBackDto.getPayType())) {
shopUserMoneyEditDTO.setBizEnum(ShopUserFlowBizEnum.WECHAT_IN); shopUserMoneyEditDTO.setBizEnum(ShopUserFlowBizEnum.WECHAT_IN);
}else if("ALIPAY".equals(czgCallBackDto.getPayType())){ } else if ("ALIPAY".equals(czgCallBackDto.getPayType())) {
shopUserMoneyEditDTO.setBizEnum(ShopUserFlowBizEnum.ADMIN_IN); shopUserMoneyEditDTO.setBizEnum(ShopUserFlowBizEnum.ADMIN_IN);
} }
shopUserService.updateMoney(shopUser.getShopId(),shopUserMoneyEditDTO); //更新会员余额 并生成流水
shopUserService.updateMoney(shopUser.getShopId(), shopUserMoneyEditDTO);
//会员活动
} }
} }
} }