提交 fac87e81 作者: xiaowang

Merge branch 'develop'

...@@ -14,4 +14,4 @@ patches: ...@@ -14,4 +14,4 @@ patches:
images: images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG - name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/oms newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/oms
newTag: b7b6292e8a4fd03a5ea0c9ad7cb8d3079ed995ad newTag: 1a194fd7d926274c664924e84d1ca181726cd9b9
...@@ -261,7 +261,7 @@ public class CodeUtil { ...@@ -261,7 +261,7 @@ public class CodeUtil {
Date now = new Date(); Date now = new Date();
String dateString = sdf.format(now); String dateString = sdf.format(now);
int count = counter.incrementAndGet(); int count = counter.incrementAndGet();
return "ORD" + dateString + String.format("%04d", count); return "L" + dateString + String.format("%04d", count);
} }
} }
...@@ -8,6 +8,7 @@ import com.mmc.oms.model.qo.uav.UavOrderQO; ...@@ -8,6 +8,7 @@ import com.mmc.oms.model.qo.uav.UavOrderQO;
import com.mmc.oms.model.vo.lease.AddLeaseOrderVO; import com.mmc.oms.model.vo.lease.AddLeaseOrderVO;
import com.mmc.oms.model.vo.lease.LeaseOrderRefundVO; import com.mmc.oms.model.vo.lease.LeaseOrderRefundVO;
import com.mmc.oms.model.vo.uav.UavOrderExpressVO; import com.mmc.oms.model.vo.uav.UavOrderExpressVO;
import com.mmc.oms.model.vo.uav.UavOrderRemarkVO;
import com.mmc.oms.service.lease.LeaseOrderService; import com.mmc.oms.service.lease.LeaseOrderService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -81,14 +82,14 @@ public class LeaseOrderController extends BaseController { ...@@ -81,14 +82,14 @@ public class LeaseOrderController extends BaseController {
@ApiOperation(value = "用户收货") @ApiOperation(value = "用户收货")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("receive") @PostMapping("receive")
public ResultBody receive(@RequestParam Integer id, HttpServletRequest request) { public ResultBody receive(@RequestBody LeaseOrderRefundVO leaseOrderRefundVO, HttpServletRequest request) {
return leaseOrderService.receive(id, this.getCurrentAccount(request)); return leaseOrderService.receive(leaseOrderRefundVO, this.getCurrentAccount(request));
} }
@ApiOperation(value = "归还商品") @ApiOperation(value = "归还商品")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("giveBack") @PostMapping("giveBack")
public ResultBody giveBack(@RequestBody LeaseOrderRefundVO leaseOrderRefundVO, HttpServletRequest request) { public ResultBody giveBack(@RequestBody LeaseOrderRefundVO leaseOrderRefundVO, HttpServletRequest request) {
return leaseOrderService.giveBack(leaseOrderRefundVO, this.getCurrentAccount(request)); return leaseOrderService.giveBack(leaseOrderRefundVO, this.getCurrentAccount(request));
} }
...@@ -114,4 +115,19 @@ public class LeaseOrderController extends BaseController { ...@@ -114,4 +115,19 @@ public class LeaseOrderController extends BaseController {
return leaseOrderService.removeLeaseOrder(id); return leaseOrderService.removeLeaseOrder(id);
} }
@ApiOperation(value = "小程序确认结算")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("confirmSettlement")
public ResultBody confirmSettlement(@RequestParam Integer id, HttpServletRequest request) {
return leaseOrderService.confirmSettlement(id, this.getCurrentAccount(request));
}
@ApiOperation(value = "评价订单")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("remarkOrder")
public ResultBody remarkOrder(@RequestBody UavOrderRemarkVO uavOrderRemarkVO) {
return leaseOrderService.remarkOrder(uavOrderRemarkVO);
}
} }
...@@ -5,6 +5,7 @@ import com.mmc.oms.entity.lease.LeaseOrderExpressDO; ...@@ -5,6 +5,7 @@ import com.mmc.oms.entity.lease.LeaseOrderExpressDO;
import com.mmc.oms.entity.lease.LeaseRefundOrderDO; import com.mmc.oms.entity.lease.LeaseRefundOrderDO;
import com.mmc.oms.entity.transtatus.TranStatusDicDO; import com.mmc.oms.entity.transtatus.TranStatusDicDO;
import com.mmc.oms.entity.uav.UavOrderDO; import com.mmc.oms.entity.uav.UavOrderDO;
import com.mmc.oms.entity.uav.UavOrderRemarkDO;
import com.mmc.oms.model.qo.uav.UavOrderQO; import com.mmc.oms.model.qo.uav.UavOrderQO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
...@@ -25,7 +26,7 @@ public interface LeaseOrderDao { ...@@ -25,7 +26,7 @@ public interface LeaseOrderDao {
LeaseOrderExpressDO getLeaseOrderExpress(Integer id); LeaseOrderExpressDO getLeaseOrderExpress(Integer id);
void updateUavOrderStatus(Integer id, Integer code); void updateLeaseOrderStatus(Integer id, Integer code);
void addLeaseRefundOrder(LeaseRefundOrderDO leaseRefundOrderDO); void addLeaseRefundOrder(LeaseRefundOrderDO leaseRefundOrderDO);
...@@ -46,4 +47,10 @@ public interface LeaseOrderDao { ...@@ -46,4 +47,10 @@ public interface LeaseOrderDao {
List<LeaseOrderExpressDO> listLeaseOrderExpress(List<Integer> expressIds); List<LeaseOrderExpressDO> listLeaseOrderExpress(List<Integer> expressIds);
void updateLeaseOrderProportion(Integer id, int proportion); void updateLeaseOrderProportion(Integer id, int proportion);
LeaseRefundOrderDO selectGiveBackByOrderId(Integer id, Integer type);
void updateLeaseOrderRemarkStatus(Integer id);
void addRemarkOrder(UavOrderRemarkDO uavOrderRemarkDO);
} }
...@@ -158,12 +158,16 @@ public class LeaseOrderDO implements Serializable { ...@@ -158,12 +158,16 @@ public class LeaseOrderDO implements Serializable {
private BigDecimal salaryCashPledge; private BigDecimal salaryCashPledge;
private BigDecimal otherPledge;
public LeaseOrderDTO buildLeaseOrderDTO() { public LeaseOrderDTO buildLeaseOrderDTO() {
return LeaseOrderDTO.builder().id(id).orderNo(orderNo).statusCode(statusCode).userAccountId(userAccountId) return LeaseOrderDTO.builder().id(id).orderNo(orderNo).orderName(orderName).statusCode(statusCode).userAccountId(userAccountId)
.thirdBackUserAccountId(thirdBackUserAccountId).companyName(companyName).orderTotalAmount(orderTotalAmount) .thirdBackUserAccountId(thirdBackUserAccountId).companyName(companyName).orderTotalAmount(orderTotalAmount)
.salaryAmount(salaryAmount).shareAmount(shareAmount).otherAmount(otherAmount).payType(payType).payTime(payTime) .salaryAmount(salaryAmount).shareAmount(shareAmount).otherAmount(otherAmount).payType(payType).payTime(payTime)
.startDate(startDate).endDate(endDate).userRemark(userRemark).sellerRemark(sellerRemark).createTime(createTime) .startDate(startDate).endDate(endDate).userRemark(userRemark).sellerRemark(sellerRemark).createTime(createTime)
.confirmReceiptTime(confirmReceiptTime).remarkStatus(remarkStatus).modeOfDeliveryInfo(modeOfDeliveryInfo).sku(sku).skuImg(skuImg).build(); .confirmReceiptTime(confirmReceiptTime).remarkStatus(remarkStatus).modeOfDeliveryInfo(modeOfDeliveryInfo).depositBackTime(confirmReceiptTime)
.unitPrice(unitPrice).deposit(deposit).wareNum(wareNum).sku(sku).skuImg(skuImg).leaseGoodsId(leaseGoodsId).otherPledge(otherPledge)
.salaryCashPledge(salaryCashPledge).shareCashPledge(shareCashPledge).modeOfDeliveryInfo(modeOfDeliveryInfo).build();
} }
} }
...@@ -7,6 +7,7 @@ import lombok.Data; ...@@ -7,6 +7,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
...@@ -49,17 +50,20 @@ public class LeaseRefundOrderDO implements Serializable { ...@@ -49,17 +50,20 @@ public class LeaseRefundOrderDO implements Serializable {
private Integer type; private Integer type;
private BigDecimal modifiedDeposit;
public LeaseRefundOrderDO(LeaseOrderRefundVO leaseOrderRefundVO) { public LeaseRefundOrderDO(LeaseOrderRefundVO leaseOrderRefundVO) {
this.leaseOrderId = leaseOrderRefundVO.getOrderId(); this.leaseOrderId = leaseOrderRefundVO.getOrderId();
this.status = leaseOrderRefundVO.getStatus(); this.status = leaseOrderRefundVO.getStatus();
this.file = leaseOrderRefundVO.getFile(); this.file = leaseOrderRefundVO.getFile();
this.reason = leaseOrderRefundVO.getReason(); this.reason = leaseOrderRefundVO.getReason();
this.modifiedDeposit = leaseOrderRefundVO.getDeductionAmount();
} }
public LeaseRefundOrderDTO buildLeaseRefundOrderDTO() { public LeaseRefundOrderDTO buildLeaseRefundOrderDTO() {
return LeaseRefundOrderDTO.builder().id(this.id).leaseOrderId(this.leaseOrderId) return LeaseRefundOrderDTO.builder().id(this.id).leaseOrderId(this.leaseOrderId)
.status(this.status).file(this.file).reason(this.reason) .status(this.status).file(this.file).reason(this.reason)
.createTime(this.createTime).build(); .createTime(this.createTime).modifiedDeposit(modifiedDeposit).build();
} }
} }
...@@ -13,6 +13,8 @@ public enum LeaseOrderStatus { ...@@ -13,6 +13,8 @@ public enum LeaseOrderStatus {
REMAIN_TO_BE_EVALUATED(600, "待评价", "待评价"), REMAIN_TO_BE_EVALUATED(600, "待评价", "待评价"),
COMPLETE_TRANSACTION(700, "交易完成", "交易完成"), COMPLETE_TRANSACTION(700, "交易完成", "交易完成"),
APPLY_REFUND(800, "申请退款", "退款中"), APPLY_REFUND(800, "申请退款", "退款中"),
MODIFIED_DEPOSIT_TO_BE_CONFIRMED(900, "待确认修改后押金", "待确认修改后押金"),
MODIFIED_DEPOSIT_REFUND(950, "待确认修改后押金", "待确认修改后押金"),
CLOSE(999, "订单关闭", "订单关闭"); CLOSE(999, "订单关闭", "订单关闭");
public Integer getCode() { public Integer getCode() {
......
...@@ -29,6 +29,8 @@ public class LeaseOrderDTO implements Serializable { ...@@ -29,6 +29,8 @@ public class LeaseOrderDTO implements Serializable {
private Integer id; private Integer id;
@ApiModelProperty("订单编号") @ApiModelProperty("订单编号")
private String orderNo; private String orderNo;
@ApiModelProperty("订单名称")
private String orderName;
@ApiModelProperty("订单状态") @ApiModelProperty("订单状态")
private Integer statusCode; private Integer statusCode;
@ApiModelProperty("买家id") @ApiModelProperty("买家id")
...@@ -51,8 +53,14 @@ public class LeaseOrderDTO implements Serializable { ...@@ -51,8 +53,14 @@ public class LeaseOrderDTO implements Serializable {
private BigDecimal salaryAmount; private BigDecimal salaryAmount;
@ApiModelProperty("抵扣云享金余额") @ApiModelProperty("抵扣云享金余额")
private BigDecimal shareAmount; private BigDecimal shareAmount;
@ApiModelProperty("云享金押金抵扣")
private BigDecimal shareCashPledge;
@ApiModelProperty("余额押金抵扣")
private BigDecimal salaryCashPledge;
@ApiModelProperty("其他方式支付额度") @ApiModelProperty("其他方式支付额度")
private BigDecimal otherAmount; private BigDecimal otherAmount;
@ApiModelProperty("其他方式支付额度")
private BigDecimal otherPledge;
@ApiModelProperty("wechatpay微信,alipay支付宝,offline线下") @ApiModelProperty("wechatpay微信,alipay支付宝,offline线下")
private String payType; private String payType;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
...@@ -83,8 +91,20 @@ public class LeaseOrderDTO implements Serializable { ...@@ -83,8 +91,20 @@ public class LeaseOrderDTO implements Serializable {
private Date updateTime; private Date updateTime;
@ApiModelProperty("用户收货地址信息") @ApiModelProperty("用户收货地址信息")
private UavOrderExpressDTO uavOrderExpressDTO; private UavOrderExpressDTO uavOrderExpressDTO;
@ApiModelProperty("快递信息") @ApiModelProperty("发货快递信息")
private KdnExpDTO kdnExpDTO; private KdnExpDTO kdnExpDTO;
@ApiModelProperty("归还快递信息")
private KdnExpDTO returnKdnExpDTO;
@ApiModelProperty("确认收货的信息")
private LeaseRefundOrderDTO confirmReceipt;
@ApiModelProperty("购买数量")
private Integer wareNum;
@ApiModelProperty(value = "单价", hidden = true)
private BigDecimal unitPrice;
@ApiModelProperty(value = "押金", hidden = true)
private BigDecimal deposit;
@ApiModelProperty("租赁商品id")
private Integer leaseGoodsId;
@ApiModelProperty("订单规格列表") @ApiModelProperty("订单规格列表")
private String sku; private String sku;
@ApiModelProperty("sku图片") @ApiModelProperty("sku图片")
...@@ -93,6 +113,10 @@ public class LeaseOrderDTO implements Serializable { ...@@ -93,6 +113,10 @@ public class LeaseOrderDTO implements Serializable {
private String modeOfDeliveryInfo; private String modeOfDeliveryInfo;
@ApiModelProperty("发货后申请退款") @ApiModelProperty("发货后申请退款")
private LeaseRefundOrderDTO leaseRefundOrder; private LeaseRefundOrderDTO leaseRefundOrder;
@ApiModelProperty("商户收货后上传的破损信息")
private LeaseRefundOrderDTO storeDamageOrder;
@ApiModelProperty("商户确认收货信息") @ApiModelProperty("商户确认收货信息")
private LeaseRefundOrderDTO storeReceiveOrder; private LeaseRefundOrderDTO storeReceiveOrder;
@ApiModelProperty("押金退回时间")
private Date depositBackTime;
} }
...@@ -7,6 +7,7 @@ import lombok.Data; ...@@ -7,6 +7,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
...@@ -33,6 +34,8 @@ public class LeaseRefundOrderDTO implements Serializable { ...@@ -33,6 +34,8 @@ public class LeaseRefundOrderDTO implements Serializable {
private String file; private String file;
@ApiModelProperty("退款原因") @ApiModelProperty("退款原因")
private String reason; private String reason;
@ApiModelProperty("修改后的押金")
private BigDecimal modifiedDeposit;
@ApiModelProperty("创建时间") @ApiModelProperty("创建时间")
private Date createTime; private Date createTime;
......
...@@ -6,6 +6,7 @@ import lombok.Data; ...@@ -6,6 +6,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
/** /**
* @Author LW * @Author LW
...@@ -32,4 +33,6 @@ public class LeaseOrderRefundVO implements Serializable { ...@@ -32,4 +33,6 @@ public class LeaseOrderRefundVO implements Serializable {
private String file; private String file;
@ApiModelProperty("原因") @ApiModelProperty("原因")
private String reason; private String reason;
@ApiModelProperty("扣除的押金")
private BigDecimal deductionAmount;
} }
...@@ -7,6 +7,7 @@ import com.mmc.oms.model.qo.uav.UavOrderQO; ...@@ -7,6 +7,7 @@ import com.mmc.oms.model.qo.uav.UavOrderQO;
import com.mmc.oms.model.vo.lease.AddLeaseOrderVO; import com.mmc.oms.model.vo.lease.AddLeaseOrderVO;
import com.mmc.oms.model.vo.lease.LeaseOrderRefundVO; import com.mmc.oms.model.vo.lease.LeaseOrderRefundVO;
import com.mmc.oms.model.vo.uav.UavOrderExpressVO; import com.mmc.oms.model.vo.uav.UavOrderExpressVO;
import com.mmc.oms.model.vo.uav.UavOrderRemarkVO;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
...@@ -31,7 +32,7 @@ public interface LeaseOrderService { ...@@ -31,7 +32,7 @@ public interface LeaseOrderService {
ResultBody send(UavOrderExpressVO param); ResultBody send(UavOrderExpressVO param);
ResultBody receive(Integer id, BaseAccountDTO currentAccount); ResultBody receive(LeaseOrderRefundVO leaseOrderRefundVO, BaseAccountDTO currentAccount);
ResultBody statusList(); ResultBody statusList();
...@@ -40,4 +41,8 @@ public interface LeaseOrderService { ...@@ -40,4 +41,8 @@ public interface LeaseOrderService {
ResultBody giveBack(LeaseOrderRefundVO leaseOrderRefundVO, BaseAccountDTO currentAccount); ResultBody giveBack(LeaseOrderRefundVO leaseOrderRefundVO, BaseAccountDTO currentAccount);
ResultBody pfConfirmOrderWare(BaseAccountDTO currentAccount, LeaseOrderRefundVO param); ResultBody pfConfirmOrderWare(BaseAccountDTO currentAccount, LeaseOrderRefundVO param);
ResultBody confirmSettlement(Integer id, BaseAccountDTO currentAccount);
ResultBody remarkOrder(UavOrderRemarkVO uavOrderRemarkVO);
} }
...@@ -15,6 +15,7 @@ import com.mmc.oms.entity.lease.LeaseOrderExpressDO; ...@@ -15,6 +15,7 @@ import com.mmc.oms.entity.lease.LeaseOrderExpressDO;
import com.mmc.oms.entity.lease.LeaseRefundOrderDO; import com.mmc.oms.entity.lease.LeaseRefundOrderDO;
import com.mmc.oms.entity.mall.UserAddressDO; import com.mmc.oms.entity.mall.UserAddressDO;
import com.mmc.oms.entity.transtatus.TranStatusDicDO; import com.mmc.oms.entity.transtatus.TranStatusDicDO;
import com.mmc.oms.entity.uav.UavOrderRemarkDO;
import com.mmc.oms.enums.LeaseOrderStatus; import com.mmc.oms.enums.LeaseOrderStatus;
import com.mmc.oms.enums.LeaseTermInfo; import com.mmc.oms.enums.LeaseTermInfo;
import com.mmc.oms.enums.OrderType; import com.mmc.oms.enums.OrderType;
...@@ -40,6 +41,7 @@ import com.mmc.oms.model.vo.lease.LeasePriceStockVO; ...@@ -40,6 +41,7 @@ import com.mmc.oms.model.vo.lease.LeasePriceStockVO;
import com.mmc.oms.model.vo.uav.GoodsResourcesVO; import com.mmc.oms.model.vo.uav.GoodsResourcesVO;
import com.mmc.oms.model.vo.uav.PayUavWalletVO; import com.mmc.oms.model.vo.uav.PayUavWalletVO;
import com.mmc.oms.model.vo.uav.UavOrderExpressVO; import com.mmc.oms.model.vo.uav.UavOrderExpressVO;
import com.mmc.oms.model.vo.uav.UavOrderRemarkVO;
import com.mmc.oms.service.demand.DemandReleaseOrderService; import com.mmc.oms.service.demand.DemandReleaseOrderService;
import com.mmc.oms.service.lease.LeaseOrderService; import com.mmc.oms.service.lease.LeaseOrderService;
import com.mmc.oms.service.uav.UavOrderService; import com.mmc.oms.service.uav.UavOrderService;
...@@ -149,6 +151,8 @@ public class LeaseOrderServiceImpl implements LeaseOrderService { ...@@ -149,6 +151,8 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
// 校验云享金、钱包余额是否足够抵扣 // 校验云享金、钱包余额是否足够抵扣
BigDecimal shareAmount = BigDecimal.ZERO; BigDecimal shareAmount = BigDecimal.ZERO;
BigDecimal salaryAmount = BigDecimal.ZERO; BigDecimal salaryAmount = BigDecimal.ZERO;
// 其他抵扣押金
BigDecimal otherPledge = BigDecimal.ZERO;
Integer statusCode = null; Integer statusCode = null;
// 获取用户钱包信息 // 获取用户钱包信息
if (param.getDeductSalaryAmount().equals(1) || param.getDeductShareAmount().equals(1)) { if (param.getDeductSalaryAmount().equals(1) || param.getDeductShareAmount().equals(1)) {
...@@ -166,23 +170,24 @@ public class LeaseOrderServiceImpl implements LeaseOrderService { ...@@ -166,23 +170,24 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
// 够抵扣押金 // 够抵扣押金
shareCashPledge = otherCashPledge; shareCashPledge = otherCashPledge;
} }
otherCashPledge = otherCashPledge.subtract(shareCashPledge); }
if (otherCashPledge.compareTo(BigDecimal.ZERO) == 0) { otherCashPledge = otherCashPledge.subtract(shareCashPledge);
otherAmount = otherAmount.subtract(shareCashPledge); if (otherCashPledge.compareTo(BigDecimal.ZERO) == 0) {
} else { otherAmount = otherAmount.subtract(shareCashPledge);
if (param.getDeductSalaryAmount().equals(1)) { } else {
if (otherCashPledge.compareTo(payWalletDTO.getSalaryAmt()) >= 0) { if (param.getDeductSalaryAmount().equals(1)) {
salaryCashPledge = payWalletDTO.getSalaryAmt(); if (otherCashPledge.compareTo(payWalletDTO.getSalaryAmt()) >= 0) {
} else { salaryCashPledge = payWalletDTO.getSalaryAmt();
salaryCashPledge = otherCashPledge; } else {
} salaryCashPledge = otherCashPledge;
otherCashPledge = otherCashPledge.subtract(salaryCashPledge); }
if (otherCashPledge.compareTo(BigDecimal.ZERO) == 0) { otherCashPledge = otherCashPledge.subtract(salaryCashPledge);
otherAmount = otherAmount.subtract(salaryCashPledge.add(shareCashPledge)); if (otherCashPledge.compareTo(BigDecimal.ZERO) == 0) {
} otherAmount = otherAmount.subtract(salaryCashPledge.add(shareCashPledge));
} else {
otherPledge = otherCashPledge;
} }
} }
} }
// 抵扣完后当押金为0的时候 继续抵扣其余金额 // 抵扣完后当押金为0的时候 继续抵扣其余金额
if (otherCashPledge.compareTo(BigDecimal.ZERO) == 0) { if (otherCashPledge.compareTo(BigDecimal.ZERO) == 0) {
...@@ -236,6 +241,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService { ...@@ -236,6 +241,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
leaseOrderDO.setCompanyName(param.getCompanyName()); leaseOrderDO.setCompanyName(param.getCompanyName());
leaseOrderDO.setThirdBackUserAccountId(param.getThirdBackUserAccountId()); leaseOrderDO.setThirdBackUserAccountId(param.getThirdBackUserAccountId());
leaseOrderDO.setOrderName(leaseGoodsVO.getTradeName()); leaseOrderDO.setOrderName(leaseGoodsVO.getTradeName());
leaseOrderDO.setOtherPledge(otherPledge);
leaseOrderDO.setModeOfDeliveryInfo(leaseGoodsVO.getModeOfDeliveryInfo()); leaseOrderDO.setModeOfDeliveryInfo(leaseGoodsVO.getModeOfDeliveryInfo());
if (priceStock.getSkuImage() != null) { if (priceStock.getSkuImage() != null) {
leaseOrderDO.setSkuImg(priceStock.getSkuImage()); leaseOrderDO.setSkuImg(priceStock.getSkuImage());
...@@ -319,27 +325,56 @@ public class LeaseOrderServiceImpl implements LeaseOrderService { ...@@ -319,27 +325,56 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
return ResultBody.error("订单信息不存在!"); return ResultBody.error("订单信息不存在!");
} }
LeaseOrderDTO leaseOrderDTO = leaseOrderDO.buildLeaseOrderDTO(); LeaseOrderDTO leaseOrderDTO = leaseOrderDO.buildLeaseOrderDTO();
if (leaseOrderDO.getStatusCode().equals(LeaseOrderStatus.PLACED_AN_ORDER.getCode())) { Integer statusCode = leaseOrderDO.getStatusCode();
if (statusCode.equals(LeaseOrderStatus.PLACED_AN_ORDER.getCode())) {
leaseOrderDTO.setNeedPayAmount(leaseOrderDO.getOtherAmount()); leaseOrderDTO.setNeedPayAmount(leaseOrderDO.getOtherAmount());
} }
// 收货信息、付款信息、规格信息、快递信息、签署信息 // 收货信息、付款信息、规格信息、快递信息、签署信息
LeaseOrderExpressDO leaseOrderExpressDO = leaseOrderDao.getLeaseOrderExpress(id); LeaseOrderExpressDO leaseOrderExpressDO = leaseOrderDao.getLeaseOrderExpress(id);
if (leaseOrderExpressDO != null) { leaseOrderDTO.setUavOrderExpressDTO(leaseOrderExpressDO.buildUavOrderExpressDTO());
leaseOrderDTO.setUavOrderExpressDTO(leaseOrderExpressDO.buildUavOrderExpressDTO()); // 快递信息
KdnExpDTO kdnExpDTO = this.getOrderExpInfo(leaseOrderExpressDO);
leaseOrderDTO.setKdnExpDTO(kdnExpDTO);
// 判断订单状态是否是已归还状态
if (statusCode.compareTo(LeaseOrderStatus.WAITING_MERCHANT_CONFIRM.getCode()) >= 0) {
// 快递信息 // 快递信息
KdnExpDTO kdnExpDTO = this.getOrderExpInfo(leaseOrderExpressDO); KdnExpDTO returnKdnExpDTO = this.getReturnOrderExpInfo(leaseOrderDO, leaseOrderExpressDO);
leaseOrderDTO.setKdnExpDTO(kdnExpDTO); leaseOrderDTO.setReturnKdnExpDTO(returnKdnExpDTO);
} }
// 设置确认收货信息
setConfirmReceiptInfo(id, OrderType.REC.getCode(), leaseOrderDTO);
// 设置退款信息
setConfirmReceiptInfo(id, OrderType.RETREAT.getCode(), leaseOrderDTO);
// 设置破损信息
setConfirmReceiptInfo(id, OrderType.PFREC.getCode(), leaseOrderDTO);
// 设置个人信息 // 设置个人信息
UserAccountSimpleDTO userAccountSimpleDTO = userAppApi.feignGetUserSimpleInfo(leaseOrderDO.getUserAccountId(), currentAccount.getToken()); UserAccountSimpleDTO userAccountSimpleDTO = userAppApi.feignGetUserSimpleInfo(leaseOrderDO.getUserAccountId(), currentAccount.getToken());
if (userAccountSimpleDTO != null) { if (userAccountSimpleDTO != null) {
leaseOrderDTO.setUserName(userAccountSimpleDTO.getUserName());
leaseOrderDTO.setNickname(userAccountSimpleDTO.getNickName()); leaseOrderDTO.setNickname(userAccountSimpleDTO.getNickName());
leaseOrderDTO.setPhoneNum(userAccountSimpleDTO.getPhoneNum()); leaseOrderDTO.setPhoneNum(userAccountSimpleDTO.getPhoneNum());
leaseOrderDTO.setUserName(userAccountSimpleDTO.getUserName());
} }
return ResultBody.success(leaseOrderDTO); return ResultBody.success(leaseOrderDTO);
} }
private void setConfirmReceiptInfo(Integer id, Integer orderType, LeaseOrderDTO leaseOrderDTO) {
LeaseRefundOrderDO leaseRefundOrderDO = leaseOrderDao.selectGiveBackByOrderId(id, orderType);
switch (orderType) {
case 1:
leaseOrderDTO.setConfirmReceipt(leaseRefundOrderDO == null ? null : leaseRefundOrderDO.buildLeaseRefundOrderDTO());
break;
case 4:
leaseOrderDTO.setLeaseRefundOrder(leaseRefundOrderDO == null ? null : leaseRefundOrderDO.buildLeaseRefundOrderDTO());
break;
case 3:
leaseOrderDTO.setStoreDamageOrder(leaseRefundOrderDO == null ? null : leaseRefundOrderDO.buildLeaseRefundOrderDTO());
break;
default:
break;
}
}
private KdnExpDTO getOrderExpInfo(LeaseOrderExpressDO exp) throws Exception { private KdnExpDTO getOrderExpInfo(LeaseOrderExpressDO exp) throws Exception {
String json = ""; String json = "";
if ("SF".equals(exp.getSendExpCode())) { if ("SF".equals(exp.getSendExpCode())) {
...@@ -357,6 +392,31 @@ public class LeaseOrderServiceImpl implements LeaseOrderService { ...@@ -357,6 +392,31 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
return kdn; return kdn;
} }
private KdnExpDTO getReturnOrderExpInfo(LeaseOrderDO leaseOrderDO, LeaseOrderExpressDO exp) throws Exception {
Integer leaseGoodsId = leaseOrderDO.getLeaseGoodsId();
ResultBody<LeaseGoodsVO> leaseGoodsVOResultBody = pmsAppApi.leaseGoodsDetails(leaseGoodsId);
if (!leaseGoodsVOResultBody.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
return null;
}
LeaseGoodsVO leaseGoodsVO = leaseGoodsVOResultBody.getResult();
Integer returnAddress = leaseGoodsVO.getReturnAddress();
UserAddressDO userAddressDO = userAddressDao.selectById(returnAddress);
String json = "";
if ("SF".equals(exp.getReturnExpCode())) {
json = KdnExpressUtil.SF(userAddressDO.getTakePhone(), exp.getReturnExpNo());
} else if ("JD".equals(exp.getReturnExpCode())) {
json = KdnExpressUtil.JD("", exp.getReturnExpNo());
} else {
json = KdnExpressUtil.others(exp.getReturnExpCode(), exp.getReturnExpNo());
}
KdnExpDTO kdn = JsonUtil.parseJsonToObj(json, KdnExpDTO.class);
kdn.setLogisticCode(exp.getReturnExpNo());
if (!org.springframework.util.CollectionUtils.isEmpty(kdn.getTraces())) {
Collections.sort(kdn.getTraces(), Comparator.comparing(ExpStationsDTO::getAcceptTime).reversed());// 升序
}
return kdn;
}
@Override @Override
@Transactional @Transactional
public ResultBody close(LeaseOrderRefundVO leaseOrderRefundVO, String token) { public ResultBody close(LeaseOrderRefundVO leaseOrderRefundVO, String token) {
...@@ -374,37 +434,35 @@ public class LeaseOrderServiceImpl implements LeaseOrderService { ...@@ -374,37 +434,35 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
if (leaseOrderRefundVO.getExpressCode() == null || leaseOrderRefundVO.getExpressNum() == null) { if (leaseOrderRefundVO.getExpressCode() == null || leaseOrderRefundVO.getExpressNum() == null) {
return ResultBody.error("请完善物流信息"); return ResultBody.error("请完善物流信息");
} }
// 插入退货地址信息
LeaseOrderExpressDO leaseOrderExpressDO = new LeaseOrderExpressDO();
leaseOrderExpressDO.setId(leaseOrderRefundVO.getId());
leaseOrderExpressDO.setLeaseOrderId(leaseOrderRefundVO.getOrderId());
leaseOrderExpressDO.setReturnExpCode(leaseOrderRefundVO.getExpressCode());
leaseOrderExpressDO.setReturnExpNo(leaseOrderRefundVO.getExpressNum());
leaseOrderExpressDO.setReturnTime(new Date());
leaseOrderDao.updateLeaseOrderExpress(leaseOrderExpressDO);
// 插入退款订单信息
LeaseRefundOrderDO leaseRefundOrderDO = new LeaseRefundOrderDO(leaseOrderRefundVO);
leaseRefundOrderDO.setType(OrderType.RETREAT.getCode());
leaseOrderDao.addLeaseRefundOrder(leaseRefundOrderDO);
// 修改订单状态
leaseOrderDao.updateLeaseOrderStatus(leaseOrderRefundVO.getOrderId(), LeaseOrderStatus.APPLY_REFUND.getCode());
} }
// 插入退货地址信息
LeaseOrderExpressDO leaseOrderExpressDO = new LeaseOrderExpressDO();
leaseOrderExpressDO.setLeaseOrderId(leaseOrderRefundVO.getOrderId());
leaseOrderExpressDO.setReturnExpCode(leaseOrderRefundVO.getExpressCode());
leaseOrderExpressDO.setReturnExpNo(leaseOrderRefundVO.getExpressNum());
leaseOrderExpressDO.setReturnTime(new Date());
leaseOrderDao.addAddress(leaseOrderExpressDO);
// 插入退款订单信息
LeaseRefundOrderDO leaseRefundOrderDO = new LeaseRefundOrderDO(leaseOrderRefundVO);
leaseRefundOrderDO.setLeaseOrderExpressId(leaseOrderExpressDO.getId());
leaseRefundOrderDO.setType(OrderType.RETREAT.getCode());
leaseOrderDao.addLeaseRefundOrder(leaseRefundOrderDO);
// 修改订单状态
leaseOrderDao.updateUavOrderStatus(leaseOrderRefundVO.getStatus(), LeaseOrderStatus.APPLY_REFUND.getCode());
return ResultBody.success(); return ResultBody.success();
} else { } else {
// 退云享金、佣金 // 退云享金、佣金
if (leaseOrderDO.getShareAmount().compareTo(BigDecimal.ZERO) > 0 || leaseOrderDO.getSalaryAmount().compareTo(BigDecimal.ZERO) > 0) { if (leaseOrderDO.getShareAmount().compareTo(BigDecimal.ZERO) > 0 || leaseOrderDO.getSalaryAmount().compareTo(BigDecimal.ZERO) > 0 ||
PayUavWalletVO payUavWalletVO = new PayUavWalletVO(); leaseOrderDO.getSalaryCashPledge().compareTo(BigDecimal.ZERO) > 0 || leaseOrderDO.getShareCashPledge().compareTo(BigDecimal.ZERO) > 0) {
payUavWalletVO.setCashAmount(leaseOrderDO.getShareAmount()); PayUavWalletVO userPayUavWalletVO = amountUnfreezing(leaseOrderDO, leaseOrderDO.getShareAmount(), leaseOrderDO.getSalaryAmount());
payUavWalletVO.setSalaryAmount(leaseOrderDO.getSalaryAmount()); userPayUavWalletVO.setOrderStatus(1400);
payUavWalletVO.setOrderStatus(1400); ResultBody resultBody = userAppApi.feignPayUavWallet(userPayUavWalletVO, token);
payUavWalletVO.setUserAccountId(leaseOrderDO.getUserAccountId());
ResultBody resultBody = userAppApi.feignPayUavWallet(payUavWalletVO, token);
if (!resultBody.getCode().equals(ResultEnum.SUCCESS.getResultCode())) { if (!resultBody.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
return resultBody; return resultBody;
} }
} }
// 微信退款 // 微信退款
if ("wechatpay".equals(leaseOrderDO.getPayType())) { if (leaseOrderDO.getOtherPledge() != null && leaseOrderDO.getOtherPledge().compareTo(BigDecimal.ZERO) > 0) {
ApplyRefundVO applyRefundVO = new ApplyRefundVO(); ApplyRefundVO applyRefundVO = new ApplyRefundVO();
applyRefundVO.setOutTradeNo(leaseOrderDO.getOrderNo()); applyRefundVO.setOutTradeNo(leaseOrderDO.getOrderNo());
applyRefundVO.setReason("关闭租赁订单"); applyRefundVO.setReason("关闭租赁订单");
...@@ -424,7 +482,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService { ...@@ -424,7 +482,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void updateLeaseOrderStatus(Integer id, LeaseOrderStatus leaseOrderStatus) { public void updateLeaseOrderStatus(Integer id, LeaseOrderStatus leaseOrderStatus) {
leaseOrderDao.updateUavOrderStatus(id, leaseOrderStatus.getCode()); leaseOrderDao.updateLeaseOrderStatus(id, leaseOrderStatus.getCode());
} }
@Override @Override
...@@ -440,7 +498,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService { ...@@ -440,7 +498,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
uavOrderQO.buildCurrentPage(); uavOrderQO.buildCurrentPage();
List<LeaseOrderDO> leaseOrderDOS = leaseOrderDao.list(uavOrderQO); List<LeaseOrderDO> leaseOrderDOS = leaseOrderDao.list(uavOrderQO);
Map<Integer, LeaseOrderDTO> leaseOrderDTOMap = new HashMap<>(); Map<Integer, LeaseOrderDTO> leaseOrderDTOMap = new LinkedHashMap<>();
List<Integer> ids = new ArrayList<>(); List<Integer> ids = new ArrayList<>();
List<Integer> userIds = new ArrayList<>(); List<Integer> userIds = new ArrayList<>();
...@@ -487,7 +545,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService { ...@@ -487,7 +545,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
Integer pageNo = uavOrderQO.getPageNo(); Integer pageNo = uavOrderQO.getPageNo();
uavOrderQO.buildCurrentPage(); uavOrderQO.buildCurrentPage();
List<LeaseOrderDO> leaseOrderDOS = leaseOrderDao.list(uavOrderQO); List<LeaseOrderDO> leaseOrderDOS = leaseOrderDao.list(uavOrderQO);
Map<Integer, LeaseOrderDTO> leaseOrderDTOMap = new HashMap<>(); Map<Integer, LeaseOrderDTO> leaseOrderDTOMap = new LinkedHashMap<>();
List<Integer> ids = new ArrayList<>(); List<Integer> ids = new ArrayList<>();
for (LeaseOrderDO leaseOrderDO : leaseOrderDOS) { for (LeaseOrderDO leaseOrderDO : leaseOrderDOS) {
LeaseOrderDTO leaseOrderDTO = leaseOrderDO.buildLeaseOrderDTO(); LeaseOrderDTO leaseOrderDTO = leaseOrderDO.buildLeaseOrderDTO();
...@@ -554,28 +612,35 @@ public class LeaseOrderServiceImpl implements LeaseOrderService { ...@@ -554,28 +612,35 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
// 修改订单状态 // 修改订单状态
LeaseOrderDO leaseOrderDO = leaseOrderDao.detail(param.getUavOrderId()); LeaseOrderDO leaseOrderDO = leaseOrderDao.detail(param.getUavOrderId());
if (!leaseOrderDO.getStatusCode().toString().equals(LeaseOrderStatus.PAID.getCode().toString())) { if (!leaseOrderDO.getStatusCode().toString().equals(LeaseOrderStatus.PAID.getCode().toString())) {
return ResultBody.error("状态流程有误,请重试!"); return ResultBody.error("状态流程有误!");
} }
this.updateLeaseOrderStatus(param.getUavOrderId(), LeaseOrderStatus.SHIPPED); this.updateLeaseOrderStatus(param.getUavOrderId(), LeaseOrderStatus.SHIPPED);
// 修改收货信息 // 修改收货信息
LeaseOrderExpressDO leaseOrderExpressDO = new LeaseOrderExpressDO(param); LeaseOrderExpressDO leaseOrderExpressDO = new LeaseOrderExpressDO(param);
leaseOrderExpressDO.setSendTime(new Date());
leaseOrderDao.updateLeaseOrderExpress(leaseOrderExpressDO); leaseOrderDao.updateLeaseOrderExpress(leaseOrderExpressDO);
return ResultBody.success(); return ResultBody.success();
} }
@Override @Override
public ResultBody receive(Integer id, BaseAccountDTO currentAccount) { public ResultBody receive(LeaseOrderRefundVO leaseOrderRefundVO, BaseAccountDTO currentAccount) {
// 修改订单状态 LeaseOrderDO leaseOrderDO = leaseOrderDao.detail(leaseOrderRefundVO.getOrderId());
LeaseOrderDO leaseOrderDO = leaseOrderDao.detail(id);
if (!leaseOrderDO.getStatusCode().equals(LeaseOrderStatus.SHIPPED.getCode())) { if (!leaseOrderDO.getStatusCode().equals(LeaseOrderStatus.SHIPPED.getCode())) {
return ResultBody.error("状态流程有误,请重试!"); return ResultBody.error("状态流程有误!");
}
if (StringUtils.isNotEmpty(leaseOrderRefundVO.getFile()) || StringUtils.isNotEmpty(leaseOrderRefundVO.getReason())) {
// 插入确认信息
LeaseRefundOrderDO leaseRefundOrderDO = new LeaseRefundOrderDO(leaseOrderRefundVO);
leaseRefundOrderDO.setStatus(1);
leaseRefundOrderDO.setType(OrderType.REC.getCode());
leaseOrderDao.addLeaseRefundOrder(leaseRefundOrderDO);
} }
// 修改收货信息 // 修改收货信息
LeaseOrderExpressDO leaseOrderExpress = leaseOrderDao.getLeaseOrderExpress(id); LeaseOrderExpressDO leaseOrderExpress = leaseOrderDao.getLeaseOrderExpress(leaseOrderRefundVO.getOrderId());
leaseOrderExpress.setReceive(1); leaseOrderExpress.setReceive(1);
leaseOrderExpress.setReceiveTime(new Date()); leaseOrderExpress.setReceiveTime(new Date());
leaseOrderDao.updateLeaseOrderExpress(leaseOrderExpress); leaseOrderDao.updateLeaseOrderExpress(leaseOrderExpress);
this.updateLeaseOrderStatus(id, LeaseOrderStatus.TO_BE_RETURNED); this.updateLeaseOrderStatus(leaseOrderRefundVO.getOrderId(), LeaseOrderStatus.TO_BE_RETURNED);
return ResultBody.success(); return ResultBody.success();
} }
...@@ -599,11 +664,12 @@ public class LeaseOrderServiceImpl implements LeaseOrderService { ...@@ -599,11 +664,12 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
} }
@Override @Override
@Transactional
public ResultBody giveBack(LeaseOrderRefundVO leaseOrderRefundVO, BaseAccountDTO currentAccount) { public ResultBody giveBack(LeaseOrderRefundVO leaseOrderRefundVO, BaseAccountDTO currentAccount) {
LeaseOrderDO leaseOrderDO = leaseOrderDao.detail(leaseOrderRefundVO.getOrderId()); LeaseOrderDO leaseOrderDO = leaseOrderDao.detail(leaseOrderRefundVO.getOrderId());
log.info("leaseOrderDO:{}", JSONObject.toJSONString(leaseOrderDO)); log.info("leaseOrderDO:{}", JSONObject.toJSONString(leaseOrderDO));
if (!leaseOrderDO.getStatusCode().equals(LeaseOrderStatus.TO_BE_RETURNED.getCode())) { if (!leaseOrderDO.getStatusCode().equals(LeaseOrderStatus.TO_BE_RETURNED.getCode())) {
return ResultBody.error("状态流程有误,请重试!"); return ResultBody.error("状态流程有误!");
} }
LeaseOrderExpressDO leaseOrderExpressDO = new LeaseOrderExpressDO(leaseOrderRefundVO); LeaseOrderExpressDO leaseOrderExpressDO = new LeaseOrderExpressDO(leaseOrderRefundVO);
leaseOrderDao.updateLeaseOrderExpress(leaseOrderExpressDO); leaseOrderDao.updateLeaseOrderExpress(leaseOrderExpressDO);
...@@ -615,50 +681,298 @@ public class LeaseOrderServiceImpl implements LeaseOrderService { ...@@ -615,50 +681,298 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
@Transactional @Transactional
public ResultBody pfConfirmOrderWare(BaseAccountDTO currentAccount, LeaseOrderRefundVO param) { public ResultBody pfConfirmOrderWare(BaseAccountDTO currentAccount, LeaseOrderRefundVO param) {
LeaseOrderDO leaseOrderDO = leaseOrderDao.detail(param.getOrderId()); LeaseOrderDO leaseOrderDO = leaseOrderDao.detail(param.getOrderId());
log.info("leaseOrderDO:{}", JSONObject.toJSONString(leaseOrderDO)); log.info("平台确认归还操作,leaseOrderDO:{}", JSONObject.toJSONString(leaseOrderDO));
if (!leaseOrderDO.getStatusCode().equals(LeaseOrderStatus.WAITING_MERCHANT_CONFIRM.getCode())) { if (leaseOrderDO.getStatusCode().equals(LeaseOrderStatus.REMAIN_TO_BE_EVALUATED.getCode())) {
return ResultBody.error("状态流程有误,请重试!"); return ResultBody.error("请勿重复操作");
} }
if (param.getDamage().equals(0)) {
// 解冻用户钱包金额 boolean isWaitingMerchantConfirm = leaseOrderDO.getStatusCode().equals(LeaseOrderStatus.WAITING_MERCHANT_CONFIRM.getCode());
if (leaseOrderDO.getShareAmount().compareTo(BigDecimal.ZERO) > 0 || leaseOrderDO.getSalaryAmount().compareTo(BigDecimal.ZERO) > 0) { boolean isApplyRefund = leaseOrderDO.getStatusCode().equals(LeaseOrderStatus.APPLY_REFUND.getCode());
PayUavWalletVO userPayUavWalletVO = new PayUavWalletVO();
userPayUavWalletVO.setRemark("租赁订单金额解冻"); if (isWaitingMerchantConfirm || isApplyRefund) {
userPayUavWalletVO.setCashAmount(leaseOrderDO.getShareAmount()); if (param.getDamage().equals(0)) {
userPayUavWalletVO.setSalaryAmount(leaseOrderDO.getSalaryAmount()); // 解冻用户钱包金额
userPayUavWalletVO.setUserAccountId(leaseOrderDO.getUserAccountId()); BigDecimal shareAmount = leaseOrderDO.getShareAmount();
BigDecimal salaryAmount = leaseOrderDO.getSalaryAmount();
ApplyRefundVO applyRefundVO = null;
if (isApplyRefund && leaseOrderDO.getOtherAmount().compareTo(BigDecimal.ZERO) > 0) {
applyRefundVO = wxRefund(leaseOrderDO);
applyRefundVO.setRefund((leaseOrderDO.getOtherPledge().add(leaseOrderDO.getOtherAmount())).multiply(BigDecimal.valueOf(100)).longValue());
} else if (leaseOrderDO.getOtherPledge() != null && leaseOrderDO.getOtherPledge().compareTo(BigDecimal.ZERO) > 0) {
applyRefundVO = wxRefund(leaseOrderDO);
}
if (applyRefundVO != null) {
ResultBody refundOtherPledge = paymentAppApi.applyRefund(applyRefundVO, currentAccount.getToken());
if (!refundOtherPledge.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
return refundOtherPledge;
}
}
if (shareAmount.compareTo(BigDecimal.ZERO) > 0 || salaryAmount.compareTo(BigDecimal.ZERO) > 0) {
// 金额解冻
PayUavWalletVO userPayUavWalletVO = amountUnfreezing(leaseOrderDO, shareAmount, salaryAmount);
userPayUavWalletVO.setOrderStatus(isWaitingMerchantConfirm ? 999 : 1400);
ResultBody resultBody = userAppApi.feignPayUavWallet(userPayUavWalletVO, currentAccount.getToken());
if (!resultBody.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
return resultBody;
}
// 如果是交易完成则退回押金
if (isWaitingMerchantConfirm) {
BigDecimal shareCashPledge = leaseOrderDO.getShareCashPledge();
BigDecimal salaryCashPledge = leaseOrderDO.getSalaryCashPledge();
if ((shareCashPledge.compareTo(BigDecimal.ZERO) > 0 || salaryCashPledge.compareTo(BigDecimal.ZERO) > 0)) {
moneyRefund(shareCashPledge, salaryCashPledge, currentAccount, leaseOrderDO);
}
}
}
// 修改退款操作
if (isApplyRefund) {
this.updateLeaseOrderStatus(param.getOrderId(), LeaseOrderStatus.CLOSE);
}
if (isWaitingMerchantConfirm) {
return businessIncome(currentAccount, param.getOrderId(), leaseOrderDO, 0);
}
} else {
// 有破损等待平台
if (StringUtils.isEmpty(param.getFile()) || StringUtils.isEmpty(param.getReason())) {
return ResultBody.error("请填充破损照片和原因!");
}
LeaseRefundOrderDO leaseRefundOrderDO = new LeaseRefundOrderDO(param);
leaseRefundOrderDO.setStatus(1);
leaseRefundOrderDO.setType(OrderType.PFREC.getCode());
leaseOrderDao.addLeaseRefundOrder(leaseRefundOrderDO);
// 修改订单状态
if (isWaitingMerchantConfirm) {
this.updateLeaseOrderStatus(param.getOrderId(), LeaseOrderStatus.MODIFIED_DEPOSIT_TO_BE_CONFIRMED);
} else {
this.updateLeaseOrderStatus(param.getOrderId(), LeaseOrderStatus.MODIFIED_DEPOSIT_REFUND);
}
}
} else {
return ResultBody.error("状态流程有误");
}
return ResultBody.success();
}
private ResultBody businessIncome(BaseAccountDTO currentAccount, Integer orderId, LeaseOrderDO leaseOrderDO, Integer flag) {
// 拿到商家管理员的用户id
ResultBody managerRes = userAppApi.getManagerIdByBackUserId(leaseOrderDO.getThirdBackUserAccountId(), null);
if (!managerRes.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
return managerRes;
}
// 获取损坏的金额
LeaseRefundOrderDO leaseRefundOrderDO = leaseOrderDao.selectGiveBackByOrderId(leaseOrderDO.getId(), OrderType.PFREC.getCode());
if (leaseRefundOrderDO != null && leaseRefundOrderDO.getModifiedDeposit() != null) {
handleModifiedDeposit(currentAccount, leaseOrderDO, managerRes, leaseRefundOrderDO);
}
// 为0时标识订单收益,否则就是修改状态
if (flag == 0) {
handleOrderIncome(currentAccount, leaseOrderDO, managerRes);
this.updateLeaseOrderStatus(orderId, LeaseOrderStatus.REMAIN_TO_BE_EVALUATED);
} else {
// 修改退款操状态
this.updateLeaseOrderStatus(leaseOrderDO.getId(), LeaseOrderStatus.CLOSE);
}
return ResultBody.success();
}
private ResultBody handleModifiedDeposit(BaseAccountDTO currentAccount, LeaseOrderDO leaseOrderDO, ResultBody managerRes, LeaseRefundOrderDO leaseRefundOrderDO) {
PayUavWalletVO payUavWalletVO = new PayUavWalletVO();
payUavWalletVO.setCashAmount(BigDecimal.ZERO);
payUavWalletVO.setSalaryAmount(leaseRefundOrderDO.getModifiedDeposit());
payUavWalletVO.setRemark("租赁订单获赔,订单编号" + leaseOrderDO.getOrderNo());
payUavWalletVO.setOrderStatus(1800);
payUavWalletVO.setUserAccountId((Integer) managerRes.getResult());
ResultBody resultIncomeBody = userAppApi.feignPayUavWallet(payUavWalletVO, currentAccount.getToken());
if (!resultIncomeBody.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
return resultIncomeBody;
}
return ResultBody.success();
}
private ResultBody handleOrderIncome(BaseAccountDTO currentAccount, LeaseOrderDO leaseOrderDO, ResultBody managerRes) {
PayUavWalletVO payUavWalletVO = new PayUavWalletVO();
BigDecimal orderTotalAmount = leaseOrderDO.getOrderTotalAmount().subtract(leaseOrderDO.getDeposit());
BigDecimal thirdAmount = orderTotalAmount.multiply(
BigDecimal.valueOf(100).subtract(UavOrderProportion.PROPORTION).divide(BigDecimal.valueOf(100)));
payUavWalletVO.setCashAmount(BigDecimal.ZERO);
payUavWalletVO.setSalaryAmount(thirdAmount);
payUavWalletVO.setRemark("租赁订单收入,订单编号" + leaseOrderDO.getOrderNo());
payUavWalletVO.setOrderStatus(1500);
payUavWalletVO.setUserAccountId((Integer) managerRes.getResult());
ResultBody resultIncomeBody = userAppApi.feignPayUavWallet(payUavWalletVO, currentAccount.getToken());
if (!resultIncomeBody.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
return resultIncomeBody;
}
leaseOrderDao.updateLeaseOrderProportion(leaseOrderDO.getId(), UavOrderProportion.PROPORTION.intValue());
return ResultBody.success();
}
private ResultBody moneyRefund(BigDecimal shareCashPledge, BigDecimal salaryCashPledge, BaseAccountDTO currentAccount, LeaseOrderDO leaseOrderDO) {
PayUavWalletVO refundUavWalletVO = new PayUavWalletVO();
refundUavWalletVO.setRemark("租赁押金退回");
refundUavWalletVO.setCashAmount(shareCashPledge);
refundUavWalletVO.setSalaryAmount(salaryCashPledge);
refundUavWalletVO.setUserAccountId(leaseOrderDO.getUserAccountId());
refundUavWalletVO.setOrderStatus(1600);
ResultBody giveBackPledge = userAppApi.feignPayUavWallet(refundUavWalletVO, currentAccount.getToken());
if (!giveBackPledge.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
return giveBackPledge;
}
return ResultBody.success();
}
private ApplyRefundVO wxRefund(LeaseOrderDO leaseOrderDO) {
ApplyRefundVO applyRefundVO = new ApplyRefundVO();
applyRefundVO.setOutTradeNo(leaseOrderDO.getOrderNo());
applyRefundVO.setReason("租赁押金退款");
applyRefundVO.setRefund(leaseOrderDO.getOtherPledge().multiply(BigDecimal.valueOf(100)).longValue());
return applyRefundVO;
}
private PayUavWalletVO amountUnfreezing(LeaseOrderDO leaseOrderDO, BigDecimal shareAmount, BigDecimal salaryAmount) {
PayUavWalletVO userPayUavWalletVO = new PayUavWalletVO();
userPayUavWalletVO.setRemark("租赁订单金额解冻");
userPayUavWalletVO.setCashAmount(shareAmount.add(leaseOrderDO.getShareCashPledge()));
userPayUavWalletVO.setSalaryAmount(salaryAmount.add(leaseOrderDO.getSalaryCashPledge()));
userPayUavWalletVO.setUserAccountId(leaseOrderDO.getUserAccountId());
return userPayUavWalletVO;
}
@Override
public ResultBody confirmSettlement(Integer id, BaseAccountDTO currentAccount) {
LeaseOrderDO leaseOrderDO = leaseOrderDao.detail(id);
log.info("平台确认归还操作,leaseOrderDO:{}", JSONObject.toJSONString(leaseOrderDO));
if (leaseOrderDO.getStatusCode().equals(LeaseOrderStatus.REMAIN_TO_BE_EVALUATED.getCode())) {
return ResultBody.error("请勿重复操作");
}
boolean isModifiedConfirmed = leaseOrderDO.getStatusCode().equals(LeaseOrderStatus.MODIFIED_DEPOSIT_TO_BE_CONFIRMED.getCode());
boolean isRefund = leaseOrderDO.getStatusCode().equals(LeaseOrderStatus.MODIFIED_DEPOSIT_REFUND.getCode());
if (isModifiedConfirmed || isRefund) {
// 根据订单id查询出修改后的押金
LeaseRefundOrderDO leaseRefundOrderDO = leaseOrderDao.selectGiveBackByOrderId(id, OrderType.PFREC.getCode());
BigDecimal operatingDeposit = BigDecimal.ZERO;
operatingDeposit = operatingDeposit.add(leaseRefundOrderDO.getModifiedDeposit());
// 判断用户之前的押金,然后进行操作:
// 1、分别获取用户之前抵扣掉的押金
BigDecimal shareCashPledge = leaseOrderDO.getShareCashPledge();
BigDecimal salaryCashPledge = leaseOrderDO.getSalaryCashPledge();
BigDecimal otherPledge = leaseOrderDO.getOtherPledge();
// 一一判断押金是否够扣减的
if (shareCashPledge.compareTo(BigDecimal.ZERO) > 0 || salaryCashPledge.compareTo(BigDecimal.ZERO) > 0) {
if (shareCashPledge.compareTo(operatingDeposit) >= 0) {
// 云享金押金足够抵扣
shareCashPledge = shareCashPledge.subtract(operatingDeposit);
} else {
operatingDeposit = operatingDeposit.subtract(shareCashPledge);
if (salaryCashPledge.compareTo(operatingDeposit) >= 0) {
// 云享金押金+余额押金足够抵扣
salaryCashPledge = salaryCashPledge.subtract(operatingDeposit);
// 进行后续操作
} else {
operatingDeposit = operatingDeposit.subtract(salaryCashPledge);
if (otherPledge.compareTo(operatingDeposit) >= 0) {
// 云享金押金+余额押金+其他押金足够抵扣
otherPledge = otherPledge.subtract(operatingDeposit);
// 进行后续操作
}
}
}
// 进行金额解冻
PayUavWalletVO userPayUavWalletVO = amountUnfreezing(leaseOrderDO, leaseOrderDO.getShareAmount(), leaseOrderDO.getSalaryAmount());
userPayUavWalletVO.setOrderStatus(999); userPayUavWalletVO.setOrderStatus(999);
ResultBody resultBody = userAppApi.feignPayUavWallet(userPayUavWalletVO, currentAccount.getToken()); ResultBody resultBody = userAppApi.feignPayUavWallet(userPayUavWalletVO, currentAccount.getToken());
if (!resultBody.getCode().equals(ResultEnum.SUCCESS.getResultCode())) { if (!resultBody.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return resultBody; return resultBody;
} }
// 进行多余的押金退回
if ((shareCashPledge.compareTo(BigDecimal.ZERO) > 0 || salaryCashPledge.compareTo(BigDecimal.ZERO) > 0)) {
moneyRefund(shareCashPledge, salaryCashPledge, currentAccount, leaseOrderDO);
}
} else {
if (otherPledge.compareTo(operatingDeposit) >= 0) {
// 云享金押金+余额押金+其他押金足够抵扣
otherPledge = otherPledge.subtract(operatingDeposit);
}
} }
BigDecimal thirdAmount = leaseOrderDO.getOrderTotalAmount().multiply( // 退回微信支付的押金部分
BigDecimal.valueOf(100).subtract(UavOrderProportion.PROPORTION).divide(BigDecimal.valueOf(100))); if (otherPledge != null && otherPledge.compareTo(BigDecimal.ZERO) > 0) {
PayUavWalletVO payUavWalletVO = new PayUavWalletVO(); ApplyRefundVO applyRefundVO = wxRefund(leaseOrderDO);
payUavWalletVO.setSalaryAmount(thirdAmount); applyRefundVO.setRefund(otherPledge.multiply(BigDecimal.valueOf(100)).longValue());
payUavWalletVO.setCashAmount(BigDecimal.ZERO); ResultBody refundOtherPledge = paymentAppApi.applyRefund(applyRefundVO, currentAccount.getToken());
payUavWalletVO.setRemark("租赁订单收入,订单编号" + leaseOrderDO.getOrderNo()); if (!refundOtherPledge.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
payUavWalletVO.setOrderStatus(1500); return refundOtherPledge;
// 拿到商家管理员的用户id }
ResultBody managerRes = userAppApi.getManagerIdByBackUserId(leaseOrderDO.getThirdBackUserAccountId(), null); }
if (!managerRes.getCode().equals(ResultEnum.SUCCESS.getResultCode())) { if (isModifiedConfirmed) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); // 进行平台打款
return managerRes; return businessIncome(currentAccount, id, leaseOrderDO, 0);
} }
payUavWalletVO.setUserAccountId((Integer) managerRes.getResult()); if (isRefund) {
ResultBody resultBody = userAppApi.feignPayUavWallet(payUavWalletVO, currentAccount.getToken()); // 退回微信的钱
if (!resultBody.getCode().equals(ResultEnum.SUCCESS.getResultCode())) { if (leaseOrderDO.getOtherAmount().compareTo(BigDecimal.ZERO) > 0) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); ApplyRefundVO applyRefundVO = wxRefund(leaseOrderDO);
return resultBody; applyRefundVO.setRefund((leaseOrderDO.getOtherPledge().add(leaseOrderDO.getOtherAmount())).multiply(BigDecimal.valueOf(100)).longValue());
ResultBody refundOtherPledge = paymentAppApi.applyRefund(applyRefundVO, currentAccount.getToken());
if (!refundOtherPledge.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
return refundOtherPledge;
}
}
if (leaseOrderDO.getShareAmount().compareTo(BigDecimal.ZERO) > 0 || leaseOrderDO.getSalaryAmount().compareTo(BigDecimal.ZERO) > 0) {
// 退回云享金及余额
PayUavWalletVO userPayUavWalletVO = new PayUavWalletVO();
userPayUavWalletVO.setUserAccountId(leaseOrderDO.getUserAccountId());
userPayUavWalletVO.setCashAmount(leaseOrderDO.getShareAmount());
userPayUavWalletVO.setSalaryAmount(leaseOrderDO.getSalaryAmount());
userPayUavWalletVO.setRemark("租赁订单退款");
userPayUavWalletVO.setOrderStatus(1700);
ResultBody resultBody = userAppApi.feignPayUavWallet(userPayUavWalletVO, currentAccount.getToken());
if (!resultBody.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
return resultBody;
}
}
// 进行平台打款
return businessIncome(currentAccount, id, leaseOrderDO, 1);
} }
leaseOrderDao.updateLeaseOrderProportion(leaseOrderDO.getId(), UavOrderProportion.PROPORTION.intValue());
this.updateLeaseOrderStatus(param.getOrderId(), LeaseOrderStatus.REMAIN_TO_BE_EVALUATED);
return ResultBody.success(); return ResultBody.success();
} else { } else {
// todo 进行相应赔偿 return ResultBody.error("状态流程有误");
return ResultBody.success();
} }
} }
@Override
public ResultBody remarkOrder(UavOrderRemarkVO uavOrderRemarkVO) {
LeaseOrderDO leaseOrderDO = leaseOrderDao.detail(uavOrderRemarkVO.getUavOrderId());
if (!leaseOrderDO.getStatusCode().equals(LeaseOrderStatus.REMAIN_TO_BE_EVALUATED.getCode())) {
return ResultBody.error("状态流程有误");
}
// 修改订单状态
this.updateLeaseOrderStatus(uavOrderRemarkVO.getUavOrderId(), LeaseOrderStatus.COMPLETE_TRANSACTION);
leaseOrderDao.updateLeaseOrderRemarkStatus(leaseOrderDO.getId());
// 填入评价内容
UavOrderRemarkDO uavOrderRemarkDO = new UavOrderRemarkDO(uavOrderRemarkVO);
uavOrderRemarkDO.setRemarkType(1);
uavOrderRemarkDO.setMallGoodsId(leaseOrderDO.getId());
leaseOrderDao.addRemarkOrder(uavOrderRemarkDO);
return ResultBody.success();
}
} }
...@@ -24,13 +24,15 @@ ...@@ -24,13 +24,15 @@
start_date, start_date,
share_cash_pledge, share_cash_pledge,
salary_cash_pledge, salary_cash_pledge,
other_pledge,
mode_of_delivery_Info,
end_date, end_date,
sku) sku)
values (#{orderNo}, #{statusCode}, #{userAccountId}, #{leaseGoodsId}, #{companyName}, #{thirdBackUserAccountId}, values (#{orderNo}, #{statusCode}, #{userAccountId}, #{leaseGoodsId}, #{companyName}, #{thirdBackUserAccountId},
#{orderName}, #{skuImg}, #{orderTotalAmount}, #{salaryAmount}, #{shareAmount}, #{otherAmount}, #{orderName}, #{skuImg}, #{orderTotalAmount}, #{salaryAmount}, #{shareAmount}, #{otherAmount},
#{userAddressId}, #{userAddressId},
#{payTime}, #{userRemark}, #{unitPrice}, #{wareNum}, #{deposit}, #{startDate}, #{shareCashPledge}, #{payTime}, #{userRemark}, #{unitPrice}, #{wareNum}, #{deposit}, #{startDate}, #{shareCashPledge},
#{salaryCashPledge}, #{endDate}, #{sku}); #{salaryCashPledge}, #{otherPledge}, #{modeOfDeliveryInfo}, #{endDate}, #{sku});
</insert> </insert>
<insert id="addAddress" keyProperty="id" useGeneratedKeys="true" <insert id="addAddress" keyProperty="id" useGeneratedKeys="true"
parameterType="com.mmc.oms.entity.lease.LeaseOrderExpressDO"> parameterType="com.mmc.oms.entity.lease.LeaseOrderExpressDO">
...@@ -41,10 +43,16 @@ ...@@ -41,10 +43,16 @@
</insert> </insert>
<insert id="addLeaseRefundOrder" parameterType="com.mmc.oms.entity.lease.LeaseRefundOrderDO" useGeneratedKeys="true" <insert id="addLeaseRefundOrder" parameterType="com.mmc.oms.entity.lease.LeaseRefundOrderDO" useGeneratedKeys="true"
keyProperty="id"> keyProperty="id">
insert into lease_refund_order(lease_order_id, status, file, reason, type, lease_order_express_id) insert into lease_refund_order(lease_order_id, status, file, reason, type, lease_order_express_id,
values (#{leaseOrderId}, #{status}, #{file}, #{reason}, #{type}, #{leaseOrderExpressId}) modified_deposit)
values (#{leaseOrderId}, #{status}, #{file}, #{reason}, #{type}, #{leaseOrderExpressId}, #{modifiedDeposit})
</insert> </insert>
<update id="updateUavOrderStatus"> <insert id="addRemarkOrder">
insert into uav_order_remark (remark_type, mall_goods_id, uav_order_id, remark_level, uav_images, content,
create_time)
values (#{remarkType}, #{mallGoodsId}, #{uavOrderId}, #{remarkLevel}, #{uavImages}, #{content}, NOW())
</insert>
<update id="updateLeaseOrderStatus">
update lease_order update lease_order
set status_code = #{code} set status_code = #{code}
where id = #{id} where id = #{id}
...@@ -105,7 +113,13 @@ ...@@ -105,7 +113,13 @@
</update> </update>
<update id="updateLeaseOrderProportion"> <update id="updateLeaseOrderProportion">
update lease_order update lease_order
set proportion = #{proportion} set proportion = #{proportion},
confirm_receipt_time = NOW()
where id = #{id}
</update>
<update id="updateLeaseOrderRemarkStatus">
update lease_order
set remark_status = 1
where id = #{id} where id = #{id}
</update> </update>
...@@ -114,7 +128,8 @@ ...@@ -114,7 +128,8 @@
,order_no,status_code,user_account_id,lease_goods_id,company_name,third_back_user_account_id, ,order_no,status_code,user_account_id,lease_goods_id,company_name,third_back_user_account_id,
order_name,sku_img,sku,order_total_amount,salary_amount,share_amount,other_amount,pay_type, order_name,sku_img,sku,order_total_amount,salary_amount,share_amount,other_amount,pay_type,
user_address_id,user_remark,seller_remark,pay_time,confirm_receipt_time,version,remark_status,mode_of_delivery_Info, user_address_id,user_remark,seller_remark,pay_time,confirm_receipt_time,version,remark_status,mode_of_delivery_Info,
proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,start_date,end_date,shut_reason,send_ware_time proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,start_date,end_date,shut_reason,
share_cash_pledge,salary_cash_pledge,other_pledge
</sql> </sql>
<select id="detail" resultType="com.mmc.oms.entity.lease.LeaseOrderDO"> <select id="detail" resultType="com.mmc.oms.entity.lease.LeaseOrderDO">
...@@ -138,7 +153,7 @@ proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,st ...@@ -138,7 +153,7 @@ proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,st
select count(*) from lease_order lo select count(*) from lease_order lo
where 1 = 1 where 1 = 1
<if test="keyword != null"> <if test="keyword != null">
and order_no = #{keyword} and (lo.order_no like CONCAT('%',#{keyword},'%') or lo.order_name like CONCAT('%',#{keyword},'%'))
</if> </if>
<if test="userAccountId != null"> <if test="userAccountId != null">
and user_account_id = #{userAccountId} and user_account_id = #{userAccountId}
...@@ -167,7 +182,7 @@ proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,st ...@@ -167,7 +182,7 @@ proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,st
WHERE WHERE
1 = 1 1 = 1
<if test="keyword != null"> <if test="keyword != null">
and lo.order_no = #{keyword} and (lo.order_no like CONCAT('%',#{keyword},'%') or lo.order_name like CONCAT('%',#{keyword},'%'))
</if> </if>
<if test="uid != null"> <if test="uid != null">
and lo.user_account_id = #{uid} and lo.user_account_id = #{uid}
...@@ -190,12 +205,12 @@ proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,st ...@@ -190,12 +205,12 @@ proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,st
<if test="showUserPort != null"> <if test="showUserPort != null">
and show_user_port = #{showUserPort} and show_user_port = #{showUserPort}
</if> </if>
order by lo.id desc order by lo.create_time desc
limit #{pageNo}, #{pageSize} limit #{pageNo}, #{pageSize}
</select> </select>
<sql id="lease_refund_order_column"> <sql id="lease_refund_order_column">
id id
,lease_order_express_id,lease_order_id,status,type,file,reason,create_time ,lease_order_express_id,lease_order_id,status,type,file,reason,create_time,modified_deposit
</sql> </sql>
<select id="getLeaseRefundOrder" resultType="com.mmc.oms.entity.lease.LeaseRefundOrderDO"> <select id="getLeaseRefundOrder" resultType="com.mmc.oms.entity.lease.LeaseRefundOrderDO">
select select
...@@ -229,4 +244,10 @@ proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,st ...@@ -229,4 +244,10 @@ proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,st
</foreach> </foreach>
</where> </where>
</select> </select>
<select id="selectGiveBackByOrderId" resultType="com.mmc.oms.entity.lease.LeaseRefundOrderDO">
select
<include refid="lease_refund_order_column"/>
from lease_refund_order
where lease_order_id = #{id} and type = #{type}
</select>
</mapper> </mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论