张延森 3 vuotta sitten
vanhempi
commit
b0f0e96a4a

+ 41
- 6
src/main/java/com/njyunzhi/pet_identity/controller/TaApplicationController.java Näytä tiedosto

88
                                           @ApiParam("犬主") @RequestParam(value ="personName", required = false) String personName,
88
                                           @ApiParam("犬主") @RequestParam(value ="personName", required = false) String personName,
89
                                           @ApiParam("手机号") @RequestParam(value ="phone", required = false) String phone,
89
                                           @ApiParam("手机号") @RequestParam(value ="phone", required = false) String phone,
90
                                           @ApiParam("犬名") @RequestParam(value ="petName", required = false) String petName,
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
                                           @ApiParam("是否企业") @RequestParam(value ="isOrg", required = false) Boolean isOrg,
92
                                           @ApiParam("是否企业") @RequestParam(value ="isOrg", required = false) Boolean isOrg,
93
                                           @ApiParam("企业名称") @RequestParam(value ="orgName", required = false) String orgName,
93
                                           @ApiParam("企业名称") @RequestParam(value ="orgName", required = false) String orgName,
94
                                           @ApiParam("状态") @RequestParam(value ="status", required = false) Integer status) throws Exception{
94
                                           @ApiParam("状态") @RequestParam(value ="status", required = false) Integer status) throws Exception{
112
         params.setPersonName(personName);
112
         params.setPersonName(personName);
113
         params.setPhone(phone);
113
         params.setPhone(phone);
114
         params.setPetName(petName);
114
         params.setPetName(petName);
115
-        params.setOriginCardNo(originCardNo);
115
+        params.setCardNo(cardNo);
116
         params.setIsOrg(isOrg);
116
         params.setIsOrg(isOrg);
117
         params.setOrgName(orgName);
117
         params.setOrgName(orgName);
118
         params.setStatus(status);
118
         params.setStatus(status);
212
             return ResponseBean.error("请先完善个人信息");
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
         taApplication.setPersonId(taPerson.getPersonId());
221
         taApplication.setPersonId(taPerson.getPersonId());
216
         taApplication.setPersonName(taPerson.getNickName());
222
         taApplication.setPersonName(taPerson.getNickName());
217
         taApplication.setPhone(taPerson.getPhone());
223
         taApplication.setPhone(taPerson.getPhone());
231
                 return ResponseBean.error("未找到原始证件信息");
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
             taApplication.setStatus(Constants.WORKFLOW_STATUS_PROCESSING);
252
             taApplication.setStatus(Constants.WORKFLOW_STATUS_PROCESSING);
236
         } else if (Constants.APPLY_TYPE_REISSUE.equals(taApplication.getApplyType())) {
253
         } else if (Constants.APPLY_TYPE_REISSUE.equals(taApplication.getApplyType())) {
243
                 return ResponseBean.error("未找到原始证件信息");
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
             taPetIdentity.setStatus(Constants.CARD_STATUS_LOSS);
275
             taPetIdentity.setStatus(Constants.CARD_STATUS_LOSS);
248
             if (!iTaPetIdentityService.updateById(taPetIdentity)) {
276
             if (!iTaPetIdentityService.updateById(taPetIdentity)) {
254
                 // 不需要缴费
282
                 // 不需要缴费
255
                 taApplication.setStatus(Constants.WORKFLOW_STATUS_PROCESSING);
283
                 taApplication.setStatus(Constants.WORKFLOW_STATUS_PROCESSING);
256
             }
284
             }
257
-
258
         } else {
285
         } else {
259
             // 当前狗狗是否存在证件
286
             // 当前狗狗是否存在证件
260
             TaPetIdentity origin = iTaPetIdentityService.getByPet(taApplication.getPetId(), taApplication.getPersonId());
287
             TaPetIdentity origin = iTaPetIdentityService.getByPet(taApplication.getPetId(), taApplication.getPersonId());
344
             if (Constants.PAY_STATUS_PAID == taApplication.getPayStatus()) {
371
             if (Constants.PAY_STATUS_PAID == taApplication.getPayStatus()) {
345
                 iTaOrderService.refundByApplication(taApplication);
372
                 iTaOrderService.refundByApplication(taApplication);
346
             }
373
             }
374
+
375
+            // 驳回, 意味着流程结束
376
+            taApplication.setProcessingDone(true);
347
         }
377
         }
348
 
378
 
349
         taApplication.setVerifyStatus(auditParam.getVerifyStatus());
