From 5d3b3b74afd2ac4cf21697fc38367b2f88170e9f Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 24 六月 2024 23:12:17 +0800
Subject: [PATCH] 功能完善

---
 src/main/java/com/taoke/autopay/controller/client/OrderController.java |  211 ++++++++++++++++++++++++++++++++++------------------
 1 files changed, 139 insertions(+), 72 deletions(-)

diff --git a/src/main/java/com/taoke/autopay/controller/client/OrderController.java b/src/main/java/com/taoke/autopay/controller/client/OrderController.java
index c30d8c8..77140b3 100644
--- a/src/main/java/com/taoke/autopay/controller/client/OrderController.java
+++ b/src/main/java/com/taoke/autopay/controller/client/OrderController.java
@@ -18,6 +18,7 @@
 import com.taoke.autopay.utils.JsonUtil;
 import com.taoke.autopay.utils.StringUtil;
 import com.taoke.autopay.utils.TimeUtil;
+import com.taoke.autopay.utils.order.DYOrderApi;
 import com.taoke.autopay.vo.AcceptData;
 import com.taoke.autopay.vo.KeyOrderVO;
 import com.taoke.autopay.vo.OrderFilter;
@@ -42,15 +43,15 @@
 @RequestMapping("api/order")
 public class OrderController {
 
-    private Logger loggerPay= LoggerFactory.getLogger("payLogger");
+    private Logger loggerPay = LoggerFactory.getLogger("payLogger");
 
-    private Gson gson=new GsonBuilder().registerTypeAdapter(Date.class, new TypeAdapter<Date>() {
+    private Gson gson = new GsonBuilder().registerTypeAdapter(Date.class, new TypeAdapter<Date>() {
         @Override
         public void write(JsonWriter out, Date value) throws IOException {
             String desc = "";
             if (value != null) {
                 // 鍒ゆ柇鏄惁鏄悓涓�澶�
-                desc = TimeUtil.getGernalTime(value.getTime(),"yyyy-MM-dd HH:mm:ss");
+                desc = TimeUtil.getGernalTime(value.getTime(), "yyyy-MM-dd HH:mm:ss");
                 out.value(desc);
             } else
                 out.value("");
@@ -70,28 +71,28 @@
 
     @ResponseBody
     @RequestMapping("listOrder")
-    public String listOrder(AcceptData acceptData, OrderFilter filter){
-        KeyOrderMapper.DaoQuery query=new KeyOrderMapper.DaoQuery();
+    public String listOrder(AcceptData acceptData, OrderFilter filter) {
+        KeyOrderMapper.DaoQuery query = new KeyOrderMapper.DaoQuery();
         Long uid = filter.getUid();
         ClientInfo info = clientInfoService.selectByPrimaryKey(uid);
         query.distributeClientUid = filter.getUid();
-       if(info==null){
+        if (info == null) {
             return JsonUtil.loadFalseResult("瀹㈡埛绔疘D涓嶅瓨鍦�");
-       }
-       if(info.getRule()==1){
-           // 瓒呯骇绠$悊鍛�
-           query.distributeClientUid = null;
-       }
-        clientInfoService.setActiveTime(filter.getUid(),new Date());
-        query.start = (filter.getPage()-1)*filter.getPageSize();
+        }
+        if (info.getRule() == 1) {
+            // 瓒呯骇绠$悊鍛�
+            query.distributeClientUid = null;
+        }
+        clientInfoService.setActiveTime(filter.getUid(), new Date());
+        query.start = (filter.getPage() - 1) * filter.getPageSize();
         query.count = filter.getPageSize();
-        if(filter.getState()!=null) {
+        if (filter.getState() != null) {
             switch (filter.getState()) {
                 case OrderFilter.STATE_NOT_PROCESS:
                     query.stateList = Arrays.asList(new Integer[]{KeyOrder.STATE_NOT_PROCESS});
                     break;
                 case OrderFilter.STATE_PROCESSED:
-                    query.stateList = Arrays.asList(new Integer[]{KeyOrder.STATE_PAY});
+                    query.stateList = Arrays.asList(new Integer[]{KeyOrder.STATE_PAY, KeyOrder.STATE_REJECT_PAY});
                     break;
                 case OrderFilter.STATE_PROCESS_ERROR:
                     query.stateList = Arrays.asList(new Integer[]{KeyOrder.STATE_NOT_PAY});
@@ -99,65 +100,75 @@
             }
         }
 
-        if(filter.getTimeType()!=null){
+        if (filter.getTimeType() != null) {
             long now = System.currentTimeMillis();
-            String nowDay = TimeUtil.getGernalTime(now,"yyyy-MM-dd");
-            switch(filter.getTimeType()){
+            String nowDay = TimeUtil.getGernalTime(now, "yyyy-MM-dd");
+            switch (filter.getTimeType()) {
                 case OrderFilter.TIME_TYPE_TODAY:
-                    query.minCreateTime = new Date(TimeUtil.convertToTimeTemp(nowDay,"yyyy-MM-dd"));
+                    query.minCreateTime = new Date(TimeUtil.convertToTimeTemp(nowDay, "yyyy-MM-dd"));
                     break;
                 case OrderFilter.TIME_TYPE_YESTERDAY:
-                    query.maxCreateTime = new Date(TimeUtil.convertToTimeTemp(nowDay,"yyyy-MM-dd"));
-                    query.minCreateTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now - 24*60*60*1000L,"yyyy-MM-dd"),"yyyy-MM-dd"));
+                    query.maxCreateTime = new Date(TimeUtil.convertToTimeTemp(nowDay, "yyyy-MM-dd"));
+                    query.minCreateTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now - 24 * 60 * 60 * 1000L, "yyyy-MM-dd"), "yyyy-MM-dd"));
                     break;
                 case OrderFilter.TIME_TYPE_WEEK:
                     Calendar calendar = Calendar.getInstance();
                     calendar.setTime(new Date(now));
                     int day = calendar.get(Calendar.DAY_OF_WEEK);
-                    day-=1;
-                    if(day==0){
+                    day -= 1;
+                    if (day == 0) {
                         // 鏄熸湡澶�
-                        day=7;
+                        day = 7;
                     }
-                    query.minCreateTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now - 24*60*60*1000L*(day-1),"yyyy-MM-dd"),"yyyy-MM-dd"));
+                    query.minCreateTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now - 24 * 60 * 60 * 1000L * (day - 1), "yyyy-MM-dd"), "yyyy-MM-dd"));
                     break;
                 case OrderFilter.TIME_TYPE_MONTH:
-                    query.minCreateTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now,"yyyy-MM"),"yyyy-MM"));
+                    query.minCreateTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now, "yyyy-MM"), "yyyy-MM"));
                     break;
             }
 
         }
 
