From 031c21e5014edce49894eabb748a36847253fb2f Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期四, 20 七月 2023 23:23:06 +0800 Subject: [PATCH] 修改bug --- user/guns-admin/src/main/java/com/supersavedriving/user/modular/api/OrderController.java | 34 ++++++++++++++++++++++------------ 1 files changed, 22 insertions(+), 12 deletions(-) diff --git a/user/guns-admin/src/main/java/com/supersavedriving/user/modular/api/OrderController.java b/user/guns-admin/src/main/java/com/supersavedriving/user/modular/api/OrderController.java index 43c629a..bbc9e0c 100644 --- a/user/guns-admin/src/main/java/com/supersavedriving/user/modular/api/OrderController.java +++ b/user/guns-admin/src/main/java/com/supersavedriving/user/modular/api/OrderController.java @@ -18,12 +18,16 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; @@ -35,6 +39,8 @@ @RestController @RequestMapping("") public class OrderController { + + Logger logger = LoggerFactory.getLogger(OrderController.class); @Autowired private IOrderService orderService; @@ -369,9 +375,9 @@ if(2 == status){ Order order = orderService.selectById(orderId); AccountChangeDetail accountChangeDetail = accountChangeDetailService.selectById(parameter2); - Double m = accountChangeDetail.getOldData() - accountChangeDetail.getNewData(); + Double m = new BigDecimal(accountChangeDetail.getOldData()).subtract(new BigDecimal(accountChangeDetail.getNewData())).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); AppUser appUser1 = appUserService.selectById(order.getUserId()); - appUser1.setAccountBalance(appUser1.getAccountBalance() + m); + appUser1.setAccountBalance(new BigDecimal(appUser1.getAccountBalance()).add(new BigDecimal(m)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); appUserService.updateById(appUser1); accountChangeDetailService.deleteById(accountChangeDetail.getId()); System.err.println("支付失败"); @@ -410,7 +416,7 @@ JSONObject jsonObject = JSON.parseObject(execute.getResult()); Integer status = jsonObject.getInteger("status");//0:待处理;1:成功;2:失败 if(2 == status){ - System.err.println("转账失败"); + logger.warn("转账失败"); return; } String parameter1 = jsonObject.getString("parameter1"); @@ -423,7 +429,7 @@ out.flush(); out.close(); }else{ - System.err.println("转账失败:" + execute.getMsg()); + logger.warn("转账失败:" + execute.getMsg()); return; } }catch (Exception e){ @@ -447,40 +453,44 @@ JSONObject jsonObject = JSON.parseObject(execute.getResult()); Integer status = jsonObject.getInteger("status"); if(2 == status){ - System.err.println("异步分账回调异常"); + logger.warn("异步分账回调异常"); return; } String merOrderId = jsonObject.getString("merOrderId"); String divisionRecordId = jsonObject.getString("parameter1"); + DivisionRecord divisionRecord = divisionRecordService.selectById(divisionRecordId); + if(divisionRecord.getState() == 2){ + + } + //确认收货 new Timer().schedule(new TimerTask() { @Override public void run() { - DivisionRecord divisionRecord = divisionRecordService.selectById(divisionRecordId); Receive receive = new Receive();//确认收货 receive.setOriginalMerOrderId(merOrderId); - receive.setRcvAmount(String.valueOf(Double.valueOf(divisionRecord.getAmount() * 100).intValue())); + receive.setRcvAmount(new BigDecimal(divisionRecord.getAmount()).multiply(new BigDecimal(100)).setScale(0, RoundingMode.HALF_EVEN).longValue() + ""); List<ReceiveUser> splitList = new ArrayList<>(); ReceiveUser receiveUser = new ReceiveUser(); receiveUser.setSplitUserId(divisionRecord.getMerchantNumber()); - receiveUser.setRcvSplitAmount(String.valueOf(Double.valueOf(divisionRecord.getAmount() * 100).intValue())); + receiveUser.setRcvSplitAmount(new BigDecimal(divisionRecord.getAmount()).multiply(new BigDecimal(100)).setScale(0, RoundingMode.HALF_EVEN).longValue() + ""); splitList.add(receiveUser); receive.setSplitList(splitList); TrhRequest<Receive> request1 = new TrhRequest(); InterfaceResponse execute = request1.execute(receive, Receive.SERVICE_CODE); if(!"0000".equals(execute.getCode())){ - System.err.println("确认收货" + execute.getMsg()); + logger.warn("确认收货" + execute.getMsg()); } JSONObject jsonObject = JSON.parseObject(execute.getResult()); String status = jsonObject.getString("status"); if("2".equals(status)){ - System.err.println("确认收货失败"); + logger.warn("确认收货失败"); } if("0".equals(status)){ - System.err.println("确认收货处理中"); + logger.warn("确认收货处理中"); } } - }, 15000); + }, 60000); response.setStatus(200); PrintWriter out = response.getWriter(); out.print("OK"); -- Gitblit v1.7.1