From 86c3614c6780b3214ad70ec51011da077113022b Mon Sep 17 00:00:00 2001
From: wang-hao-jie <1550036656@qq.com>
Date: 星期一, 18 四月 2022 16:34:54 +0800
Subject: [PATCH] 最新版本

---
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/FingerprintController.java |  123 +++++++++++++++++++++++++++++++++-------
 1 files changed, 101 insertions(+), 22 deletions(-)

diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/FingerprintController.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/FingerprintController.java
index d8b960e..3d50971 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/FingerprintController.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/FingerprintController.java
@@ -59,11 +59,19 @@
         return new ResultUtil<Fingerprint>().setData(fingerprint);
     }
 
+    @RequestMapping(value = "/getAreaIdByToken", method = RequestMethod.GET)
+    @ApiOperation(value = "鏍规嵁token鑾峰彇鍖哄煙id")
+    public Result<Object> getAreaIdByToken() {
+        Area area = getArea(securityUtil.getCurrUser().getId());
+        return new ResultUtil<Object>().setData(area);
+    }
+
     @RequestMapping(value = "/getAll", method = RequestMethod.GET)
     @ApiOperation(value = "鑾峰彇鍏ㄩ儴鍙告満鍜岄厤閫佸憳鎸囩汗鏁版嵁")
     public Result<List<Fingerprint>> getAll() {
         QueryWrapper<Fingerprint> wrapper = new QueryWrapper<>();
         wrapper.isNotNull("user_id");
+        wrapper.isNotNull("file_id");
         List<Fingerprint> list = iFingerprintService.list(wrapper);
         return new ResultUtil<List<Fingerprint>>().setData(list);
     }
@@ -81,21 +89,35 @@
         return new ResultUtil<List<Fingerprint>>().setData(list);
     }
 
