Commit da31a884 by 程裕兵

feat:bind cashier record

parent ecbce47d
...@@ -27,11 +27,16 @@ public class BindStudioCashierRequest { ...@@ -27,11 +27,16 @@ public class BindStudioCashierRequest {
@NotEmpty(message = "收银流水ID不能为空") @NotEmpty(message = "收银流水ID不能为空")
private List<Long> ids; private List<Long> ids;
@ApiModelProperty(value = "订单ID", required = true)
@NotBlank(message = "订单ID不能为空")
private String orderNo;
@ApiModelProperty(value = "订单号", required = true)
@NotBlank(message = "订单号不能为空")
private String businessNo;
@ApiModelProperty(value = "子订单号", required = true) @ApiModelProperty(value = "子订单号", required = true)
@NotBlank(message = "子订单号不能为空") @NotBlank(message = "子订单号不能为空")
private String subOrderNo; private String subOrderNo;
@ApiModelProperty(value = "扩展信息")
private JSONObject extra;
} }
...@@ -35,9 +35,12 @@ public class StudioMerchantPayRequest { ...@@ -35,9 +35,12 @@ public class StudioMerchantPayRequest {
@NotNull(message = "支付总金额不能为空") @NotNull(message = "支付总金额不能为空")
private BigDecimal transAmount; private BigDecimal transAmount;
@ApiModelProperty(name = "业务订单") @ApiModelProperty(name = "业务订单ID")
private String orderNo; private String orderNo;
@ApiModelProperty(name = "业务订单号")
private String businessNo;
@ApiModelProperty(name = "业务子订单号") @ApiModelProperty(name = "业务子订单号")
private String subOrderNo; private String subOrderNo;
......
...@@ -50,7 +50,8 @@ public class StudioCashierController implements StudioCashierApi { ...@@ -50,7 +50,8 @@ public class StudioCashierController implements StudioCashierApi {
@PostMapping(value = "/private/studioCashier/bind") @PostMapping(value = "/private/studioCashier/bind")
@Override @Override
public JsonResult<Void> bind(@Valid @RequestBody BindStudioCashierRequest request) { public JsonResult<Void> bind(@Valid @RequestBody BindStudioCashierRequest request) {
studioCashierService.bind(request.getIds(), request.getSubOrderNo(), request.getExtra()); studioCashierService.bind(request.getIds(), request.getOrderNo(), request.getBusinessNo(),
request.getSubOrderNo());
return JsonResult.success(); return JsonResult.success();
} }
......
...@@ -56,11 +56,16 @@ public class StudioCashierRecord implements Serializable { ...@@ -56,11 +56,16 @@ public class StudioCashierRecord implements Serializable {
private String transNo; private String transNo;
/** /**
* 备注: 业务订单 是否允许为null: NO * 备注: 业务订单Id 是否允许为null: NO
*/ */
private String orderNo; private String orderNo;
/** /**
* 业务订单号
*/
private String businessNo;
/**
* 备注: 业务订单类型 是否允许为null: YES * 备注: 业务订单类型 是否允许为null: YES
*/ */
private String orderType; private String orderType;
...@@ -218,6 +223,8 @@ public class StudioCashierRecord implements Serializable { ...@@ -218,6 +223,8 @@ public class StudioCashierRecord implements Serializable {
public static final String ORDER_NO = "order_no"; public static final String ORDER_NO = "order_no";
public static final String BUSINESS_NO = "business_no";
public static final String SUB_ORDER_NO = "sub_order_no"; public static final String SUB_ORDER_NO = "sub_order_no";
public static final String ORDER_TYPE = "order_type"; public static final String ORDER_TYPE = "order_type";
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<!-- 通用查询结果列 --> <!-- 通用查询结果列 -->
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, trans_no, order_no, sub_order_no, order_type, trans_type, brand_id, studio_id, studio_name, merchant_id, merchant_no, channel_no, sub_channel, trans_amount, fee_rate, fee, actual_amount, trans_state, buyer_name, buyer_phone, goods, remark, exist_related_trans, related_trans_no, third_trans_no, fail_message, extra, trading_time, success_time, in_time, create_time, update_time id, trans_no, order_no, business_no, sub_order_no, order_type, trans_type, brand_id, studio_id, studio_name, merchant_id, merchant_no, channel_no, sub_channel, trans_amount, fee_rate, fee, actual_amount, trans_state, buyer_name, buyer_phone, goods, remark, exist_related_trans, related_trans_no, third_trans_no, fail_message, extra, trading_time, success_time, in_time, create_time, update_time
</sql> </sql>
<select id="sumRefundActualAmountByPayTransNo" resultType="java.math.BigDecimal"> <select id="sumRefundActualAmountByPayTransNo" resultType="java.math.BigDecimal">
......
...@@ -30,7 +30,7 @@ public interface StudioCashierService { ...@@ -30,7 +30,7 @@ public interface StudioCashierService {
* @param ids 流水ID集合 * @param ids 流水ID集合
* @param subOrderNo 业务子订单号 * @param subOrderNo 业务子订单号
*/ */
void bind(List<Long> ids, String subOrderNo, JSONObject extra); void bind(List<Long> ids, String orderNo, String businessNo, String subOrderNo);
/** /**
* 解绑收银流水 * 解绑收银流水
......
...@@ -64,14 +64,16 @@ public class StudioCashierServiceImpl implements StudioCashierService { ...@@ -64,14 +64,16 @@ public class StudioCashierServiceImpl implements StudioCashierService {
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
@Override @Override
public void bind(List<Long> ids, String subOrderNo, JSONObject extra) { public void bind(List<Long> ids, String orderNo, String businessNo, String subOrderNo) {
List<StudioCashierRecord> records = studioCashierRecordRpService.getListByIds(ids); List<StudioCashierRecord> records = studioCashierRecordRpService.getListByIds(ids);
if (records.stream().anyMatch(e -> StringUtil.isNotBlank(e.getSubOrderNo()))) { if (records.stream().anyMatch(e -> StringUtil.isNotBlank(e.getSubOrderNo()))) {
throw new BizException(FinanceErrorEnums.EXIST_BIND_RECORD); throw new BizException(FinanceErrorEnums.EXIST_BIND_RECORD);
} }
studioCashierRecordRpService.updateByIds( studioCashierRecordRpService.updateByIds(
StudioCashierRecord.builder().subOrderNo(subOrderNo) StudioCashierRecord.builder()
.extra(Optional.ofNullable(extra).orElse(new JSONObject()).toJSONString()) .orderNo(orderNo)
.businessNo(businessNo)
.subOrderNo(subOrderNo)
.updateTime(new Date()).build(), ids); .updateTime(new Date()).build(), ids);
} }
...@@ -79,7 +81,8 @@ public class StudioCashierServiceImpl implements StudioCashierService { ...@@ -79,7 +81,8 @@ public class StudioCashierServiceImpl implements StudioCashierService {
@Override @Override
public void unbind(List<Long> ids) { public void unbind(List<Long> ids) {
studioCashierRecordRpService.updateByIds( studioCashierRecordRpService.updateByIds(
StudioCashierRecord.builder().subOrderNo("").updateTime(new Date()).build(), ids); StudioCashierRecord.builder().orderNo("").businessNo("").subOrderNo("").updateTime(new Date())
.build(), ids);
} }
@Override @Override
......
...@@ -80,6 +80,7 @@ public class PayConvert { ...@@ -80,6 +80,7 @@ public class PayConvert {
.id(id) .id(id)
.transNo(id.toString()) .transNo(id.toString())
.orderNo(StringUtil.isBlank(params.getOrderNo()) ? id.toString() : params.getOrderNo()) .orderNo(StringUtil.isBlank(params.getOrderNo()) ? id.toString() : params.getOrderNo())
.businessNo(params.getBusinessNo())
.subOrderNo(StringUtil.isBlank(params.getSubOrderNo()) ? "" : params.getSubOrderNo()) .subOrderNo(StringUtil.isBlank(params.getSubOrderNo()) ? "" : params.getSubOrderNo())
.orderType(params.getOrderType().getCode()) .orderType(params.getOrderType().getCode())
.transType(BrandCashierTransTypeEnum.PAY.getCode()) .transType(BrandCashierTransTypeEnum.PAY.getCode())
......
...@@ -35,9 +35,12 @@ public class StudioMerchantPayParams { ...@@ -35,9 +35,12 @@ public class StudioMerchantPayParams {
@NotNull(message = "支付总金额不能为空") @NotNull(message = "支付总金额不能为空")
private BigDecimal transAmount; private BigDecimal transAmount;
@ApiModelProperty(name = "业务订单") @ApiModelProperty(name = "业务订单ID")
private String orderNo; private String orderNo;
@ApiModelProperty(name = "业务订单号")
private String businessNo;
@ApiModelProperty(name = "业务子订单号") @ApiModelProperty(name = "业务子订单号")
private String subOrderNo; private String subOrderNo;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment