提交 ca295aeb 作者: xiaowang

商城云享金余额扣减

上级 96860fec
package com.mmc.iuav.user.model.fdd.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author LW
* @date 2022/9/5 14:40
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ContractVO implements Serializable {
private static final long serialVersionUID = 570570471824495498L;
@ApiModelProperty(value = "合同地址")
@NotNull(message = "合同地址不能为空")
private String docUrl;
@ApiModelProperty(value = "订单编号")
@NotNull(message = "订单编号不能为空")
private String orderNo;
@ApiModelProperty(value = "合同标题")
@NotNull(message = "合同标题不能为空")
private String title;
}
package com.mmc.iuav.user.model.vo.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author LW
* @date 2023/9/7 16:07
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PayUavWalletVO implements Serializable {
private static final long serialVersionUID = 1683979749411588941L;
@ApiModelProperty(value = "用户ID")
private Integer userAccountId;
@ApiModelProperty(value = "云享金")
private BigDecimal cashAmount;
@ApiModelProperty(value = "佣金")
private BigDecimal salaryAmount;
@ApiModelProperty(value = "订单状态 100:订单支付 1400:商城订单退款")
private Integer orderStatus;
}
...@@ -3,12 +3,12 @@ package com.mmc.iuav.user.constant.fdd; ...@@ -3,12 +3,12 @@ package com.mmc.iuav.user.constant.fdd;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
/** /**
* author:zhenjie * @author:lw Date:2022/7/22
* Date:2022/7/22
* time:11:07 * time:11:07
*/ */
@Component @Component
public class FddConstant { public class FddConstant {
public static final String SUCCESS_CODE = "1000";
public static final String CODE = "code"; public static final String CODE = "code";
public static final String DATA = "data"; public static final String DATA = "data";
...@@ -43,4 +43,6 @@ public class FddConstant { ...@@ -43,4 +43,6 @@ public class FddConstant {
public static final String SIGN = "sign"; public static final String SIGN = "sign";
public static final String UID_REGEX = "[-|_]"; public static final String UID_REGEX = "[-|_]";
public static final String YXF = "YXF";
} }
package com.mmc.iuav.user.controller.fdd;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.controller.BaseController;
import com.mmc.iuav.user.model.fdd.vo.ContractVO;
import com.mmc.iuav.user.service.fdd.ContractService;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
* @Author LW
* @date 2022/9/5 14:31
* 概要:
*/
@Api(tags = {"无人机城--合同管理" })
@RestController
@RequestMapping("/uav/contract/")
public class ContractController extends BaseController {
@Autowired
private ContractService contractService;
@ApiOperation(value = "上传合同")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/uploadContract")
public ResultBody uploadContract(@RequestBody ContractVO param, HttpServletRequest request) {
return contractService.uploadContract(param, this.getUserLoginInfoFromRedis(request).getUserAccountId());
}
@ApiOperation(value = "合同预览")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("/viewContract")
public ResultBody viewContract(@ApiParam(value = "合同编号") @RequestParam(value = "contractId") String contractId) {
return contractService.viewContract(contractId);
}
@ApiOperation(value = "下载合同")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("/downloadContract")
public ResultBody downloadContract(@ApiParam(value = "合同编号") @RequestParam(value = "contractId") String contractId) {
return contractService.downloadContract(contractId);
}
@ApiOperation(value = "手动签署")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("/stamp")
public ResultBody stamp(@ApiParam(value = "合同编号") @RequestParam(value = "contractId") String contractId,
@ApiParam(value = "小程序页面跳转地址") @RequestParam(value = "pages", required = false) String pages,
HttpServletRequest request, @ApiParam(value = "端口:0小程序 1后台") @RequestParam(value = "port") Integer port) {
return contractService.stamp(contractId, this.getUserLoginInfoFromRedis(request), pages, port);
}
//
// @ApiOperation(value = "异步处理手动签署信息")
// @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
// @PostMapping("notifyStamp")
// @ApiIgnore
// public ResultBody notifyStamp(@RequestParam Map<String, String> map) {
// return uavContractManageService.notifyStamp(map);
// }
//
// @ApiOperation(value = "合同签署信息-条件查询")
// @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
// @PostMapping("selectList")
// public ResultBody<List<UavContractInfoDTO>> selectList(@RequestBody UavContractInfoQO qo) {
// return uavContractManageService.selectList(qo);
// }*
//
// @ApiOperation(value = "归档")
// @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
// @GetMapping("/file")
// public ResultBody file(@RequestParam(value = "contractId") String contractId, HttpServletRequest request) {
// return uavContractManageService.file(contractId, this.getCurrentAccount(request).getId());
// }
//
// @ApiOperation(value = "通过无人机城订单id批量查询合同信息")
// @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
// @ApiIgnore
// @PostMapping("feignListUAVContractByOIds")
// public List<UavContractInfoDTO> feignListUAVContractByOIds(@RequestBody List<Long> orderIds) {
// return uavContractManageService.feignListUAVContractByOIds(orderIds);
// }
//
// @ApiOperation(value = "通过无人机城订单id单个合同信息")
// @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
// @ApiIgnore
// @GetMapping("feignGetUAVContractByOId")
// public UavContractInfoDTO feignGetUAVContractByOId(@RequestParam Long orderId) {
// return uavContractManageService.feignGetUAVContractByOId(orderId);
// }
//
// @ApiOperation(value = "根据orderId删除合同信息")
// @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
// @ApiIgnore
// @GetMapping("feignRemoveContractByOrderId")
// public ResultBody feignRemoveContractByOrderId(@RequestParam Long orderId) {
// return uavContractManageService.feignRemoveContractByOrderId(orderId);
// }
//
}
...@@ -5,6 +5,7 @@ import com.mmc.iuav.user.controller.BaseController; ...@@ -5,6 +5,7 @@ import com.mmc.iuav.user.controller.BaseController;
import com.mmc.iuav.user.entity.wallet.UserBillingDetailVO; import com.mmc.iuav.user.entity.wallet.UserBillingDetailVO;
import com.mmc.iuav.user.model.dto.wallet.PayWalletDTO; import com.mmc.iuav.user.model.dto.wallet.PayWalletDTO;
import com.mmc.iuav.user.model.qo.wallet.WalletFlowQO; import com.mmc.iuav.user.model.qo.wallet.WalletFlowQO;
import com.mmc.iuav.user.model.vo.wallet.PayUavWalletVO;
import com.mmc.iuav.user.model.vo.wallet.TopUpOrderVO; import com.mmc.iuav.user.model.vo.wallet.TopUpOrderVO;
import com.mmc.iuav.user.model.vo.wallet.WalletFlowVO; import com.mmc.iuav.user.model.vo.wallet.WalletFlowVO;
import com.mmc.iuav.user.service.wallet.PayWalletService; import com.mmc.iuav.user.service.wallet.PayWalletService;
...@@ -77,4 +78,11 @@ public class PayWalletController extends BaseController { ...@@ -77,4 +78,11 @@ public class PayWalletController extends BaseController {
@ApiParam(value = "详情类型", required = true) @RequestParam String detailType) { @ApiParam(value = "详情类型", required = true) @RequestParam String detailType) {
return payWalletService.billingDetails(id, detailType); return payWalletService.billingDetails(id, detailType);
} }
@ApiOperation(value = "商城订单钱包流水加扣记录")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("feignPayUavWallet")
public ResultBody payUavWallet(@RequestBody PayUavWalletVO payUavWalletVO) {
return payWalletService.payUavWallet(payUavWalletVO);
}
} }
package com.mmc.iuav.user.dao.fdd;
import com.mmc.iuav.user.entity.fdd.ContractInfoDO;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author LW
* @date 2022/9/5 14:47
* 概要:
*/
@Mapper
public interface ContractDao {
/**
* 新增无人机城合同信息
*
* @param uavContractInfoDO
*/
void insertUavContractInfo(ContractInfoDO uavContractInfoDO);
ContractInfoDO contractInfoByOrderNo(String orderNo);
void deleteContractInfo(String orderNo);
}
package com.mmc.iuav.user.entity.fdd;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* (ContractInfoDO)实体类
*
* @author makejava
* @since 2023-09-07 10:14:08
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ContractInfoDO implements Serializable {
private static final long serialVersionUID = -42558889792167148L;
private Integer id;
/**
* 发起合同方用户id
*/
private Integer userAccountId;
/**
* 订单号
*/
private String orderNo;
/**
* 合同编号
*/
private String contractNo;
/**
* 合同标题
*/
private String contractTitle;
/**
* 状态: 0、等待(买家/供应商)签署 1、(买家/供应商)签署失败 2、等待平台签署((买家/供应商)签署成功) 3、平台签署失败 4、平台签署成功、5、归档
*/
private Integer signStatus;
/**
* 签署完成日期
*/
private Date singerTime;
/**
* (买家/供应商)签署失败备注信息
*/
private String aRemark;
/**
* 平台签署失败备注信息
*/
private String bRemark;
/**
* (买家/供应商)签署交易号
*/
private String aTransactionId;
/**
* 平台签署交易号
*/
private String bTransactionId;
private Date createTime;
private Date updateTime;
/**
* 归档日期
*/
private Date archiveDate;
}
...@@ -16,7 +16,8 @@ public enum PayMethodEnums { ...@@ -16,7 +16,8 @@ public enum PayMethodEnums {
MODIFY_THE_ORDER(800, "修改订单金额状态(大于)"), MODIFY_THE_ORDER(800, "修改订单金额状态(大于)"),
FLYING_HAND_NOT_CONFIRMED_GT(900, "飞手未确认修改金额大于原订单状态"), FLYING_HAND_NOT_CONFIRMED_GT(900, "飞手未确认修改金额大于原订单状态"),
FLYING_HAND_CONFIRM_LT(1000, "飞手确认修改金额小于原订单状态"), FLYING_HAND_CONFIRM_LT(1000, "飞手确认修改金额小于原订单状态"),
USER_TOP_UP(1100, "充值"); USER_TOP_UP(1100, "充值"),
PAY_UAV_ORDER_REFUND(1400, "商城订单退款");
PayMethodEnums(Integer code, String method) { PayMethodEnums(Integer code, String method) {
this.code = code; this.code = code;
......
package com.mmc.iuav.user.service.fdd;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.fdd.vo.ContractVO;
/**
* @Author LW
* @date 2022/9/5 14:38
* 概要:
*/
public interface ContractService {
/**
* 上传合同
*
* @param param
* @param id
* @return
*/
ResultBody uploadContract(ContractVO param, Integer id);
ResultBody viewContract(String contractId);
ResultBody downloadContract(String contractId);
ResultBody stamp(String contractId, LoginSuccessDTO loginSuccessDTO, String pages, Integer port);
// /**
// * 预览合同
// * @param contractId
// * @return
// */
// ResultBody viewContract(String contractId);
//
// /**
// * 下载合同
// * @param contractId
// * @return
// */
// String downloadContract(String contractId);
//
// /**
// * 手动签署
// * @param contractId
// * @param id
// * @param unionId
// * @param pages
// * @return
// */
// ResultBody stamp(String contractId, Integer id,String unionId,String pages);
//
// /**
// * 异步回调
// * @param map
// * @return
// */
// ResultBody notifyStamp(Map<String, String> map);
//
// /**
// * 选择列表
// *
// * @param qo 问:
// * @return {@link ResultBody}<{@link List}<{@link UavContractInfoDTO}>>
// */
// ResultBody<List<UavContractInfoDTO>> selectList(UavContractInfoQO qo);
//
// /**
// * 合同归档
// * @param contractId
// * @param id
// * @return
// */
// ResultBody file(String contractId, Integer id);
//
// /**
// * 列表uavcontract oid
// *
// * @param orderIds 订单id
// * @return {@link List}<{@link UavContractInfoDTO}>
// */
// List<UavContractInfoDTO> feignListUAVContractByOIds(List<Long> orderIds);
//
// /**
// * 假装被oid uavcontract
// *
// * @param orderId 订单id
// * @return {@link UavContractInfoDTO}
// */
// UavContractInfoDTO feignGetUAVContractByOId(Long orderId);
//
// ResultBody feignRemoveContractByOrderId(Long orderId);
}
package com.mmc.iuav.user.service.fdd.impl;
import com.alibaba.fastjson.JSONObject;
import com.fadada.sdk.base.client.FddBaseClient;
import com.fadada.sdk.base.model.req.DownloadPdfParams;
import com.fadada.sdk.base.model.req.UploadDocsParams;
import com.fadada.sdk.base.model.req.ViewPdfURLParams;
import com.fadada.sdk.utils.crypt.FddEncryptTool;
import com.mmc.iuav.general.CodeUtil;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.constant.fdd.FddConnectConstant;
import com.mmc.iuav.user.constant.fdd.FddConstant;
import com.mmc.iuav.user.dao.fdd.ContractDao;
import com.mmc.iuav.user.entity.fdd.ContractInfoDO;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.fdd.vo.ContractVO;
import com.mmc.iuav.user.service.fdd.ContractService;
import com.mmc.iuav.user.util.TDateUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* @Author LW
* @date 2022/9/5 14:38
* 概要:
*/
@Service
@Slf4j
public class ContractServiceImpl implements ContractService {
@Resource
ContractDao contractDao;
/**
* 上传合同
*
* @param param
* @param id
* @return
*/
@Override
public ResultBody uploadContract(ContractVO param, Integer id) {
FddBaseClient baseClient = new FddBaseClient(FddConnectConstant.APP_ID, FddConnectConstant.APP_KEY, FddConnectConstant.VERSION, FddConnectConstant.HOST);
// 查询这个订单号之前有没有上传过合同有的话就删除
ContractInfoDO contractInfoDO = contractDao.contractInfoByOrderNo(param.getOrderNo());
if (contractInfoDO != null) {
// 把合同删除
contractDao.deleteContractInfo(param.getOrderNo());
}
//自定义合同id 合同编号设置规则:YXF + 年份 + 8位随机数
String contractId = FddConstant.YXF + TDateUtil.getCurrentYear() + CodeUtil.getRandomNum(8);
// 调用法大大接口
UploadDocsParams params = new UploadDocsParams();
// 合同编号
params.setContractId(contractId);
//合同标题
params.setDocTitle(param.getTitle());
//PDF文档和下载地址二选一
//合同公网下载地址
params.setDocUrl(param.getDocUrl());
//合同类型 目前仅支持pdf格式
params.setDocType(".pdf");
String result = baseClient.invokeUploadDocs(params);
String code = JSONObject.parseObject(result).getString(FddConstant.CODE);
String msg = JSONObject.parseObject(result).getString(FddConstant.MSG);
if (FddConstant.SUCCESS_CODE.equals(code)) {
// 保存合同信息到数据库
ContractInfoDO contractInfo = new ContractInfoDO();
contractInfo.setContractTitle(param.getTitle());
contractInfo.setOrderNo(param.getOrderNo());
contractInfo.setContractNo(contractId);
contractInfo.setUserAccountId(id);
contractDao.insertUavContractInfo(contractInfo);
return ResultBody.success(contractInfo);
} else {
return ResultBody.error(msg);
}
}
@Override
public ResultBody viewContract(String contractId) {
FddBaseClient baseClient = new FddBaseClient(FddConnectConstant.APP_ID, FddConnectConstant.APP_KEY, FddConnectConstant.VERSION, FddConnectConstant.HOST);
ViewPdfURLParams params = new ViewPdfURLParams();
//此处传入调用上传或填充合同接口成功时定义的合同编号
params.setContractId(contractId);
String result = baseClient.invokeViewPdfURL(params);
String base64 = new String(FddEncryptTool.Base64Encode(result.getBytes())).trim();
return ResultBody.success(base64);
}
@Override
public ResultBody downloadContract(String contractId) {
FddBaseClient baseClient = new FddBaseClient(FddConnectConstant.APP_ID, FddConnectConstant.APP_KEY, FddConnectConstant.VERSION, FddConnectConstant.HOST);
DownloadPdfParams params = new DownloadPdfParams();
// 合同编号
params.setContractId(contractId);
//如下,传setPath参数可以直接保存文件到本地,不传则返回url
// params.setPath(""); // 指定路径,如:D:\\pdf\\uuidNew.pdf
String result = baseClient.invokeDownloadPdf(params);
String base64 = new String(FddEncryptTool.Base64Encode(result.getBytes())).trim();
return ResultBody.success(base64);
}
@Override
public ResultBody stamp(String contractId, LoginSuccessDTO loginSuccessDTO, String pages, Integer port) {
return null;
}
}
...@@ -2,6 +2,7 @@ package com.mmc.iuav.user.service.wallet; ...@@ -2,6 +2,7 @@ package com.mmc.iuav.user.service.wallet;
import com.mmc.iuav.response.ResultBody; import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.qo.wallet.WalletFlowQO; import com.mmc.iuav.user.model.qo.wallet.WalletFlowQO;
import com.mmc.iuav.user.model.vo.wallet.PayUavWalletVO;
import com.mmc.iuav.user.model.vo.wallet.TopUpOrderVO; import com.mmc.iuav.user.model.vo.wallet.TopUpOrderVO;
import com.mmc.iuav.user.model.vo.wallet.WalletFlowVO; import com.mmc.iuav.user.model.vo.wallet.WalletFlowVO;
...@@ -22,4 +23,7 @@ public interface PayWalletService { ...@@ -22,4 +23,7 @@ public interface PayWalletService {
ResultBody customerBillingDetail(Integer userAccountId, WalletFlowQO walletFlowQO); ResultBody customerBillingDetail(Integer userAccountId, WalletFlowQO walletFlowQO);
ResultBody billingDetails(Integer id, String detailType); ResultBody billingDetails(Integer id, String detailType);
ResultBody payUavWallet(PayUavWalletVO payUavWalletVO);
} }
...@@ -15,10 +15,7 @@ import com.mmc.iuav.user.enums.PayMethodEnums; ...@@ -15,10 +15,7 @@ import com.mmc.iuav.user.enums.PayMethodEnums;
import com.mmc.iuav.user.model.dto.wallet.PayWalletDTO; import com.mmc.iuav.user.model.dto.wallet.PayWalletDTO;
import com.mmc.iuav.user.model.qo.wallet.WalletFlowQO; import com.mmc.iuav.user.model.qo.wallet.WalletFlowQO;
import com.mmc.iuav.user.model.vo.WithdrawalInfoVO; import com.mmc.iuav.user.model.vo.WithdrawalInfoVO;
import com.mmc.iuav.user.model.vo.wallet.FlyerWalletFlowVO; import com.mmc.iuav.user.model.vo.wallet.*;
import com.mmc.iuav.user.model.vo.wallet.PublisherWalletFlowVO;
import com.mmc.iuav.user.model.vo.wallet.TopUpOrderVO;
import com.mmc.iuav.user.model.vo.wallet.WalletFlowVO;
import com.mmc.iuav.user.service.wallet.PayWalletService; import com.mmc.iuav.user.service.wallet.PayWalletService;
import com.mmc.iuav.user.util.TDateUtil; import com.mmc.iuav.user.util.TDateUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -579,4 +576,59 @@ public class PayWalletServiceImpl implements PayWalletService { ...@@ -579,4 +576,59 @@ public class PayWalletServiceImpl implements PayWalletService {
return ResultBody.success(detail); return ResultBody.success(detail);
} }
} }
@Override
public ResultBody payUavWallet(PayUavWalletVO payUavWalletVO) {
// 获取用户钱包信息
PayWalletDO userWalletInfo = payWalletDao.getPayWalletByUser(payUavWalletVO.getUserAccountId());
// 获取下单金额是否大于该用户钱包金额
if (userWalletInfo.getCashAmt().compareTo(payUavWalletVO.getCashAmount()) < 0) {
return ResultBody.error("可抵扣的云享金不足");
}
if (userWalletInfo.getSalaryAmt().compareTo(payUavWalletVO.getSalaryAmount()) < 0) {
return ResultBody.error("可抵扣的佣金不足");
}
String payNo = "T" + TDateUtil.getDateStr(new Date(), TDateUtil.TYPE) + payUavWalletVO.getUserAccountId() + CodeUtil.getRandomNum(4);
// 记录流水用户钱包流水记录
PayLogDO payLogDO = new PayLogDO();
payLogDO.setUserAccountId(payUavWalletVO.getUserAccountId());
payLogDO.setPayNo(payNo);
payLogDO.setOperateUser(payUavWalletVO.getUserAccountId());
// 创建用户钱包
PayWalletDO payWalletDO = new PayWalletDO();
payWalletDO.setPid(userWalletInfo.getPid());
payWalletDO.setUserAccountId(payUavWalletVO.getUserAccountId());
// 判断当前订单状态是什么类型
if (payUavWalletVO.getOrderStatus().equals(PayMethodEnums.PUBLISH_ORDER.getCode())) {
payLogDO.setPayMethod(payUavWalletVO.getOrderStatus());
if (payUavWalletVO.getCashAmount().compareTo(BigDecimal.ZERO) > 0) {
payLogDO.setCashAmtPaid(payUavWalletVO.getCashAmount().negate());
} else {
payLogDO.setCashAmtPaid(BigDecimal.ZERO);
}
if (payUavWalletVO.getSalaryAmount().compareTo(BigDecimal.ZERO) > 0) {
payLogDO.setSalaryAmtPaid(payUavWalletVO.getSalaryAmount().negate());
} else {
payLogDO.setSalaryAmtPaid(BigDecimal.ZERO);
}
// 如果是100 扣减余额冻结金额
payWalletDO.setCashAmt(userWalletInfo.getCashAmt().subtract(payUavWalletVO.getCashAmount()));
payWalletDO.setCashFreeze(userWalletInfo.getCashAmt().add(payUavWalletVO.getCashAmount()));
payWalletDO.setSalaryAmt(userWalletInfo.getSalaryAmt().subtract(payUavWalletVO.getSalaryAmount()));
payWalletDO.setSalaryFreeze(userWalletInfo.getSalaryAmt().add(payUavWalletVO.getSalaryAmount()));
} else {
payLogDO.setPayMethod(payUavWalletVO.getOrderStatus());
payLogDO.setCashAmtPaid(payUavWalletVO.getCashAmount());
payLogDO.setSalaryAmtPaid(payUavWalletVO.getSalaryAmount());
// 如果是1400 回滚解冻金额
payWalletDO.setCashAmt(userWalletInfo.getCashAmt().add(payUavWalletVO.getCashAmount()));
payWalletDO.setCashFreeze(userWalletInfo.getCashAmt().subtract(payUavWalletVO.getCashAmount()));
payWalletDO.setSalaryAmt(userWalletInfo.getSalaryAmt().add(payUavWalletVO.getSalaryAmount()));
payWalletDO.setSalaryFreeze(userWalletInfo.getSalaryAmt().subtract(payUavWalletVO.getSalaryAmount()));
}
payWalletDao.insertPayLogDO(payLogDO);
payWalletDao.updatePayWallet(payWalletDO);
return ResultBody.success();
}
} }
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mmc.iuav.user.dao.fdd.ContractDao">
<delete id="deleteContractInfo">
delete
from contract_info
where order_no = #{orderNo}
</delete>
<select id="contractInfoByOrderNo" resultType="com.mmc.iuav.user.entity.fdd.ContractInfoDO">
select id,
user_account_id,
order_no,
contract_no,
contract_title,
sign_status,
singer_time,
a_remark,
b_remark,
a_transaction_id,
b_transaction_id,
create_time,
update_time,
archive_date
from contract_info
where order_no = #{orderNo}
</select>
</mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论