-        if(filter.getSort()==0) {
+        if (filter.getSort() == 0) {
             query.sortList = Arrays.asList(new String[]{"create_time asc"});
-        }else{
+        } else {
             query.sortList = Arrays.asList(new String[]{"create_time desc"});
         }
         List<KeyOrder> list = keyOrderService.list(query);
-        List<KeyOrderVO> voList=new ArrayList<>();
-        for(KeyOrder order:list){
+        List<KeyOrderVO> voList = new ArrayList<>();
+        for (KeyOrder order : list) {
             voList.add(OrderFactory.create(order));
         }
         long count = keyOrderService.count(query);
-        JSONObject data=new JSONObject();
-        data.put("count",count);
-        data.put("list",gson.toJson(voList));
+        JSONObject data = new JSONObject();
+        data.put("count", count);
+        data.put("list", gson.toJson(voList));
         return JsonUtil.loadTrueResult(data);
     }
 
+    /**
+     * @author hxh 
+     * @description 璁剧疆璁㈠崟鍙�
+     * @date 23:08 2024/6/24
+     * @param: acceptData
+     * @param: id 璁㈠崟ID
+     * @param: orderNo 璁㈠崟鍙�
+     * @param: orderStatus 璁㈠崟鐘舵�侊細璁㈠崟宸插彇娑�/宸叉敮浠�
+     * @return java.lang.String
+     **/
     @ResponseBody
     @RequestMapping("setOrderNo")
-    public String setOrderNo(AcceptData acceptData, String id,String orderNo){
-        loggerPay.info("setOrderNo: {}-{}",id,orderNo);
-        if(StringUtil.isNullOrEmpty(id)){
+    public String setOrderNo(AcceptData acceptData, String id, String orderNo, String orderStatus) {
+        loggerPay.info("setOrderNo: {}-{}-{}", id, orderNo, orderStatus);
+        if (StringUtil.isNullOrEmpty(id)) {
             return JsonUtil.loadFalseResult("璇蜂笂浼爄d");
         }
-        if(StringUtil.isNullOrEmpty(orderNo)){
+        if (StringUtil.isNullOrEmpty(orderNo)) {
             return JsonUtil.loadFalseResult("orderNo");
         }
 
         KeyOrder order = keyOrderService.selectById(id);
-        if(order==null){
+        if (order == null) {
             return JsonUtil.loadFalseResult("鍙d护涓嶅瓨鍦�");
         }
 
@@ -165,32 +176,38 @@
             if (order.getOrderNo() != null && !order.getOrderNo().equalsIgnoreCase(orderNo)) {
                 throw new KeyOrderException("宸茬粡澶勭悊杩囷紝涓庝箣鍓嶅鐞嗙殑璁㈠崟鍙蜂笉涓�鑷�");
             }
-        }catch(KeyOrderException e){
+        } catch (KeyOrderException e) {
             return JsonUtil.loadFalseResult(e.getMessage());
         }
 
         try {
-            DYOrderDto dto = new DYOrderDto(); // DYOrderApi.getOrderDetail(orderNo);
-            dto.setOrder_status(1);
-            if(dto.getOrder_status() !=DYOrderDto.ORDER_STATUS_NOT_PAY){
-                KeyOrder orderUpdate=new KeyOrder();
+            DYOrderDto dto = DYOrderApi.getOrderDetail(orderNo);
+//            dto.setOrder_status(1);
+            if (dto.getOrder_status() != DYOrderDto.ORDER_STATUS_NOT_PAY) {
+                // 璁㈠崟涓嶅浜庡皻鏈粯娆剧姸鎬�
+                KeyOrder orderUpdate = new KeyOrder();
                 orderUpdate.setId(id);
                 orderUpdate.setOrderState(dto.getOrder_status());
                 orderUpdate.setOrderType(1);
                 orderUpdate.setOrderNo(orderNo);
-                if(order.getState() == KeyOrder.STATE_NOT_PROCESS){
-                    orderUpdate.setState(KeyOrder.STATE_NOT_PAY);
-                    orderUpdate.setStateDesc("璁㈠崟涓嶅浜庡緟浠樻鐘舵��");
+                if (order.getState() == KeyOrder.STATE_NOT_PROCESS) {
+                     if (dto.getOrder_status() == DYOrderDto.ORDER_STATUS_CANCELED) {
+                        orderUpdate.setState(KeyOrder.STATE_PAY);
+                        orderUpdate.setStateDesc(dto.getOrder_status_desc());
+                    } else {
+                        orderUpdate.setState(KeyOrder.STATE_PAY);
+                        orderUpdate.setStateDesc(dto.getOrder_status_desc());
+                    }
                 }
                 keyOrderService.update(orderUpdate);
-                if(dto.getOrder_status() ==DYOrderDto.ORDER_STATUS_CANCELED){
+                if (dto.getOrder_status() == DYOrderDto.ORDER_STATUS_CANCELED) {
                     throw new Exception("璁㈠崟宸插彇娑�");
-                }else {
+                } else {
                     throw new Exception("璁㈠崟宸叉敮浠�");
                 }
             }
             // 璁剧疆杩涘叆
-            KeyOrder orderUpdate=new KeyOrder();
+            KeyOrder orderUpdate = new KeyOrder();
             orderUpdate.setId(id);
             orderUpdate.setOrderType(1);
             orderUpdate.setOrderState(dto.getOrder_status());
@@ -198,6 +215,16 @@
             keyOrderService.update(orderUpdate);
             order = keyOrderService.selectById(id);
             return JsonUtil.loadTrueResult(gson.toJson(OrderFactory.create(order)));
+        } catch (KeyOrderException e) {
+            KeyOrder orderUpdate = new KeyOrder();
+            orderUpdate.setId(id);
+            orderUpdate.setOrderType(1);
+            orderUpdate.setOrderState(0);
+            orderUpdate.setOrderNo(orderNo);
+            orderUpdate.setState(KeyOrder.STATE_REJECT_PAY);
+            orderUpdate.setStateDesc(e.getMessage());
+            keyOrderService.update(orderUpdate);
+            return JsonUtil.loadFalseResult(e.getMessage());
         } catch (Exception e) {
             e.printStackTrace();
             return JsonUtil.loadFalseResult(e.getMessage());
@@ -206,53 +233,93 @@
 
     @ResponseBody
     @RequestMapping("setPayResult")
-    public String setPayResult(AcceptData acceptData, String id,boolean paySuccess,String msg){
-        loggerPay.info("setPayResult: {}-{}",id,paySuccess);
-        if(StringUtil.isNullOrEmpty(id)){
+    public String setPayResult(AcceptData acceptData, String id, boolean paySuccess, String msg) {
+        loggerPay.info("setPayResult: {}-{}", id, paySuccess);
+        if (StringUtil.isNullOrEmpty(id)) {
             return JsonUtil.loadFalseResult("璇蜂笂浼爄d");
         }
         KeyOrder order = keyOrderService.selectById(id);
-        if(order==null){
+        if (order == null) {
             return JsonUtil.loadFalseResult("鍙d护涓嶅瓨鍦�");
         }
-        if(StringUtil.isNullOrEmpty(order.getOrderNo())){
+        if (StringUtil.isNullOrEmpty(order.getOrderNo())) {
             return JsonUtil.loadFalseResult("娌℃湁鍖归厤鍒拌鍗曞彿");
         }
 
-        if(!paySuccess){
-          // 鏀粯澶辫触
-            KeyOrder orderUpdate=new KeyOrder();
-            orderUpdate.setId(id);
-            orderUpdate.setState(KeyOrder.STATE_NOT_PAY);
-            orderUpdate.setStateDesc("鏀粯澶辫触");
-            keyOrderService.update(orderUpdate);
-        } else {
-            KeyOrder orderUpdate=new KeyOrder();
-            orderUpdate.setId(id);
-            orderUpdate.setState(KeyOrder.STATE_PAY);
-            orderUpdate.setStateDesc("鏀粯鎴愬姛");
-            keyOrderService.update(orderUpdate);
+        if(order.getState()==KeyOrder.STATE_NOT_PROCESS) {
+            if (!paySuccess) {
+                // 鏀粯澶辫触
+                KeyOrder orderUpdate = new KeyOrder();
+                orderUpdate.setId(id);
+                orderUpdate.setState(KeyOrder.STATE_NOT_PAY);
+                orderUpdate.setStateDesc("鏀粯澶辫触");
+                keyOrderService.update(orderUpdate);
+            } else {
+                KeyOrder orderUpdate = new KeyOrder();
+                orderUpdate.setId(id);
+                orderUpdate.setState(KeyOrder.STATE_PAY);
+                orderUpdate.setStateDesc("鏀粯鎴愬姛");
+                keyOrderService.update(orderUpdate);
+            }
         }
         return JsonUtil.loadTrueResult("");
     }
 
 
+    @ResponseBody
+    @RequestMapping("rejectPay")
+    public String rejectPay(AcceptData acceptData, Long uid, String id) {
+        loggerPay.info("rejectPay: {}-{}", uid, id);
+        if (StringUtil.isNullOrEmpty(id)) {
+            return JsonUtil.loadFalseResult("璇蜂笂浼爄d");
+        }
+        KeyOrder order = keyOrderService.selectById(id);
+        if (order == null) {
+            return JsonUtil.loadFalseResult("鍙d护涓嶅瓨鍦�");
+        }
+
+        if (order.getState() != KeyOrder.STATE_NOT_PROCESS) {
+            return JsonUtil.loadFalseResult("鍙兘椹冲洖鏈墽琛岀姸鎬佺殑鍙d护");
+        }
+
+        KeyOrder orderUpdate = new KeyOrder();
+        orderUpdate.setId(id);
+        orderUpdate.setState(KeyOrder.STATE_REJECT_PAY);
+        orderUpdate.setStateDesc("浜哄伐椹冲洖");
+        keyOrderService.update(orderUpdate);
+
+        return JsonUtil.loadTrueResult("");
+    }
+
 
     @ResponseBody
     @RequestMapping("deleteAll")
-    public String deleteAll(AcceptData acceptData){
+    public String deleteAll(AcceptData acceptData,Long uid) {
+
+     ClientInfo user=   clientInfoService.selectByPrimaryKey(uid);
+     if(user==null){
+         return JsonUtil.loadFalseResult("鐢ㄦ埛涓嶅瓨鍦�");
+     }
+
+     if(user.getRule() != ClientInfo.RULE_ADMIN){
+         return JsonUtil.loadFalseResult("鍙湁绠$悊鍛樻墠鑳藉垹闄�");
+     }
+
+        // 鍒犻櫎24灏忔椂涔嬪墠鐨勬暟鎹�
+//        keyOrderService.deleteAll(new Date(System.currentTimeMillis() - 24*60*60*1000L));
+        keyOrderService.deleteAll(new Date(System.currentTimeMillis()));
         // 鍒櫎鎵�鏈夋暩鎿�
         return JsonUtil.loadTrueResult("");
     }
 
 
-    public static void main(String[] args){
+    public static void main(String[] args) {
 
         Calendar calendar = Calendar.getInstance();
-        for(int i=0;i<7;i++) {
-            calendar.setTime(new Date(System.currentTimeMillis() - 24*60*60*1000L*i));
+        for (int i = 0; i < 7; i++) {
+            calendar.setTime(new Date(System.currentTimeMillis() - 24 * 60 * 60 * 1000L * i));
             int day = calendar.get(Calendar.DAY_OF_WEEK);
-            System.out.println(day-1);
+            System.out.println(day - 1);
         }
     }
 }

--
Gitblit v1.8.0