Преглед на файлове

1、添加订单号条件查询
2、修改同步功能,移除微校通知功能
3、反馈订单下载新增电话导出

Bingo преди 4 години
родител
ревизия
ef0a313509

+ 2 - 2
src/main/java/com/chuanghai/smartschool/tuitionpayment/controller/PayController.java

@@ -95,8 +95,8 @@ public class PayController {
      */
     @ResponseBody
     @GetMapping("jxnxs/notify")
-    public String jxnxsNotify(HttpServletRequest request) {
-        boolean isSuccess = payService.jxnxsNotify(request);
+        public String jxnxsNotify(HttpServletRequest request) {
+            boolean isSuccess = payService.jxnxsNotify(request);
         if (isSuccess) {
             return "notify_success";
         } else {

+ 2 - 1
src/main/java/com/chuanghai/smartschool/tuitionpayment/controller/PayOrderController.java

@@ -327,9 +327,10 @@ public class PayOrderController {
     public CommonResult<PageUtils<PayOrderEntity>> queryAllOrderByParent(@RequestHeader("card_number") String cardNumber,
                                                                          PageParam pageParam,
                                                                          @RequestParam("status") String status,
+                                                                         @RequestParam("selfCardNumber") String selfCardNumber,
                                                                          String itemName, String payYear) {
 
-        PageUtils page = payOrderService.queryAllOrder(cardNumber, pageParam, status, itemName, payYear);
+        PageUtils page = payOrderService.queryAllOrder(cardNumber, pageParam, status, itemName, payYear, selfCardNumber);
         return CommonResult.ok().setResult(page);
     }
 

+ 0 - 2
src/main/java/com/chuanghai/smartschool/tuitionpayment/controller/PayableInfoWaterController.java

@@ -161,8 +161,6 @@ public class PayableInfoWaterController {
         } else {
             throw new RRException(BizCodeEnume.PARAMETER_ERROR, "该宿舍不存在" + payMonth + "缴费信息");
         }
-
-
         return CommonResult.ok().setResult(Boolean.TRUE);
     }
 }

+ 9 - 12
src/main/java/com/chuanghai/smartschool/tuitionpayment/controller/WechatController.java

@@ -487,16 +487,13 @@ public class WechatController {
                     //匹配传递的参数,匹配成功则返回相应的card_number
                     if (userInfoMap.get("name") != null) {
                         name = userInfoMap.get("name").toString();
-
                     }
                     if (userInfoMap.get("telephone") != null) {
                         telephone = userInfoMap.get("telephone").toString();
                         if (telephone.contains("(+86)")) {
                             telephone = telephone.substring(5);
                         }
-
                     }
-
                     studentNameTeleVO.setName(name);
                     studentNameTeleVO.setTelephone(telephone);
 
@@ -559,25 +556,25 @@ public class WechatController {
         if (payableInfoEntityList.size() > 0) {
             payableInfoEntityList.forEach(payableInfoEntity -> {
                 payableInfoEntity.setPayNoticeType("2");
-                cardNumberList.add(payableInfoEntity.getCardNumber());
+            //    cardNumberList.add(payableInfoEntity.getCardNumber());
                 payableInfoService.updateById(payableInfoEntity);
             });
         }
         if (payableInfoWaterEntityList.size() > 0) {
             payableInfoWaterEntityList.forEach(payableInfoEntityWater -> {
                 payableInfoEntityWater.setPayNoticeType("2");
-                cardNumberList.add(payableInfoEntityWater.getCardNumber());
+             //   cardNumberList.add(payableInfoEntityWater.getCardNumber());
                 payableInfoWaterService.updateById(payableInfoEntityWater);
             });
         }
 
-        weixiaoVO.setCardNumberList(cardNumberList);
-        weixiaoVO.setCardNumberList(cardNumberList);
-        weixiaoVO.setTitle(itemName + "缴纳通知");
-        weixiaoVO.setSender("南昌交通学院");
-        weixiaoVO.setContent("您有一笔" + itemName + "账单,请尽快缴纳");
-        JSONObject jsonObject = (JSONObject) JSONObject.toJSON(weixiaoVO);
-        return notice(jsonObject);
+//        weixiaoVO.setCardNumberList(cardNumberList);
+//        weixiaoVO.setCardNumberList(cardNumberList);
+//        weixiaoVO.setTitle(itemName + "缴纳通知");
+//        weixiaoVO.setSender("南昌交通学院");
+//        weixiaoVO.setContent("您有一笔" + itemName + "账单,请尽快缴纳");
+//        JSONObject jsonObject = (JSONObject) JSONObject.toJSON(weixiaoVO);
+        return CommonResult.ok();
     }
 
     /**

+ 2 - 2
src/main/java/com/chuanghai/smartschool/tuitionpayment/entity/FeedbackMsgEntity.java

@@ -10,7 +10,6 @@ import com.chuanghai.smartschool.tuitionpayment.conver.aliexcel.MsgStatuConverte
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
-import javax.validation.constraints.Pattern;
 import java.io.Serializable;
 import java.time.LocalDateTime;
 
@@ -46,7 +45,8 @@ public class FeedbackMsgEntity implements Serializable {
     /**
      * 反馈者电话
      */
-    @ExcelIgnore
+    @ColumnWidth(15)
+    @ExcelProperty("联系电话")
     private String feedbackPersonPhone;
     /**
      * 反馈类别

+ 1 - 1
src/main/java/com/chuanghai/smartschool/tuitionpayment/service/PayOrderService.java

@@ -63,6 +63,6 @@ public interface PayOrderService extends IService<PayOrderEntity> {
 
     Integer queryCurrentPayedRecordNum(PayOrderQueryTO queryTO);
 
-    PageUtils queryAllOrder(String cardNumber, PageParam pageParam, String status, String itemName, String payYear);
+    PageUtils queryAllOrder(String cardNumber, PageParam pageParam, String status, String itemName, String payYear, String selfCardNumber);
 }
 

+ 1 - 0
src/main/java/com/chuanghai/smartschool/tuitionpayment/service/PayService.java

@@ -17,6 +17,7 @@ public interface PayService {
 
     boolean jxnxsNotify(HttpServletRequest request);
 
+
     String jxnxsSuccess( String orderNo, String secondOrderNo);
 
     Map<String, String> queryJXNXSOrderStatus(String orderNo);

+ 48 - 23
src/main/java/com/chuanghai/smartschool/tuitionpayment/service/impl/PayOrderServiceImpl.java

@@ -84,6 +84,7 @@ public class PayOrderServiceImpl extends ServiceImpl<PayOrderDao, PayOrderEntity
         }
         wrapper.eq(StringUtils.hasText(queryTO.getBankName()), "pay_bank", queryTO.getBankName());
 
+        //  wrapper.eq(StringUtils.hasText(queryTO.getOrderNo()), "order_no", queryTO.getOrderNo());
 
         commonWrapper(wrapper, queryTO);
 
@@ -118,14 +119,23 @@ public class PayOrderServiceImpl extends ServiceImpl<PayOrderDao, PayOrderEntity
     @Override
     public PageUtils queryPage(PageParam pageParam, String cardNumber, String status) {
         QueryWrapper<PayOrderEntity> wrapper = new QueryWrapper<>();
+        //如果付款人的cardNumber 与 学生的cardNumber相等,则为本人缴费可以查询到所有的历史订单,否则只能查看到付款人的订单
+        //代缴时查看订单信息
         if (status.equals("1")) {
-            wrapper.eq("payer_identify", cardNumber)
-                    .eq("status", status);
+            wrapper.eq("status", status)
+                    .eq("payer_identify", cardNumber)
+                    .or()
+                    .eq("status", status)
+                    .eq("payer_card_number", cardNumber);
+
         } else {
-            wrapper.eq("payer_identify", cardNumber)
+            wrapper.in("status", 2, 3)
+                    .eq("payer_identify", cardNumber)
+                    .or()
                     .in("status", 2, 3)
-                    .eq("is_parent", Boolean.TRUE);
+                    .eq("payer_card_number", cardNumber);
         }
+//        }
 
 
         IPage<PayOrderEntity> page = this.page(
@@ -157,7 +167,8 @@ public class PayOrderServiceImpl extends ServiceImpl<PayOrderDao, PayOrderEntity
      * @return
      */
     @Override
-    public boolean isAlreadyPay(String studentNo, String itemName, String payYears, Integer notPaySize, String payMethod, String payDetail) {
+    public boolean isAlreadyPay(String studentNo, String itemName, String payYears, Integer notPaySize, String
+            payMethod, String payDetail) {
         QueryWrapper<PayOrderEntity> wrapper = new QueryWrapper<>();
         wrapper.eq("pay_for_identify", studentNo);
         wrapper.eq("pay_item", itemName);
@@ -384,7 +395,6 @@ public class PayOrderServiceImpl extends ServiceImpl<PayOrderDao, PayOrderEntity
             String cardNumber1 = infoEntity.getCardNumber();
             log.info("创建订单的参数【{}】", orderReceiveTO);
             log.info("通过缴费订单【{}】查询的CardNumber【{}】", payOrderReceiveVO1.getId(), cardNumber1);
-            System.out.println();
             String studentNo = payOrderReceiveVO1.getStudentNo();
             String dorm = payOrderReceiveVO1.getDorm();
             if (!StringUtils.hasText(dorm)) {
@@ -483,7 +493,7 @@ public class PayOrderServiceImpl extends ServiceImpl<PayOrderDao, PayOrderEntity
                 wrapper.eq("dorm", dorm);
                 wrapper.eq("pay_item", itemName);
                 wrapper.eq(StringUtils.hasText(payYear), "pay_year", payYear);
-             //   wrapper.in("pay_method", "1", "2");
+                //   wrapper.in("pay_method", "1", "2");
                 wrapper.orderByDesc("create_time");
                 wrapper.last("limit 1");
                 payOrderEntity = this.getOne(wrapper);
@@ -493,7 +503,7 @@ public class PayOrderServiceImpl extends ServiceImpl<PayOrderDao, PayOrderEntity
                 wrapper.eq("pay_for_identify", studentNo);
                 wrapper.eq("pay_item", itemName);
                 wrapper.eq("pay_detail", payDetial);
-            //    wrapper.in("pay_method", "1", "2");
+                //    wrapper.in("pay_method", "1", "2");
                 wrapper.eq(StringUtils.hasText(payYear), "pay_year", payYear);
                 wrapper.eq("not_pay_size", payOrderReceiveVO1.getNotPaySize());
                 wrapper.orderByDesc("create_time");
@@ -782,11 +792,13 @@ public class PayOrderServiceImpl extends ServiceImpl<PayOrderDao, PayOrderEntity
                     String orderId = map.get("ORDERID");
                     String statusCode = map.get("STATUSCODE");
                     String amount = map.get("AMOUNT"); // ORDERDATE -> 20220708091308
+                    String orderdate = map.get("ORDERDATE");
+                    log.info("建行的异步回调支付时间【{}】", orderdate);
                     if (orderNo.equals(orderId)
                             && payOrder.getNowPayAmount().setScale(2, BigDecimal.ROUND_UP).toString().equals(amount)
                             && "1".equals(statusCode)) {
                         // TODO 完成时间应该改成实际完成支付时间
-                        String orderdate = map.get("ORDERDATE");
+
                         LocalDateTime localDateTime = new MyUtil().changeTime(orderdate);
                         payOrder.setFinishTime(localDateTime);
                         payOrder.setStatus(PayStatus.ALREADY_PAY.getCode());
@@ -804,7 +816,12 @@ public class PayOrderServiceImpl extends ServiceImpl<PayOrderDao, PayOrderEntity
                         if (Math.abs(payOrder.getNowPayAmount().setScale(2, BigDecimal.ROUND_UP).subtract(realPayAmount).doubleValue()) < 0.01) {
                             payOrder.setStatus(PayStatus.ALREADY_PAY.getCode());
                             // TODO 完成时间应该改成实际完成支付时间
+//                            //如果农行订单支付时间为空,这重新赋值时间
+//                            if (payOrder.getFinishTime() == null ||!StringUtils.hasText(payOrder.getFinishTime().toString())) {
+//                                payOrder.setFinishTime(LocalDateTime.now());
+//                            }
                             payOrder.setFinishTime(LocalDateTime.now());
+
                             payableInfoController.updatePayinfoByOrder(orderNo);
                             this.updateById(payOrder);
                         }
@@ -860,7 +877,8 @@ public class PayOrderServiceImpl extends ServiceImpl<PayOrderDao, PayOrderEntity
      * @param response
      */
     @Override
-    public void exportOrderTxt(HttpServletResponse response, PayOrderQueryTO queryTO, List<String> downIDs) throws IOException {
+    public void exportOrderTxt(HttpServletResponse response, PayOrderQueryTO queryTO, List<String> downIDs) throws
+            IOException {
 
         QueryWrapper<PayOrderEntity> wrapper = new QueryWrapper<>();
 
@@ -964,7 +982,8 @@ public class PayOrderServiceImpl extends ServiceImpl<PayOrderDao, PayOrderEntity
      * @param queryTO  查询条件
      */
     @Override
-    public void downloadResult(HttpServletResponse response, PayOrderQueryTO queryTO, List<String> downIDs) throws IOException {
+    public void downloadResult(HttpServletResponse response, PayOrderQueryTO queryTO, List<String> downIDs) throws
+            IOException {
 
         QueryWrapper<PayOrderEntity> wrapper = new QueryWrapper<>();
         commonWrapper(wrapper, queryTO);
@@ -992,11 +1011,11 @@ public class PayOrderServiceImpl extends ServiceImpl<PayOrderDao, PayOrderEntity
                     PayOrderStatyTO payOrderStatyTO = new PayOrderStatyTO();
                     BeanUtils.copyProperties(order, payOrderStatyTO);
                     statyList.add(payOrderStatyTO);
-                }else if ("水费缴纳".equals(order.getPayItem())) {
+                } else if ("水费缴纳".equals(order.getPayItem())) {
                     PayOrderWaterTO payOrderWaterTO = new PayOrderWaterTO();
                     BeanUtils.copyProperties(order, payOrderWaterTO);
                     waterList.add(payOrderWaterTO);
-                }else {
+                } else {
                     CommentItemTO commentItemTO = new CommentItemTO();
                     BeanUtils.copyProperties(order, commentItemTO);
                     commentItemList.add(commentItemTO);
@@ -1014,17 +1033,17 @@ public class PayOrderServiceImpl extends ServiceImpl<PayOrderDao, PayOrderEntity
             if (queryTO.getPayStatus().equals("1")) {
                 if ("学杂费".equals(itemName)) {
                     EasyExcel.write(response.getOutputStream(), PayOrderStatyTO.class).sheet("支付失败名单").doWrite(statyList);
-                }else if ("水费缴纳".equals(itemName)) {
+                } else if ("水费缴纳".equals(itemName)) {
                     EasyExcel.write(response.getOutputStream(), PayOrderWaterTO.class).sheet("支付失败名单").doWrite(waterList);
-                }else {
+                } else {
                     EasyExcel.write(response.getOutputStream(), CommentItemTO.class).sheet("支付失败名单").doWrite(commentItemList);
                 }
             } else {
                 if ("学杂费".equals(itemName)) {
                     EasyExcel.write(response.getOutputStream(), PayOrderStatyTO.class).sheet("支付成功名单").doWrite(statyList);
-                }else if ("水费缴纳".equals(itemName)) {
+                } else if ("水费缴纳".equals(itemName)) {
                     EasyExcel.write(response.getOutputStream(), PayOrderWaterTO.class).sheet("支付成功名单").doWrite(waterList);
-                }else {
+                } else {
                     EasyExcel.write(response.getOutputStream(), CommentItemTO.class).sheet("支付成功名单").doWrite(commentItemList);
                 }
             }
@@ -1033,7 +1052,6 @@ public class PayOrderServiceImpl extends ServiceImpl<PayOrderDao, PayOrderEntity
     }
 
 
-
     @Override
     public Integer queryCurrentPayedRecordNum(PayOrderQueryTO queryTO) {
         QueryWrapper<PayOrderEntity> wrapper = new QueryWrapper<>();
@@ -1126,12 +1144,19 @@ public class PayOrderServiceImpl extends ServiceImpl<PayOrderDao, PayOrderEntity
     }
 
     public PageUtils queryAllOrder(String cardNumber, PageParam pageParam,
-                                   String status, String itemName, String payYear) {
+                                   String status, String itemName, String payYear, String selfCardNumber) {
         QueryWrapper<PayOrderEntity> wrapper = new QueryWrapper<>();
-        wrapper.eq("payer_identify", cardNumber)
-                .eq("status", status)
-                .eq(StringUtils.hasText(itemName), "pay_item", itemName)
-                .eq(StringUtils.hasText(payYear), "pay_year", payYear);
+        //cardNumber与selfCardNumber相等则为本人登录,不同则为代缴
+        //本人可以查看到全部的订单信息,代缴则只能查看到与代缴人相关的订单信息
+        wrapper.eq(StringUtils.hasText(itemName), "pay_item", itemName)
+                .eq(StringUtils.hasText(payYear), "pay_year", payYear)
+                .eq("status", status);
+        if (cardNumber.equals(selfCardNumber)) {
+            wrapper.eq("payer_identify", cardNumber);
+        } else {
+            wrapper.eq("payer_card_number", selfCardNumber);
+        }
+
         wrapper.orderByDesc("create_time").orderByDesc("finish_time");
 
 

+ 73 - 5
src/main/java/com/chuanghai/smartschool/tuitionpayment/service/impl/PayServiceImpl.java

@@ -18,6 +18,7 @@ import com.chuanghai.smartschool.tuitionpayment.service.PayService;
 import com.chuanghai.smartschool.tuitionpayment.utils.CCBRSASig;
 import com.chuanghai.smartschool.tuitionpayment.utils.JXNXSPayUtil;
 import com.chuanghai.smartschool.tuitionpayment.utils.MySignatureUtil;
+import com.chuanghai.smartschool.tuitionpayment.utils.MyUtil;
 import com.chuanghai.smartschool.tuitionpayment.vo.WechatJsApiPayParamVO;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.core.type.TypeReference;
@@ -31,6 +32,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
+import org.springframework.util.StringUtils;
 import org.springframework.web.client.RestTemplate;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -85,7 +87,7 @@ public class PayServiceImpl implements PayService {
         // 查询订单
         PayOrderEntity payOrder = payOrderService.getByOrderNo(orderNo);
         secondOrderNo = secondOrderNo.equals("") == true ? "1" : secondOrderNo;
-        log.info("建行第二次支付使用的订单号-----【{}】,建行第二次支付使用的订单号 ----secondOrderNo【{}】",orderNo, secondOrderNo);
+        log.info("建行第二次支付使用的订单号-----【{}】,建行第二次支付使用的订单号 ----secondOrderNo【{}】", orderNo, secondOrderNo);
         if (!PayMethod.CCB_PAY.getCode().equals(payOrder.getPayMethod())) {
             throw new RRException(BizCodeEnume.NOT_CCB_PAY_ORDER);
         }
@@ -220,8 +222,9 @@ public class PayServiceImpl implements PayService {
                     BeanUtils.copyProperties(oneByDeleteOrder, payOrderEntity);
                     payOrderService.save(payOrderEntity);
                 }
-                updateOrderStatus(orderNo, payment);
+                //更新实际支付时间
                 payOrderService.queryOrderStatus(orderNo);
+                updateOrderStatus(orderNo, payment);
                 PayOrderEntity byOrderNo = payOrderService.getByOrderNo(orderNo);
                 //判断本订单的状态是否成功,成功就修改缴费订单的状态值
                 if (byOrderNo != null && byOrderNo.getStatus().equals("2")) {
@@ -353,12 +356,39 @@ public class PayServiceImpl implements PayService {
             String orderNo = params.get("out_no");
             String status = params.get("status");
             String amount = params.get("amount"); // 分
+            String payTime = params.get("pay_time");
             if ("1".equals(status)) {
-                isHandleSuccess = true;
+                //查询pay_order表中的订单,如果异常删除则在订单删除表pay_order_delete中查询该订单
+                PayOrderEntity order = payOrderService.getByOrderNoDelete(orderNo);
+                if (order == null) {
+                    PayOrderEntity payOrderEntity = new PayOrderEntity();
+                    wechatController.sendOrderDeleteException(orderNo);
+                    QueryWrapper<PayOrderDeleteEntity> payOrderDelateWapper = new QueryWrapper<>();
+                    payOrderDelateWapper.eq("order_no", orderNo);
+                    PayOrderDeleteEntity oneByDeleteOrder = payOrderDeleteService.getOne(payOrderDelateWapper);
+                    BeanUtils.copyProperties(oneByDeleteOrder, payOrderEntity);
+                    payOrderService.save(payOrderEntity);
+                }
                 String realPayAmount = new BigDecimal(amount).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_UP).toString(); // 分转成元
                 updateOrderStatus(orderNo, realPayAmount);
                 payOrderService.queryOrderStatus(orderNo);
                 PayOrderEntity byOrderNo = payOrderService.getByOrderNo(orderNo);
+                if (byOrderNo != null) {
+                    //将农商行订单支付成功回调时间赋值给订单支付完成时间
+                    if (StringUtils.hasText(payTime)) {
+                        LocalDateTime localDateTime = new MyUtil().changeTime(payTime);
+                        log.info("农商银行异步回调支付时间【{}】",localDateTime);
+                        byOrderNo.setFinishTime(localDateTime);
+                        byOrderNo.setStatus("2");
+                        payOrderService.updateById(byOrderNo);
+                    }
+                }
+
+                isHandleSuccess = true;
+
+
+
+
                 //判断本订单的状态是否成功,成功就修改缴费订单的状态值
                 if (byOrderNo != null && byOrderNo.getStatus().equals("2")) {
                     payableInfoController.updatePayinfoByOrder(orderNo);
@@ -375,6 +405,40 @@ public class PayServiceImpl implements PayService {
         return isHandleSuccess;
     }
 
+
+//    /**
+//     * 【农商行】支付结果通知
+//     *
+//     * @param
+//     * @return
+//     */
+//    @Override
+//    public boolean jxnxsNotify(String orderNo) {
+//
+//
+//        //查询pay_order表中的订单,如果异常删除则在订单删除表pay_order_delete中查询该订单
+//        PayOrderEntity order = payOrderService.getByOrderNoDelete(orderNo);
+//        if (order == null) {
+//            PayOrderEntity payOrderEntity = new PayOrderEntity();
+//            wechatController.sendOrderDeleteException(orderNo);
+//            QueryWrapper<PayOrderDeleteEntity> payOrderDelateWapper = new QueryWrapper<>();
+//            payOrderDelateWapper.eq("order_no", orderNo);
+//            PayOrderDeleteEntity oneByDeleteOrder = payOrderDeleteService.getOne(payOrderDelateWapper);
+//            BeanUtils.copyProperties(oneByDeleteOrder, payOrderEntity);
+//            payOrderService.save(payOrderEntity);
+//        }
+//        payOrderService.queryOrderStatus(orderNo);
+//        PayOrderEntity byOrderNo = payOrderService.getByOrderNo(orderNo);
+//        //判断本订单的状态是否成功,成功就修改缴费订单的状态值
+//        if (byOrderNo != null && byOrderNo.getStatus().equals("2")) {
+//            payableInfoController.updatePayinfoByOrder(orderNo);
+//        }
+//
+//
+//        return Boolean.TRUE;
+//    }
+
+
     /**
      * 【农商行】支付成功跳转
      *
@@ -383,7 +447,7 @@ public class PayServiceImpl implements PayService {
      */
     @Override
     public String jxnxsSuccess(String orderNo, String secondOrderNo) {
-        log.info("农商银行回调的第一笔订单编号【{}】, 第二笔订单编号【{}】",orderNo, secondOrderNo);
+        log.info("农商银行回调的第一笔订单编号【{}】, 第二笔订单编号【{}】", orderNo, secondOrderNo);
         return wechatConfig.getFontendUrl() + "/#/pages/payState/payState?orderNo=" + orderNo + "&secondOrderNo=" + secondOrderNo;
     }
 
@@ -489,9 +553,13 @@ public class PayServiceImpl implements PayService {
         PayOrderEntity payOrder = payOrderService.getByOrderNo(orderNo);
 
         if (PayStatus.NON_PAY.getCode().equals(payOrder.getStatus())) {
+            // 订单最终支付金额验证成功
             if (Math.abs(payOrder.getNowPayAmount().subtract(new BigDecimal(realPayAmount)).doubleValue()) < 0.01) {
 
-                // 订单最终支付金额验证成功
+//                //如果农行订单支付时间为空,这重新赋值时间
+//                if (payOrder.getFinishTime() == null ||!StringUtils.hasText(payOrder.getFinishTime().toString())) {
+//                    payOrder.setFinishTime(LocalDateTime.now());
+//                }
                 payOrder.setFinishTime(LocalDateTime.now());
                 payOrder.setStatus(PayStatus.ALREADY_PAY.getCode());
                 payOrderService.updateById(payOrder);

+ 1 - 0
src/main/java/com/chuanghai/smartschool/tuitionpayment/to/PayOrderQueryTO.java

@@ -60,4 +60,5 @@ public class PayOrderQueryTO {
      * 银行信息
      */
     private String bankName;
+
 }

+ 18 - 2
src/main/java/com/chuanghai/smartschool/tuitionpayment/utils/MyUtil.java

@@ -1,8 +1,8 @@
 package com.chuanghai.smartschool.tuitionpayment.utils;
 
-import java.time.LocalDate;
-import java.time.LocalDateTime;
+import java.time.*;
 import java.time.format.DateTimeFormatter;
+import java.util.Date;
 
 /**
  * @Author: codingliang
@@ -57,6 +57,22 @@ public class MyUtil {
     }
 
 
+
+       //将时间戳转换为时间
+    public LocalDateTime stampToLocalDateTime(String s)  {
+        long lt = new Long(s);
+        //将时间戳转换为时间
+        Date date = new Date(lt);
+        Instant instant = date.toInstant();
+        return LocalDateTime.ofInstant(instant, ZoneId.ofOffset("GMT", ZoneOffset.ofHours(8)));
+    }
+
+    public static void main(String[] args) {
+        LocalDateTime timeStamp = new MyUtil().stampToLocalDateTime("1661438737000");
+        LocalDateTime payTime = new MyUtil().changeTime("20220825224538");
+
+        System.out.println(timeStamp+"    "+payTime);
+    }
 }