379
         taApplication.setVerifyStatus(auditParam.getVerifyStatus());
379
                 taApplication.setStatus(Constants.WORKFLOW_STATUS_MADE);
409
                 taApplication.setStatus(Constants.WORKFLOW_STATUS_MADE);
380
                 taApplication.setMakeStatus(Constants.MAKE_STATUS_MADE);
410
                 taApplication.setMakeStatus(Constants.MAKE_STATUS_MADE);
381
             }
411
             }
412
+
413
+            // 续期, 不需要制卡
414
+            taApplication.setCardNo(taApplication.getOriginCardNo());
415
+            taApplication.setProcessingDone(true);
382
         } else if (Constants.APPLY_TYPE_REISSUE.equals(taApplication.getApplyType())) {
416
         } else if (Constants.APPLY_TYPE_REISSUE.equals(taApplication.getApplyType())) {
383
             // 补办
417
             // 补办
384
 //            if (taApplication.getPayStatus() != Constants.PAY_STATUS_PAID) {
418
 //            if (taApplication.getPayStatus() != Constants.PAY_STATUS_PAID) {
442
             }
476
             }
443
         }
477
         }
444
 
478
 
445
-        taApplication.setOriginCardNo(makeCardParam.getCardNo());
479
+        taApplication.setCardNo(makeCardParam.getCardNo());
446
         iTaApplicationService.updateById(taApplication);
480
         iTaApplicationService.updateById(taApplication);
447
         TaPetIdentity newCard = iTaPetIdentityService.createNewCard(taApplication, makeCardParam);
481
         TaPetIdentity newCard = iTaPetIdentityService.createNewCard(taApplication, makeCardParam);
448
         return ResponseBean.success(newCard);
482
         return ResponseBean.success(newCard);
500
         taApplication.setTrackingType(makeCardParam.getTrackingType());
534
         taApplication.setTrackingType(makeCardParam.getTrackingType());
501
         taApplication.setTrackingNo(makeCardParam.getTrackingNo());
535
         taApplication.setTrackingNo(makeCardParam.getTrackingNo());
502
         taApplication.setStatus(Constants.WORKFLOW_STATUS_MADE);
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
             iTaPetIdentityService.updateCardDate(taPetIdentity.getCardNo());
542
             iTaPetIdentityService.updateCardDate(taPetIdentity.getCardNo());
508
         }
543
         }

+ 4
- 2
src/main/java/com/njyunzhi/pet_identity/controller/TaPetIdentityController.java Näytä tiedosto

57
                                 @ApiParam("犬主") @RequestParam(value ="personName", required = false) String personName,
57
                                 @ApiParam("犬主") @RequestParam(value ="personName", required = false) String personName,
58
                                 @ApiParam("手机号") @RequestParam(value ="phone", required = false) String phone,
58
                                 @ApiParam("手机号") @RequestParam(value ="phone", required = false) String phone,
59
                                 @ApiParam("是否企业") @RequestParam(value ="isOrg", required = false) Boolean isOrg,
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
         IPage<TaPetIdentity> pg = new Page<>(pageNum, pageSize);
63
         IPage<TaPetIdentity> pg = new Page<>(pageNum, pageSize);
63
         QueryWrapper<TaPetIdentity> queryWrapper = new QueryWrapper<>();
64
         QueryWrapper<TaPetIdentity> queryWrapper = new QueryWrapper<>();
66
         queryWrapper.like(!StringUtils.isEmpty(phone), "phone", "%" + phone + "%");
67
         queryWrapper.like(!StringUtils.isEmpty(phone), "phone", "%" + phone + "%");
67
         queryWrapper.eq(null != isOrg, "is_org", isOrg);
68
         queryWrapper.eq(null != isOrg, "is_org", isOrg);
68
         queryWrapper.like(!StringUtils.isEmpty(orgName), "org_name", "%" + orgName + "%");
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
         queryWrapper.orderByDesc("create_date");
72
         queryWrapper.orderByDesc("create_date");
71
 
73
 
72
         IPage<TaPetIdentity> result = iTaPetIdentityService.page(pg, queryWrapper);
74
         IPage<TaPetIdentity> result = iTaPetIdentityService.page(pg, queryWrapper);

+ 9
- 0
src/main/java/com/njyunzhi/pet_identity/entity/TaApplication.java Näytä tiedosto

42
     /** 申请人手机;冗余 */
42
     /** 申请人手机;冗余 */
43
     @ApiModelProperty(value = "申请人手机",notes = "冗余")
43
     @ApiModelProperty(value = "申请人手机",notes = "冗余")
44
     private String phone ;
44
     private String phone ;
45
+    /** 证件号 */
46
+    @ApiModelProperty(value = "证件号",notes = "")
47
+    private String cardNo ;
45
     /** 原始证件 */
48
     /** 原始证件 */
46
     @ApiModelProperty(value = "原始证件",notes = "")
49
     @ApiModelProperty(value = "原始证件",notes = "")
47
     private String originCardNo ;
50
     private String originCardNo ;
145
     private String criminalInfo ;
148
     private String criminalInfo ;
146
     @ApiModelProperty(value = "处罚信息",notes = "")
149
     @ApiModelProperty(value = "处罚信息",notes = "")
147
     private String penaltyInfo ;
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 Näytä tiedosto

7
 import org.apache.ibatis.annotations.Mapper;
7
 import org.apache.ibatis.annotations.Mapper;
8
 import org.apache.ibatis.annotations.Param;
8
 import org.apache.ibatis.annotations.Param;
9
 
9
 
10
+import java.util.List;
11
+
10
 /**
12
 /**
11
  * <p>
13
  * <p>
12
  * 我的申请 Mapper 接口
14
  * 我的申请 Mapper 接口
19
 public interface TaApplicationMapper extends BaseMapper<TaApplication> {
21
 public interface TaApplicationMapper extends BaseMapper<TaApplication> {
20
 
22
 
21
     IPage<TaApplication> getPageBy(IPage<TaApplication> pg, @Param("params") ApplicationParams params);
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 Näytä tiedosto

6
 import com.njyunzhi.pet_identity.vo.ApplicationParams;
6
 import com.njyunzhi.pet_identity.vo.ApplicationParams;
7
 
7
 
8
 import java.time.LocalDateTime;
8
 import java.time.LocalDateTime;
9
+import java.util.List;
9
 
10
 
10
 /**
11
 /**
11
  * <p>
12
  * <p>
22
     Integer getTotalCharge(TaApplication taApplication);
23
     Integer getTotalCharge(TaApplication taApplication);
23
 
24
 
24
     IPage<TaApplication> getPageBy(IPage<TaApplication> pg, ApplicationParams params);
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 Näytä tiedosto

14
 import org.springframework.stereotype.Service;
14
 import org.springframework.stereotype.Service;
15
 
15
 
16
 import java.time.LocalDateTime;
16
 import java.time.LocalDateTime;
17
+import java.util.List;
17
 
18
 
18
 /**
19
 /**
19
  * <p>
20
  * <p>
62
     public IPage<TaApplication> getPageBy(IPage<TaApplication> pg, ApplicationParams params) {
63
     public IPage<TaApplication> getPageBy(IPage<TaApplication> pg, ApplicationParams params) {
63
         return baseMapper.getPageBy(pg, params);
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 Näytä tiedosto

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

+ 26
- 4
src/main/resources/mapper/TaApplicationMapper.xml Näytä tiedosto

39
         <if test="null != params.petName and '' != params.petName">
39
         <if test="null != params.petName and '' != params.petName">
40
             AND t.pet_name LIKE CONCAT( '%', #{params.petName}, '%' )
40
             AND t.pet_name LIKE CONCAT( '%', #{params.petName}, '%' )
41
         </if>
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
         </if>
44
         </if>
45
         <if test="null != params.applyStart and '' != params.applyStart">
45
         <if test="null != params.applyStart and '' != params.applyStart">
46
             AND t.create_date &gt;= #{params.applyStart}
46
             AND t.create_date &gt;= #{params.applyStart}
63
         <if test="null != params.process and 1 == params.process">
63
         <if test="null != params.process and 1 == params.process">
64
             AND t.`status` IN ( 1, 2 )
64
             AND t.`status` IN ( 1, 2 )
65
             AND NOT EXISTS (
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
         </if>
68
         </if>
69
         <if test="null != params.process and 2 == params.process">
69
         <if test="null != params.process and 2 == params.process">
71
             AND t.verify_status = 1
71
             AND t.verify_status = 1
72
             AND t.apply_type IN ( 'first', 'reissue' )
72
             AND t.apply_type IN ( 'first', 'reissue' )
73
             AND NOT EXISTS (
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
         </if>
76
         </if>
77
         ORDER BY
77
         ORDER BY
78
             t.`status` ASC,
78
             t.`status` ASC,
79
             t.create_date DESC
79
             t.create_date DESC
80
     </select>
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
 </mapper>
103
 </mapper>