Selaa lähdekoodia

1、反馈电话校验
2、学生cardNumber信息获取方式修改

Bingo 4 vuotta sitten
vanhempi
commit
7e331eda76

+ 37 - 47
src/main/java/com/chuanghai/smartschool/tuitionpayment/controller/PayableInfoController.java

@@ -2,8 +2,6 @@ package com.chuanghai.smartschool.tuitionpayment.controller;
 
 
 import com.alibaba.excel.EasyExcel;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.chuanghai.smartschool.tuitionpayment.anno.AdminLoginCheck;
 import com.chuanghai.smartschool.tuitionpayment.common.exception.BizCodeEnume;
@@ -25,15 +23,8 @@ import com.chuanghai.smartschool.tuitionpayment.vo.*;
 import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.MediaType;
-import org.springframework.http.ResponseEntity;
-import org.springframework.util.LinkedMultiValueMap;
-import org.springframework.util.MultiValueMap;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.client.RestTemplate;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
@@ -278,7 +269,7 @@ public class PayableInfoController {
      * 更新缴费订单的时间参数
      */
     @PutMapping("updatePayInfo")
-    public CommonResult<T> updatePayInfo(String itemName) {
+    public CommonResult<T> updatePayInfo(@RequestHeader("card_number") String cardNumber, String itemName) {
         QueryWrapper<PayableInfoEntity> wrapper = new QueryWrapper<>();
         wrapper.eq("payMent_item", itemName);
         //更新时间等参数
@@ -286,7 +277,6 @@ public class PayableInfoController {
 
         List<PayableInfoEntity> objectList = new ArrayList<>();
         infoEntityList.forEach(payableInfoEntity -> {
-            String cardNumber = getCardNumberByIdCard(payableInfoEntity.getStudentNo(), null, null, null);
             payableInfoEntity.setCardNumber(cardNumber);
             payableInfoEntity.setPayCreateTime(LocalDateTime.now());
             payableInfoEntity.setPayItemType("1");
@@ -307,42 +297,42 @@ public class PayableInfoController {
     }
 
 
-    /**
-     * 通过身份证调用活动管理平台数据库换取 微笑的cardNumber信息
-     *
-     * @param idCard
-     * @return
-     */
-    public String getCardNumberByIdCard(String idCard, String inputType, String inputStr, String outPutType) {
-        //表示输入的参数为身份证
-        inputType = inputType == null ? "1" : inputType;
-        //输入的参数
-        inputStr = idCard;
-        // 返回微校的cardNumber
-        outPutType = outPutType == null ? "2" : outPutType;
-
-        String url = "https://chtech.ncjti.edu.cn/lamp/recordApi/consume/getUserInfo";
-        MultiValueMap<String, Object> map = new LinkedMultiValueMap<>();
-        map.add("inputType", inputType);
-        map.add("inputStr", inputStr);
-        map.add("outPutType", outPutType);
-
-
-        RestTemplate restTemplate = new RestTemplate();
-        HttpHeaders headers = new HttpHeaders();
-        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
-
-        HttpEntity<MultiValueMap<String, Object>> request = new HttpEntity<>(map, headers);
-        ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, request, String.class);
-        JSONObject jsonObj = JSON.parseObject(responseEntity.getBody());
-        String cardNumber = "";
-        try {
-            cardNumber = jsonObj.get("result").toString();
-        } catch (NullPointerException e) {
-            throw new NullPointerException("未匹配到该用户!");
-        }
-        return cardNumber == null ? idCard : cardNumber;
-    }
+//    /**
+//     * 通过身份证调用活动管理平台数据库换取 微笑的cardNumber信息
+//     *
+//     * @param idCard
+//     * @return
+//     */
+//    public String getCardNumberByIdCard(String idCard, String inputType, String inputStr, String outPutType) {
+//        //表示输入的参数为身份证
+//        inputType = inputType == null ? "1" : inputType;
+//        //输入的参数
+//        inputStr = idCard;
+//        // 返回微校的cardNumber
+//        outPutType = outPutType == null ? "2" : outPutType;
+//
+//        String url = "https://chtech.ncjti.edu.cn/lamp/recordApi/consume/getUserInfo";
+//        MultiValueMap<String, Object> map = new LinkedMultiValueMap<>();
+//        map.add("inputType", inputType);
+//        map.add("inputStr", inputStr);
+//        map.add("outPutType", outPutType);
+//
+//
+//        RestTemplate restTemplate = new RestTemplate();
+//        HttpHeaders headers = new HttpHeaders();
+//        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+//
+//        HttpEntity<MultiValueMap<String, Object>> request = new HttpEntity<>(map, headers);
+//        ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, request, String.class);
+//        JSONObject jsonObj = JSON.parseObject(responseEntity.getBody());
+//        String cardNumber = "";
+//        try {
+//            cardNumber = jsonObj.get("result").toString();
+//        } catch (NullPointerException e) {
+//            throw new NullPointerException("未匹配到该用户!");
+//        }
+//        return cardNumber == null ? idCard : cardNumber;
+//    }
 
 
     /**

+ 3 - 13
src/main/java/com/chuanghai/smartschool/tuitionpayment/controller/PayableInfoWaterController.java

@@ -1,23 +1,14 @@
 package com.chuanghai.smartschool.tuitionpayment.controller;
 
-import com.alibaba.excel.EasyExcel;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.chuanghai.smartschool.tuitionpayment.anno.AdminLoginCheck;
 import com.chuanghai.smartschool.tuitionpayment.common.exception.BizCodeEnume;
 import com.chuanghai.smartschool.tuitionpayment.common.exception.RRException;
 import com.chuanghai.smartschool.tuitionpayment.common.utils.CommonResult;
-import com.chuanghai.smartschool.tuitionpayment.common.utils.PageParam;
-import com.chuanghai.smartschool.tuitionpayment.common.utils.PageUtils;
-import com.chuanghai.smartschool.tuitionpayment.entity.PayableInfoEntity;
 import com.chuanghai.smartschool.tuitionpayment.entity.PayableInfoWaterEntity;
-import com.chuanghai.smartschool.tuitionpayment.listener.aliexcel.MyStudentNoImportListener;
 import com.chuanghai.smartschool.tuitionpayment.service.PayOrderService;
 import com.chuanghai.smartschool.tuitionpayment.service.PayableInfoService;
 import com.chuanghai.smartschool.tuitionpayment.service.PayableInfoWaterService;
-import com.chuanghai.smartschool.tuitionpayment.to.DeletePayableInfoTO;
-import com.chuanghai.smartschool.tuitionpayment.vo.StudentNoVO;
 import org.apache.poi.ss.formula.functions.T;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -25,9 +16,7 @@ import org.springframework.web.multipart.MultipartFile;
 import java.io.IOException;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * @Author: bingo
@@ -73,13 +62,14 @@ public class PayableInfoWaterController {
      * 更新缴费订单的时间参数
      */
     @PutMapping("updatePayInfoWater")
-    public CommonResult<T> updatePayInfoWater() {
+    public CommonResult<T> updatePayInfoWater( @RequestHeader("card_number") String cardNumber) {
 
         //更新时间等参数
         List<PayableInfoWaterEntity> InfoEntityList = payableInfoWaterService.list();
         List<PayableInfoWaterEntity> objectList = new ArrayList<>();
         InfoEntityList.forEach(payableInfoWaterEntity -> {
-            String cardNumber = payableInfoController.getCardNumberByIdCard(payableInfoWaterEntity.getStudentNo(),null,null,null);
+           // String cardNumber = payableInfoController.getCardNumberByIdCard(payableInfoWaterEntity.getStudentNo(),null,null,null);
+
             payableInfoWaterEntity.setCardNumber(cardNumber);
             payableInfoWaterEntity.setPayCreateTime(LocalDateTime.now());
             payableInfoWaterEntity.setPayItemType("1");

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

@@ -5,18 +5,14 @@ import com.alibaba.excel.annotation.ExcelProperty;
 import com.alibaba.excel.annotation.write.style.ColumnWidth;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-
-import java.io.Serializable;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.Date;
-
-import com.chuanghai.smartschool.tuitionpayment.conver.aliexcel.CustomPayMethodConverter;
 import com.chuanghai.smartschool.tuitionpayment.conver.aliexcel.LocalDateTimeConverter;
 import com.chuanghai.smartschool.tuitionpayment.conver.aliexcel.MsgStatuConverter;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
-import net.sf.cglib.core.Local;
+
+import javax.validation.constraints.Pattern;
+import java.io.Serializable;
+import java.time.LocalDateTime;
 
 /**
  * 反馈信息表
@@ -27,79 +23,79 @@ import net.sf.cglib.core.Local;
 @Data
 @TableName("feedback_msg")
 public class FeedbackMsgEntity implements Serializable {
-	private static final long serialVersionUID = 1540570041000020629L;
+    private static final long serialVersionUID = 1540570041000020629L;
 
-	/**
-	 * id
-	 */
-	@TableId
-	@ExcelIgnore
-	private Long id;
-	/**
-	 * 反馈者身份标识 使用用户的card_number标识
-	 */
-	@ColumnWidth(30)
-	@ExcelProperty("身份证号")
-	private String feedbackPersonIdentify;
-	/**
-	 * 反馈者姓名
-	 */
-	@ColumnWidth(15)
-	@ExcelProperty("姓名")
-	private String feedbackPersonName;
-	/**
-	 * 反馈者电话
-	 */
-	@ExcelIgnore
-	private String feedbackPersonPhone;
-	/**
-	 * 反馈类别
-	 */
+    /**
+     * id
+     */
+    @TableId
+    @ExcelIgnore
+    private Long id;
+    /**
+     * 反馈者身份标识 使用用户的card_number标识
+     */
+    @ColumnWidth(30)
+    @ExcelProperty("身份证号")
+    private String feedbackPersonIdentify;
+    /**
+     * 反馈者姓名
+     */
+    @ColumnWidth(15)
+    @ExcelProperty("姓名")
+    private String feedbackPersonName;
+    /**
+     * 反馈者电话
+     */
+    @ExcelIgnore
+    private String feedbackPersonPhone;
+    /**
+     * 反馈类别
+     */
 //	@ColumnWidth(15)
 //	@ExcelProperty("反馈类别")
 //	private String feedbackType;
-	/**
-	 * 反馈问题
-	 */
-	@ColumnWidth(35)
-	@ExcelProperty("反馈问题")
-	private String feedbackInfo;
-	/**
-	 * 反馈状态 1未处理、2已处理
-	 */
-	@ColumnWidth(10)
-	@ExcelProperty(value = "反馈状态", converter= MsgStatuConverter.class)
-	private String statu;
+    /**
+     * 反馈问题
+     */
+    @ColumnWidth(35)
+    @ExcelProperty("反馈问题")
+    private String feedbackInfo;
+    /**
+     * 反馈状态 1未处理、2已处理
+     */
+    @ColumnWidth(10)
+    @ExcelProperty(value = "反馈状态", converter= MsgStatuConverter.class)
+    private String statu;
 
-	/**
-	 * 反馈项目类别
-	 */
-	@ColumnWidth(15)
-	@ExcelProperty("反馈类别")
-	private String feedbackItemName;
+    /**
+     * 反馈项目类别
+     */
+    @ColumnWidth(15)
+    @ExcelProperty("反馈类别")
+    private String feedbackItemName;
 
-	/**
-	 * 反馈处理内容
-	 */
-	@ColumnWidth(35)
-	@ExcelProperty("反馈处理内容")
-	private String feedbackDispose;
+    /**
+     * 反馈处理内容
+     */
+    @ColumnWidth(35)
+    @ExcelProperty("反馈处理内容")
+    private String feedbackDispose;
 
-	/**
-	 * 反馈发布时间
-	 */
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@ColumnWidth(35)
-	@ExcelProperty(value = "反馈发布时间", converter = LocalDateTimeConverter.class)
-	private LocalDateTime publishTime;
+    /**
+     * 反馈发布时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ColumnWidth(35)
+    @ExcelProperty(value = "反馈发布时间", converter = LocalDateTimeConverter.class)
+    private LocalDateTime publishTime;
 
-	/**
-	 * 反馈处理时间
-	 */
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@ColumnWidth(35)
-	@ExcelProperty(value = "反馈处理时间", converter = LocalDateTimeConverter.class)
-	private LocalDateTime handleTime;
+    /**
+     * 反馈处理时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ColumnWidth(35)
+    @ExcelProperty(value = "反馈处理时间", converter = LocalDateTimeConverter.class)
+    private LocalDateTime handleTime;
 
 
 }

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

@@ -308,6 +308,7 @@ public class PayServiceImpl implements PayService {
         // "status":"1","timestamp":"1629255539", "amount": ""}
         boolean isHandleSuccess = false;
         System.out.println("w验签--------------------------verifySign-----------------" + verifySign);
+        log.info("农商验签 ",verifySign.toString());
         if (verifySign) {
             String orderNo = params.get("out_no");
             String status = params.get("status");

+ 2 - 3
src/main/java/com/chuanghai/smartschool/tuitionpayment/to/FeedbackMsgCreateTO.java

@@ -1,10 +1,9 @@
 package com.chuanghai.smartschool.tuitionpayment.to;
 
-import lombok.Builder;
 import lombok.Data;
-import org.assertj.core.internal.bytebuddy.implementation.bind.annotation.Default;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Pattern;
 import javax.validation.constraints.Size;
 
 /**
@@ -24,7 +23,7 @@ public class FeedbackMsgCreateTO {
     /**
      * 反馈者电话
      */
-    @NotBlank(message = "反馈者电话不能为空")
+    @Pattern(regexp ="/^(13[0-9]{9}$|14[0-9]{9}|15[0-9]{9}$|18[0-9]{9})$|(^(0\\d{10})|^(0\\d{2}-\\d{8}))$/\n" ,message = "反馈者 电话格式错误")
     private String feedbackPersonPhone;
     /**
      * 反馈类别