-    public Area getArea(String userId){
-        QueryWrapper<Area> wrapper = new QueryWrapper<Area>();
-        wrapper.eq("user_id",userId);
-        Area area = iAreaService.getOne(wrapper);
-        if(area==null){
-            QueryWrapper<Car> carQueryWrapper = new QueryWrapper<Car>();
-            carQueryWrapper.eq("user_id",userId);
-            Car one = iCarService.getOne(carQueryWrapper);
+//    public Area getArea(String userId){
+//        QueryWrapper<Area> wrapper = new QueryWrapper<Area>();
+//        wrapper.eq("user_id",userId);
+//        Area area = iAreaService.getOne(wrapper);
+//        if(area==null){
+//            QueryWrapper<Car> carQueryWrapper = new QueryWrapper<Car>();
+//            carQueryWrapper.eq("user_id",userId);
+//            Car one = iCarService.getOne(carQueryWrapper);
+//
+//            QueryWrapper<Area> wrapper3 = new QueryWrapper<Area>();
+//            wrapper3.eq("user_id",one.getFollowUserId());
+//            area = iAreaService.getOne(wrapper3);
+//            return area;
+//        }
+//        return area;
+//    }
 
-            QueryWrapper<Area> wrapper3 = new QueryWrapper<Area>();
-            wrapper3.eq("user_id",one.getFollowUserId());
-            area = iAreaService.getOne(wrapper3);
+    public Area getArea(String userId){
+        QueryWrapper<Car> carQueryWrapper = new QueryWrapper<Car>();
+        carQueryWrapper.eq("user_id",userId).or().eq("follow_user_id",userId);
+        Car one = iCarService.getOne(carQueryWrapper);
+        if(one==null){
+            return null;
+        }else{
+            QueryWrapper<Area> wrapper = new QueryWrapper<Area>();
+            wrapper.eq("car_id",one.getId());
+            Area area = iAreaService.getOne(wrapper);
             return area;
         }
-        return area;
     }
 
     @RequestMapping(value = "/getCount", method = RequestMethod.GET)
@@ -166,32 +188,89 @@
     @RequestMapping(value = "/getCode", method = RequestMethod.GET)
     @ApiOperation(value = "鑾峰彇鍙告満鎴栭厤閫佸憳鎸囩汗缂栧彿")
     public Result<Object> getCode() {
-        int code = iFingerprintService.maxCode();
-        return new ResultUtil<Object>().setData(code);
+
+        User currUser = securityUtil.getCurrUser();
+        String userId = currUser.getId();
+
+        QueryWrapper<Fingerprint> wrapper = new QueryWrapper<Fingerprint>();
+        wrapper.eq("user_id",userId);
+        wrapper.isNull("file_id");
+        Fingerprint one = iFingerprintService.getOne(wrapper);
+        if(one!=null){
+            return new ResultUtil<Object>().setData(one.getCode());
+        }else{
+            int code = iFingerprintService.maxCode();
+
+            Fingerprint fingerprint = new Fingerprint();
+            fingerprint.setUserId(userId);
+            fingerprint.setType(currUser.getType2());
+            fingerprint.setCode(code);
+            fingerprint.setUsername(currUser.getUsername());
+            fingerprint.setPassword(currUser.getDescription());
+            iFingerprintService.saveOrUpdate(fingerprint);
+            return new ResultUtil<Object>().setData(code);
+        }
     }
 
     @RequestMapping(value = "/insertOrUpdate", method = RequestMethod.POST)
     @ApiOperation(value = "缂栬緫鎴栨洿鏂版暟鎹�")
     public Result<Fingerprint> saveOrUpdate(Fingerprint fingerprint) {
-        if(StrUtil.isNotEmpty(fingerprint.getUserId())){
-            User user = userService.get(fingerprint.getUserId());
-            fingerprint.setUsername(user.getUsername());
-            fingerprint.setPassword(user.getDescription());
-            fingerprint.setType(user.getType2());
+        if(StrUtil.isEmpty(fingerprint.getFileId())){
+            return ResultUtil.error("fileId涓嶈兘涓虹┖");
         }
+
+        if(StrUtil.isNotEmpty(fingerprint.getUserId())){
+            QueryWrapper<Fingerprint> wp = new QueryWrapper<Fingerprint>();
+            wp.eq("code",fingerprint.getCode());
+            wp.isNotNull("user_id");
+            List<Fingerprint> f = iFingerprintService.list(wp);
+            if(f.size()>1){
+                return ResultUtil.error("code閲嶅锛岃閲嶆柊鑾峰彇code骞跺綍鍏ユ寚绾�");
+            }
+
+            QueryWrapper<Fingerprint> wrapper = new QueryWrapper<Fingerprint>();
+            wrapper.eq("code",fingerprint.getCode());
+            wrapper.eq("user_id",fingerprint.getUserId());
+            Fingerprint one = iFingerprintService.getOne(wrapper);
+            if(one!=null){
+                one.setFileId(fingerprint.getFileId());
+//                User user = userService.get(fingerprint.getUserId());
+//                one.setUsername(user.getUsername());
+//                one.setPassword(user.getDescription());
+//                one.setType(user.getType2());
+                iFingerprintService.saveOrUpdate(one);
+            }else{
+                return ResultUtil.error("鏈壘鍒伴渶瑕佹洿鏂扮殑鎸囩汗");
+            }
+
+        }
+
         if(StrUtil.isNotEmpty(fingerprint.getCustomerId())){
             Customer byId = iCustomerService.getById(fingerprint.getCustomerId());
             fingerprint.setAreaId(byId.getAreaId());
+
+            QueryWrapper<Fingerprint> wrapper = new QueryWrapper<Fingerprint>();
+            wrapper.eq("code",fingerprint.getCode());
+            wrapper.eq("area_id",byId.getAreaId());
+            wrapper.isNotNull("customer_id");
+            Fingerprint one = iFingerprintService.getOne(wrapper);
+            if(one!=null){
+                return ResultUtil.error("code閲嶅浜嗭紝璇烽噸鏂拌幏鍙�");
+            }
+        }else{
+            return ResultUtil.error("customerId涓嶈兘涓虹┖");
         }
 
         if(StrUtil.isNotEmpty(fingerprint.getCustomerReceiveId())){
             CustomerReceive byId = iCustomerReceiveService.getById(fingerprint.getCustomerReceiveId());
             byId.setFstatus(1);
             iCustomerReceiveService.saveOrUpdate(byId);
+
+            if (iFingerprintService.saveOrUpdate(fingerprint)) {
+                return new ResultUtil<Fingerprint>().setData(fingerprint);
+            }
         }
-        if (iFingerprintService.saveOrUpdate(fingerprint)) {
-            return new ResultUtil<Fingerprint>().setData(fingerprint);
-        }
+
         return new ResultUtil<Fingerprint>().setErrorMsg("鎿嶄綔澶辫触");
     }
 

--
Gitblit v1.9.1