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