From 19fa90abbc2043b73bef3992428d912d011fc8c5 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 30 八月 2023 09:59:49 +0800
Subject: [PATCH] 合并代码

---
 user/guns-admin/src/main/java/com/supersavedriving/user/modular/api/OrderController.java |   92 ++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 80 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..10c71f4 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
@@ -7,6 +7,8 @@
 import com.supersavedriving.user.core.util.ToolUtil;
 import com.supersavedriving.user.modular.system.model.*;
 import com.supersavedriving.user.modular.system.service.*;
+import com.supersavedriving.user.modular.system.util.GaoDe.MapUtil;
+import com.supersavedriving.user.modular.system.util.GaoDe.model.District;
 import com.supersavedriving.user.modular.system.util.MallBook.model.InterfaceResponse;
 import com.supersavedriving.user.modular.system.util.MallBook.model.Receive;
 import com.supersavedriving.user.modular.system.util.MallBook.model.ReceiveUser;
@@ -18,12 +20,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 +41,8 @@
 @RestController
 @RequestMapping("")
 public class OrderController {
+
+    Logger logger = LoggerFactory.getLogger(OrderController.class);
 
     @Autowired
     private IOrderService orderService;
@@ -55,6 +63,12 @@
     private IDriverService driverService;
 
     @Autowired
+    private IBranchOfficeService branchOfficeService;
+
+    @Autowired
+    private ISystemConfigService systemConfigService;
+
+    @Autowired
     private IRechargeRecordService rechargeRecordService;
 
     @Autowired
@@ -62,6 +76,55 @@
 
     @Autowired
     private IDivisionRecordService divisionRecordService;
+
+
+
+
+
+    @ResponseBody
+    @PostMapping("/api/order/queryServerPrice")
+//    @ServiceLog(name = "获取正在进行中的订单id", url = "/api/order/queryServerOrder")
+    @ApiOperation(value = "根据定位获取恶劣天气+节假日信息", tags = {"用户端-首页"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+            @ApiImplicitParam(value = "纬度", name = "lat", required = true, dataType = "String"),
+            @ApiImplicitParam(value = "经度", name = "lon", required = true, dataType = "String"),
+    })
+    public ResponseWarpper<Integer> queryServerPrice(String lat,String lon){
+        try {
+            Integer i =0; // 0为不能接单 1为恶劣天气  2为节假日 3为恶劣+节假日
+            District geocode = MapUtil.geocode(lon, lat);
+            String districtCode = geocode.getDistrictCode();
+            List<BranchOffice> districtCode1 = branchOfficeService.selectList(new EntityWrapper<BranchOffice>().eq("districtCode", districtCode).eq("status",1));
+            if(districtCode1.size()>0){
+                BranchOffice branchOffice = districtCode1.get(0);
+                Integer id = branchOffice.getId();
+                SystemConfig systemConfig = systemConfigService.selectOne(new EntityWrapper<SystemConfig>().eq("type", 8).eq("companyId", id));
+                if(systemConfig!=null){
+                    String content = systemConfig.getContent();
+                    JSONObject jsonObject = JSONObject.parseObject(content);
+                    String num1 = jsonObject.get("num1").toString();
+                    String num9 = jsonObject.get("num3").toString();
+                    if("1".equals(num1)){
+                        i=1;
+                    }
+                    if("1".equals(num9)){
+                        i=2;
+                    }
+                    if("1".equals(num1)&&"1".equals(num9)){
+                        i=3;
+                    }
+                }
+                if(i == 0){
+                    i = 4;
+                }
+            }
+            return ResponseWarpper.success(i);
+        }catch (Exception e){
+            e.printStackTrace();
+            return new ResponseWarpper(500, e.getMessage());
+        }
+    }
 
 
 
@@ -90,6 +153,7 @@
             return new ResponseWarpper(500, e.getMessage());
         }
     }
+
 
 
 
@@ -369,9 +433,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 +474,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 +487,7 @@
                 out.flush();
                 out.close();
             }else{
-                System.err.println("转账失败:" + execute.getMsg());
+                logger.warn("转账失败:" + execute.getMsg());
                 return;
             }
         }catch (Exception e){
@@ -447,40 +511,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