This commit is contained in:
牛叉闪闪 2024-08-29 16:51:15 +08:00
parent 40b8198c7e
commit adb1c28bb8
4 changed files with 22 additions and 15 deletions

View File

@ -98,8 +98,9 @@ public class MemberController {
@RequestHeader("loginName") String loginName, @RequestHeader("loginName") String loginName,
@RequestHeader("clientType") String clientType, @RequestHeader("clientType") String clientType,
@RequestParam("flowId") String flowId, @RequestParam("flowId") String flowId,
@RequestParam("remark") String remark @RequestParam("remark") String remark,
@RequestParam("amount") String amount
){ ){
return memberService.returnAccount(flowId,remark); return memberService.returnAccount(flowId,remark,amount);
} }
} }

View File

@ -724,8 +724,8 @@ public class MemberService {
} }
public Result returnAccount(String flowId, String remark) { public Result returnAccount(String flowId, String remark,String amount) {
if (ObjectUtil.isEmpty(flowId) || ObjectUtil.isNull(flowId)) { if (ObjectUtil.isEmpty(flowId) || ObjectUtil.isNull(flowId)||ObjectUtil.isNull(amount)||ObjectUtil.isEmpty(amount)) {
return Result.fail(CodeEnum.PARAM); return Result.fail(CodeEnum.PARAM);
} }
TbShopUserFlow flow = tbShopUserFlowMapper.selectByPrimaryKey(Integer.valueOf(flowId)); TbShopUserFlow flow = tbShopUserFlowMapper.selectByPrimaryKey(Integer.valueOf(flowId));
@ -737,6 +737,11 @@ public class MemberService {
return Result.fail(CodeEnum.ORDERRETURN); return Result.fail(CodeEnum.ORDERRETURN);
} }
if(N.gt(new BigDecimal(amount),flow.getAmount())){
return Result.fail(CodeEnum.INPURAMOUNTERROR);
}
TbShopUser user = tbShopUserMapper.selectByPrimaryKey(flow.getShopUserId()); TbShopUser user = tbShopUserMapper.selectByPrimaryKey(flow.getShopUserId());
@ -744,15 +749,8 @@ public class MemberService {
return Result.fail(CodeEnum.ACCOUNTEIXST); return Result.fail(CodeEnum.ACCOUNTEIXST);
} }
if(N.gt(new BigDecimal(amount),user.getAmount())){
BigDecimal amount=BigDecimal.ZERO; return Result.fail(CodeEnum.ACCOUNTBALANCEERROR);
/**
*
*/
if(N.gt(flow.getAmount(),user.getAmount())){
amount=user.getAmount();
}else {
amount=flow.getAmount();
} }
@ -776,7 +774,7 @@ public class MemberService {
String no = DateUtils.getSsdfTimes(); String no = DateUtils.getSsdfTimes();
PublicResp<OrderReturnResp> publicResp = thirdPayService.returnOrder(url, thirdApply.getAppId(), no, null, flow.getRemark(), "充值退款",amount.setScale(2, RoundingMode.DOWN).multiply(new BigDecimal(100)).longValue(), callBack, null, thirdApply.getAppToken()); PublicResp<OrderReturnResp> publicResp = thirdPayService.returnOrder(url, thirdApply.getAppId(), no, null, flow.getRemark(), "充值退款",new BigDecimal(amount).setScale(2, RoundingMode.DOWN).multiply(new BigDecimal(100)).longValue(), callBack, null, thirdApply.getAppToken());
if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) { if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) {
if ("000000".equals(publicResp.getCode())) { if ("000000".equals(publicResp.getCode())) {
if (!"SUCCESS".equals(publicResp.getObjData().getState()) && !publicResp.getObjData().getState().equals("ING")) { if (!"SUCCESS".equals(publicResp.getObjData().getState()) && !publicResp.getObjData().getState().equals("ING")) {
@ -793,7 +791,7 @@ public class MemberService {
} else { } else {
return Result.fail(CodeEnum.OPARETIONERROR); return Result.fail(CodeEnum.OPARETIONERROR);
} }
user.setAmount(user.getAmount().subtract(amount)); user.setAmount(user.getAmount().subtract(new BigDecimal(amount)));
user.setUpdatedAt(System.currentTimeMillis()); user.setUpdatedAt(System.currentTimeMillis());
tbShopUserMapper.updateByPrimaryKey(user); tbShopUserMapper.updateByPrimaryKey(user);

View File

@ -805,6 +805,9 @@ public class PayService {
return Result.fail("余额不足或扣除余额失败"); return Result.fail("余额不足或扣除余额失败");
} }
TbShopUserFlow userFlow = new TbShopUserFlow(); TbShopUserFlow userFlow = new TbShopUserFlow();
userFlow.setAmount((payAmount != null && discountAmount != null) ? payAmount : orderInfo.getOrderAmount()); userFlow.setAmount((payAmount != null && discountAmount != null) ? payAmount : orderInfo.getOrderAmount());
userFlow.setBalance(shopUser.getAmount()); userFlow.setBalance(shopUser.getAmount());

View File

@ -118,6 +118,11 @@ public enum CodeEnum {
ACCOUNTAMOUNT("100043",false,"账户余额不足","fail"), ACCOUNTAMOUNT("100043",false,"账户余额不足","fail"),
INPURAMOUNTERROR("100044",false,"输入金额不允许大于订单原始金额","fail"),
ACCOUNTBALANCEERROR("100045",false,"账户余额不足","fail"),