张延森 3 years ago
parent
commit
b0f0e96a4a

+ 41
- 6
src/main/java/com/njyunzhi/pet_identity/controller/TaApplicationController.java View File

@@ -88,7 +88,7 @@ public class TaApplicationController extends BaseController {
88 88
                                           @ApiParam("犬主") @RequestParam(value ="personName", required = false) String personName,
89 89
                                           @ApiParam("手机号") @RequestParam(value ="phone", required = false) String phone,
90 90
                                           @ApiParam("犬名") @RequestParam(value ="petName", required = false) String petName,
91
-                                          @ApiParam("卡号") @RequestParam(value ="originCardNo", required = false) String originCardNo,
91
+                                          @ApiParam("卡号") @RequestParam(value ="cardNo", required = false) String cardNo,
92 92
                                           @ApiParam("是否企业") @RequestParam(value ="isOrg", required = false) Boolean isOrg,
93 93
                                           @ApiParam("企业名称") @RequestParam(value ="orgName", required = false) String orgName,
94 94
                                           @ApiParam("状态") @RequestParam(value ="status", required = false) Integer status) throws Exception{
@@ -112,7 +112,7 @@ public class TaApplicationController extends BaseController {
112 112
         params.setPersonName(personName);
113 113
         params.setPhone(phone);
114 114
         params.setPetName(petName);
115
-        params.setOriginCardNo(originCardNo);
115
+        params.setCardNo(cardNo);
116 116
         params.setIsOrg(isOrg);
117 117
         params.setOrgName(orgName);
118 118
         params.setStatus(status);
@@ -212,6 +212,12 @@ public class TaApplicationController extends BaseController {
212 212
             return ResponseBean.error("请先完善个人信息");
213 213
         }
214 214
 
215
+        // 如果有提交记录
216
+        List<TaApplication> applicationList = iTaApplicationService.getNormalApplication(taApplication.getPetId());
217
+        if (null != applicationList && applicationList.size() > 0) {
218
+            return ResponseBean.error("当前狗狗已有申请在处理");
219
+        }
220
+
215 221
         taApplication.setPersonId(taPerson.getPersonId());
216 222
         taApplication.setPersonName(taPerson.getNickName());
217 223
         taApplication.setPhone(taPerson.getPhone());
@@ -231,6 +237,17 @@ public class TaApplicationController extends BaseController {
231 237
                 return ResponseBean.error("未找到原始证件信息");
232 238
             }
233 239
 
240
+            // 原始申请记录
241
+            TaApplication origin = iTaApplicationService.getLastApplication(taApplication.getPetId());
242
+            if (null == origin) {
243
+                return ResponseBean.error("系统未找到上次申请记录");
244
+            }
245
+            taApplication.setOriginApplyId(origin.getApplyId());
246
+
247
+            if (!taApplication.getOriginCardNo().equals(origin.getCardNo())) {
248
+                return ResponseBean.error("原始证件信息校验异常");
249
+            }
250
+
234 251
             // 续期不需要缴费, 直接状态位待审核
235 252
             taApplication.setStatus(Constants.WORKFLOW_STATUS_PROCESSING);
236 253
         } else if (Constants.APPLY_TYPE_REISSUE.equals(taApplication.getApplyType())) {
@@ -243,6 +260,17 @@ public class TaApplicationController extends BaseController {
243 260
                 return ResponseBean.error("未找到原始证件信息");
244 261
             }
245 262
 
263
+            // 原始申请记录
264
+            TaApplication origin = iTaApplicationService.getLastApplication(taApplication.getPetId());
265
+            if (null == origin) {
266
+                return ResponseBean.error("系统未找到上次申请记录");
267
+            }
268
+            taApplication.setOriginApplyId(origin.getApplyId());
269
+
270
+            if (!taApplication.getOriginCardNo().equals(origin.getOriginCardNo())) {
271
+                return ResponseBean.error("原始证件信息校验异常");
272
+            }
273
+
246 274
             // 直接将原卡置为挂失
247 275
             taPetIdentity.setStatus(Constants.CARD_STATUS_LOSS);
248 276
             if (!iTaPetIdentityService.updateById(taPetIdentity)) {
@@ -254,7 +282,6 @@ public class TaApplicationController extends BaseController {
254 282
                 // 不需要缴费
255 283
                 taApplication.setStatus(Constants.WORKFLOW_STATUS_PROCESSING);
256 284
             }
257
-
258 285
         } else {
259 286
             // 当前狗狗是否存在证件
260 287
             TaPetIdentity origin = iTaPetIdentityService.getByPet(taApplication.getPetId(), taApplication.getPersonId());
@@ -344,6 +371,9 @@ public class TaApplicationController extends BaseController {
344 371
             if (Constants.PAY_STATUS_PAID == taApplication.getPayStatus()) {
345 372
                 iTaOrderService.refundByApplication(taApplication);
346 373
             }
374
+
375
+            // 驳回, 意味着流程结束
376
+            taApplication.setProcessingDone(true);
347 377
         }
348 378
 
349 379
         taApplication.setVerifyStatus(auditParam.getVerifyStatus());
@@ -379,6 +409,10 @@ public class TaApplicationController extends BaseController {
379 409
                 taApplication.setStatus(Constants.WORKFLOW_STATUS_MADE);
380 410
                 taApplication.setMakeStatus(Constants.MAKE_STATUS_MADE);
381 411
             }
412
+
413
+            // 续期, 不需要制卡
414
+            taApplication.setCardNo(taApplication.getOriginCardNo());
415
+            taApplication.setProcessingDone(true);
382 416
         } else if (Constants.APPLY_TYPE_REISSUE.equals(taApplication.getApplyType())) {
383 417
             // 补办
384 418
 //            if (taApplication.getPayStatus() != Constants.PAY_STATUS_PAID) {
@@ -442,7 +476,7 @@ public class TaApplicationController extends BaseController {
442 476
             }
443 477
         }
444 478
 
445
-        taApplication.setOriginCardNo(makeCardParam.getCardNo());
479
+        taApplication.setCardNo(makeCardParam.getCardNo());
446 480
         iTaApplicationService.updateById(taApplication);
447 481
         TaPetIdentity newCard = iTaPetIdentityService.createNewCard(taApplication, makeCardParam);
448 482
         return ResponseBean.success(newCard);
@@ -500,9 +534,10 @@ public class TaApplicationController extends BaseController {
500 534
         taApplication.setTrackingType(makeCardParam.getTrackingType());
501 535
         taApplication.setTrackingNo(makeCardParam.getTrackingNo());
502 536
         taApplication.setStatus(Constants.WORKFLOW_STATUS_MADE);
537
+        taApplication.setProcessingDone(true);
503 538
 
504
-        TaPetIdentity taPetIdentity = iTaPetIdentityService.getExistBy("card_no", taApplication.getOriginCardNo(), false, true);
505
-        if (!taApplication.getApplyType().equals(Constants.APPLY_TYPE_REISSUE)) {
539
+        TaPetIdentity taPetIdentity = iTaPetIdentityService.getExistBy("card_no", taApplication.getCardNo(), false, true);
540
+        if (null != taPetIdentity) {
506 541
             // 新办 续期,都需要重置有效期
507 542
             iTaPetIdentityService.updateCardDate(taPetIdentity.getCardNo());
508 543
         }

+ 4
- 2
src/main/java/com/njyunzhi/pet_identity/controller/TaPetIdentityController.java View File

@@ -57,7 +57,8 @@ public class TaPetIdentityController extends BaseController {
57 57
                                 @ApiParam("犬主") @RequestParam(value ="personName", required = false) String personName,
58 58
                                 @ApiParam("手机号") @RequestParam(value ="phone", required = false) String phone,
59 59
                                 @ApiParam("是否企业") @RequestParam(value ="isOrg", required = false) Boolean isOrg,
60
-                                @ApiParam("企业名称") @RequestParam(value ="orgName", required = false) String orgName) throws Exception{
60
+                                @ApiParam("企业名称") @RequestParam(value ="orgName", required = false) String orgName,
61
+                                @ApiParam("状态") @RequestParam(value ="status", required = false) Integer status) throws Exception{
61 62
 
62 63
         IPage<TaPetIdentity> pg = new Page<>(pageNum, pageSize);
63 64
         QueryWrapper<TaPetIdentity> queryWrapper = new QueryWrapper<>();
@@ -66,7 +67,8 @@ public class TaPetIdentityController extends BaseController {
66 67
         queryWrapper.like(!StringUtils.isEmpty(phone), "phone", "%" + phone + "%");
67 68
         queryWrapper.eq(null != isOrg, "is_org", isOrg);
68 69
         queryWrapper.like(!StringUtils.isEmpty(orgName), "org_name", "%" + orgName + "%");
69
-        queryWrapper.gt("status", Constants.STATUS_DELETE);
70
+        queryWrapper.gt(null == status, "status", Constants.STATUS_DELETE);
71
+        queryWrapper.eq(null != status, "status", status);
70 72
         queryWrapper.orderByDesc("create_date");
71 73
 
72 74
         IPage<TaPetIdentity> result = iTaPetIdentityService.page(pg, queryWrapper);

+ 9
- 0
src/main/java/com/njyunzhi/pet_identity/entity/TaApplication.java View File

@@ -42,6 +42,9 @@ public class TaApplication implements Serializable {
42 42
     /** 申请人手机;冗余 */
43 43
     @ApiModelProperty(value = "申请人手机",notes = "冗余")
44 44
     private String phone ;
45
+    /** 证件号 */
46
+    @ApiModelProperty(value = "证件号",notes = "")
47
+    private String cardNo ;
45 48
     /** 原始证件 */
46 49
     @ApiModelProperty(value = "原始证件",notes = "")
47 50
     private String originCardNo ;
@@ -145,4 +148,10 @@ public class TaApplication implements Serializable {
145 148
     private String criminalInfo ;
146 149
     @ApiModelProperty(value = "处罚信息",notes = "")
147 150
     private String penaltyInfo ;
151
+
152
+    @ApiModelProperty(value = "是否流程结束",notes = "")
153
+    private Boolean processingDone;
154
+
155
+    @ApiModelProperty(value = "上次申请记录",notes = "")
156
+    private Integer originApplyId;
148 157
 }

+ 6
- 0
src/main/java/com/njyunzhi/pet_identity/mapper/TaApplicationMapper.java View File

@@ -7,6 +7,8 @@ import com.njyunzhi.pet_identity.vo.ApplicationParams;
7 7
 import org.apache.ibatis.annotations.Mapper;
8 8
 import org.apache.ibatis.annotations.Param;
9 9
 
10
+import java.util.List;
11
+
10 12
 /**
11 13
  * <p>
12 14
  * 我的申请 Mapper 接口
@@ -19,4 +21,8 @@ import org.apache.ibatis.annotations.Param;
19 21
 public interface TaApplicationMapper extends BaseMapper<TaApplication> {
20 22
 
21 23
     IPage<TaApplication> getPageBy(IPage<TaApplication> pg, @Param("params") ApplicationParams params);
24
+
25
+    List<TaApplication> getNormalApplication(@Param("petId") String petId);
26
+
27
+    TaApplication getLastApplication(@Param("petId") String petId);
22 28
 }

+ 5
- 0
src/main/java/com/njyunzhi/pet_identity/service/ITaApplicationService.java View File

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
6 6
 import com.njyunzhi.pet_identity.vo.ApplicationParams;
7 7
 
8 8
 import java.time.LocalDateTime;
9
+import java.util.List;
9 10
 
10 11
 /**
11 12
  * <p>
@@ -22,4 +23,8 @@ public interface ITaApplicationService extends IBaseService<TaApplication> {
22 23
     Integer getTotalCharge(TaApplication taApplication);
23 24
 
24 25
     IPage<TaApplication> getPageBy(IPage<TaApplication> pg, ApplicationParams params);
26
+
27
+    List<TaApplication> getNormalApplication(String petId);
28
+
29
+    TaApplication getLastApplication(String petId);
25 30
 }

+ 17
- 0
src/main/java/com/njyunzhi/pet_identity/service/impl/TaApplicationServiceImpl.java View File

@@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
14 14
 import org.springframework.stereotype.Service;
15 15
 
16 16
 import java.time.LocalDateTime;
17
+import java.util.List;
17 18
 
18 19
 /**
19 20
  * <p>
@@ -62,4 +63,20 @@ public class TaApplicationServiceImpl extends BaseServiceImpl<TaApplicationMappe
62 63
     public IPage<TaApplication> getPageBy(IPage<TaApplication> pg, ApplicationParams params) {
63 64
         return baseMapper.getPageBy(pg, params);
64 65
     }
66
+
67
+    /**
68
+     * 获取狗子的正常申请记录
69
+     * @param personId
70
+     * @param petId
71
+     * @return
72
+     */
73
+    @Override
74
+    public List<TaApplication> getNormalApplication(String petId) {
75
+        return baseMapper.getNormalApplication(petId);
76
+    }
77
+
78
+    @Override
79
+    public TaApplication getLastApplication(String petId) {
80
+        return baseMapper.getLastApplication(petId);
81
+    }
65 82
 }

+ 1
- 1
src/main/java/com/njyunzhi/pet_identity/vo/ApplicationParams.java View File

@@ -51,7 +51,7 @@ public class ApplicationParams {
51 51
     String petName;
52 52
 
53 53
     @ApiModelProperty("卡号")
54
-    String originCardNo;
54
+    String cardNo;
55 55
 
56 56
     @ApiModelProperty("是否企业")
57 57
     Boolean isOrg;

+ 26
- 4
src/main/resources/mapper/TaApplicationMapper.xml View File

@@ -39,8 +39,8 @@
39 39
         <if test="null != params.petName and '' != params.petName">
40 40
             AND t.pet_name LIKE CONCAT( '%', #{params.petName}, '%' )
41 41
         </if>
42
-        <if test="null != params.originCardNo and '' != params.originCardNo">
43
-            AND t.origin_card_no LIKE CONCAT( '%', #{params.originCardNo}, '%' )
42
+        <if test="null != params.cardNo and '' != params.cardNo">
43
+            AND t.card_no LIKE CONCAT( '%', #{params.cardNo}, '%' )
44 44
         </if>
45 45
         <if test="null != params.applyStart and '' != params.applyStart">
46 46
             AND t.create_date &gt;= #{params.applyStart}
@@ -63,7 +63,7 @@
63 63
         <if test="null != params.process and 1 == params.process">
64 64
             AND t.`status` IN ( 1, 2 )
65 65
             AND NOT EXISTS (
66
-                SELECT * FROM ta_pet_identity a WHERE t.origin_card_no = a.card_no AND a.`status` != 1
66
+                SELECT * FROM ta_application a WHERE t.apply_id = a.origin_apply_id
67 67
             )
68 68
         </if>
69 69
         <if test="null != params.process and 2 == params.process">
@@ -71,11 +71,33 @@
71 71
             AND t.verify_status = 1
72 72
             AND t.apply_type IN ( 'first', 'reissue' )
73 73
             AND NOT EXISTS (
74
-                SELECT * FROM ta_pet_identity a WHERE t.origin_card_no = a.card_no AND a.`status` != 1
74
+                SELECT * FROM ta_application a WHERE t.apply_id = a.origin_apply_id
75 75
             )
76 76
         </if>
77 77
         ORDER BY
78 78
             t.`status` ASC,
79 79
             t.create_date DESC
80 80
     </select>
81
+    <select id="getNormalApplication" resultType="com.njyunzhi.pet_identity.entity.TaApplication">
82
+        SELECT
83
+            *
84
+        FROM
85
+            ta_application t
86
+        WHERE
87
+            t.pet_id = #{petId}
88
+            AND t.processing_done = 0
89
+    </select>
90
+    <select id="getLastApplication" resultType="com.njyunzhi.pet_identity.entity.TaApplication">
91
+        SELECT
92
+            *
93
+        FROM
94
+            ta_application t
95
+        WHERE
96
+            t.pet_id = #{petId}
97
+          AND t.processing_done = 1
98
+          AND t.`status` &gt; -1
99
+        HAVING 1
100
+        ORDER BY t.create_date DESC
101
+        LIMIT 1
102
+    </select>
81 103
 </mapper>