diff --git a/src/main/java/com/ccsens/delivery/bean/dto/StudentDto.java b/src/main/java/com/ccsens/delivery/bean/dto/StudentDto.java index cdce9d5..407031f 100644 --- a/src/main/java/com/ccsens/delivery/bean/dto/StudentDto.java +++ b/src/main/java/com/ccsens/delivery/bean/dto/StudentDto.java @@ -2,6 +2,9 @@ package com.ccsens.delivery.bean.dto; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.ccsens.delivery.util.DeliveryConstant; +import com.ccsens.util.SymmetricCryptoUtil; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -77,6 +80,7 @@ public class StudentDto { @Pattern(regexp="^[1]([3-9])[0-9]{9}$",message="请输入正确的手机号") @ApiModelProperty("联系电话") private String phone; + @NotEmpty(message = "请输入正确的身份证号") @ApiModelProperty("身份证号") private String idCard; @ApiModelProperty("所在学院Id") @@ -157,10 +161,35 @@ public class StudentDto { private int pageSize = 10; public Long getEndTime() { + Long t = endTime; if(ObjectUtil.isNotNull(endTime)){ - endTime = DateUtil.endOfDay(new Date(endTime)).getTime(); + t = DateUtil.endOfDay(new Date(endTime)).getTime(); } - return endTime; + return t; + } + + public String getStuNum() { + String s = stuNum; + if(StrUtil.isNotBlank(stuNum)){ + s = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY,stuNum); + } + return s; + } + + public String getPhone() { + String s = phone; + if(StrUtil.isNotBlank(phone)){ + s = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY,phone); + } + return s; + } + + public String getIdCard() { + String s = idCard; + if(StrUtil.isNotBlank(idCard)){ + s = SymmetricCryptoUtil.encrypt(DeliveryConstant.ENCRYPT_KEY,idCard); + } + return s; } } } diff --git a/src/main/java/com/ccsens/delivery/bean/vo/StudentVo.java b/src/main/java/com/ccsens/delivery/bean/vo/StudentVo.java index 97a1cf0..a54d4d3 100644 --- a/src/main/java/com/ccsens/delivery/bean/vo/StudentVo.java +++ b/src/main/java/com/ccsens/delivery/bean/vo/StudentVo.java @@ -57,33 +57,36 @@ public class StudentVo { private List orderItemList; public String getStuNum() { + String s = stuNum; if(StrUtil.isNotBlank(stuNum)){ String decode = SymmetricCryptoUtil.decode(DeliveryConstant.ENCRYPT_KEY, stuNum); if(StrUtil.isNotBlank(decode)){ - stuNum = decode; + s = decode; } } - return stuNum; + return s; } public String getPhone() { + String s = phone; if(StrUtil.isNotBlank(phone)){ String decode = SymmetricCryptoUtil.decode(DeliveryConstant.ENCRYPT_KEY, phone); if(StrUtil.isNotBlank(decode)){ - phone = decode; + s = decode; } } - return phone; + return s; } public String getIdCard() { + String s = idCard; if(StrUtil.isNotBlank(idCard)){ String decode = SymmetricCryptoUtil.decode(DeliveryConstant.ENCRYPT_KEY, idCard); if(StrUtil.isNotBlank(decode)){ - idCard = decode; + s = decode; } } - return idCard; + return s; } } diff --git a/src/main/java/com/ccsens/delivery/service/StudentService.java b/src/main/java/com/ccsens/delivery/service/StudentService.java index e15fa6e..3864e06 100644 --- a/src/main/java/com/ccsens/delivery/service/StudentService.java +++ b/src/main/java/com/ccsens/delivery/service/StudentService.java @@ -4,7 +4,9 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.IdcardUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.ccsens.delivery.bean.dto.StudentDto; import com.ccsens.delivery.bean.po.StuOrder; @@ -89,8 +91,10 @@ public class StudentService implements IStudentService { @Override public void submitOrder(Long userId, StudentDto.SubmitOrder param) { - //TODO 验证学号 身份证 - + //身份证 + if(StrUtil.isBlank(param.getIdCard()) || !IdcardUtil.isValidCard(param.getIdCard())){ + throw new BaseException(DeliveryCodeError.ID_CARD_ERROR); + } //获取对象的MD5值 String paramMd5 = Md5Util.stringTo(JSONObject.toJSONString(param)); synchronized (this){ diff --git a/src/main/java/com/ccsens/delivery/util/DeliveryCodeError.java b/src/main/java/com/ccsens/delivery/util/DeliveryCodeError.java index 77c1eec..6a8805e 100644 --- a/src/main/java/com/ccsens/delivery/util/DeliveryCodeError.java +++ b/src/main/java/com/ccsens/delivery/util/DeliveryCodeError.java @@ -19,5 +19,7 @@ public class DeliveryCodeError extends CodeError { public static final Code NOT_ORDER = new Code(508,"订单不存在",true); public static final Code NOT_ORDER_POWER = new Code(508,"该订单无法操作",true); public static final Code REPEAT_SUBMIT = new Code(509,"请勿重复提交订单",true); + public static final Code ID_CARD_ERROR = new Code(509,"请输入正确的身份证号",true); + } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index d7b5c1e..0ee65bb 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: prod + active: test include: common diff --git a/src/main/resources/mapper_dao/StudentDao.xml b/src/main/resources/mapper_dao/StudentDao.xml index b8ae06f..bac9a1e 100644 --- a/src/main/resources/mapper_dao/StudentDao.xml +++ b/src/main/resources/mapper_dao/StudentDao.xml @@ -194,13 +194,13 @@ and o.name like CONCAT('%',#{param.name},'%') - and o.stu_num like CONCAT('%',#{param.stuNum},'%') + and o.stu_num = #{param.stuNum} - and o.phone like CONCAT('%',#{param.phone},'%') + and o.phone = #{param.phone} - and o.id_card like CONCAT('%',#{param.idCard},'%') + and o.id_card = #{param.idCard} and o.college_id = #{param.collegeId}