wwh 10 ماه پیش
والد
کامیت
7f81339737

+ 64 - 17
huimv-receive/src/main/java/com/huimv/receive/controller/LoginController.java

@@ -308,7 +308,7 @@ public class LoginController {
     }*/
 
     @GetMapping("/logoutWeChat")
-    public Result logoutWeChat(HttpServletRequest req, @RequestParam String jsCode) {
+    public Result logoutWeChat(HttpServletRequest req, @RequestParam String jsCode,@RequestParam String phone) {
         String remoteHost = req.getRemoteHost();
         Map<String, Object> paramsMap = new HashMap<>();
         paramsMap.put("appid", "wxa28e45fe5cb10ff1");
@@ -323,6 +323,7 @@ public class LoginController {
         String sessionKey = (String) jsonObject.get("session_key");
         System.out.println("拿到了openid" + openid);
         System.out.println("拿到了sessionKey" + sessionKey);
+
         QueryWrapper<SysAccountMultilevel> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("wechat_id", openid);
         SysAccountMultilevel data = accountMultilevelService.getOne(queryWrapper);
@@ -330,24 +331,70 @@ public class LoginController {
         weCahtVo.setOpenId(openid);
         weCahtVo.setSessionKey(sessionKey);
         if (ObjectUtil.isEmpty(data)) {
-            return new Result(ResultCode.FAIL, weCahtVo);
+            QueryWrapper<SysAccountMultilevel> queryWrapper1 = new QueryWrapper<>();
+            queryWrapper1.eq("phone", phone);
+            SysAccountMultilevel data1 = accountMultilevelService.getOne(queryWrapper1);
+            if (ObjectUtil.isEmpty(data1)) {
+                return new Result(ResultCode.FAIL, weCahtVo);
+            } else {
+                if ("".equals(data1.getWechatId()) || null == data1.getWechatId()) {
+                    //手机号已经代注册
+                    data1.setWechatId(openid);
+                    accountMultilevelService.updateById(data1);
+                    AccessToken accessToken = new AccessToken();
+                    if (data1.getType() == 7) {
+                        accessToken.setIsAdmin(0);
+                    } else {
+                        accessToken.setIsAdmin(1);
+                    }
+                    data1.setType(7);
+                    accessToken.setSysAccountMultilevel(data1);
+                    accessToken.setAccountName(data1.getAccount());
+                    accessToken.setUserName(data1.getUserName());
+                    accessToken.setFarmId(data1.getFarmIds());
+                    accessToken.setType(7);
+                    accessToken.setId(data1.getId());
+                    String token = TokenSign.sign(data1.getUserName(), data1.getId(), data1.getLastFarmId().toString(), data1.getWorkLocationType()+"", 7);
+                    accessToken.setToken(token);
+                    Integer lastFarmId = data1.getLastFarmId();
+                    if (ObjectUtil.isEmpty(lastFarmId)) {
+                        lastFarmId = Integer.parseInt(data1.getFarmIds().split(",")[0]);
+                    }
+                    accessToken.setLastFarmId(lastFarmId);
+                    accessToken.setLoginIp(remoteHost);
+                    return new Result(ResultCode.SUCCESS, accessToken);
+                } else {
+                    //返回错误,输入的手机号已经进行过微信登录
+                    return new Result(ResultCode.UNAUTHENTICATED, "输入的手机号已被他人进行过微信登录!");
+                }
+            }
         } else {
-            AccessToken accessToken = new AccessToken();
-            accessToken.setSysAccountMultilevel(data);
-            accessToken.setAccountName(data.getAccount());
-            accessToken.setUserName(data.getUserName());
-            accessToken.setFarmId(data.getFarmIds());
-            accessToken.setType(data.getType());
-            accessToken.setId(data.getId());
-            String token = TokenSign.sign(data.getUserName(), data.getId(), data.getLastFarmId().toString(), data.getWorkLocationType()+"", 7);
-            accessToken.setToken(token);
-            Integer lastFarmId = data.getLastFarmId();
-            if (ObjectUtil.isEmpty(lastFarmId)) {
-                lastFarmId = Integer.parseInt(data.getFarmIds().split(",")[0]);
+            if (phone.equals(data.getPhone())) {
+                AccessToken accessToken = new AccessToken();
+                if (data.getType() == 7) {
+                    accessToken.setIsAdmin(0);
+                } else {
+                    accessToken.setIsAdmin(1);
+                }
+                data.setType(7);
+                accessToken.setSysAccountMultilevel(data);
+                accessToken.setAccountName(data.getAccount());
+                accessToken.setUserName(data.getUserName());
+                accessToken.setFarmId(data.getFarmIds());
+                accessToken.setType(7);
+                accessToken.setId(data.getId());
+                String token = TokenSign.sign(data.getUserName(), data.getId(), data.getLastFarmId().toString(), data.getWorkLocationType()+"", 7);
+                accessToken.setToken(token);
+                Integer lastFarmId = data.getLastFarmId();
+                if (ObjectUtil.isEmpty(lastFarmId)) {
+                    lastFarmId = Integer.parseInt(data.getFarmIds().split(",")[0]);
+                }
+                accessToken.setLastFarmId(lastFarmId);
+                accessToken.setLoginIp(remoteHost);
+                return new Result(ResultCode.SUCCESS, accessToken);
+            }else {
+                return new Result(ResultCode.UNAUTHENTICATED, "输入的手机号已被他人进行过微信登录!");
             }
-            accessToken.setLastFarmId(lastFarmId);
-            accessToken.setLoginIp(remoteHost);
-            return new Result(ResultCode.SUCCESS, accessToken);
         }
     }
 

+ 9 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/vo/SysAccountMultilevelVo.java

@@ -0,0 +1,9 @@
+package com.huimv.receive.entity.vo;
+
+import com.huimv.receive.entity.SysAccountMultilevel;
+import lombok.Data;
+
+@Data
+public class SysAccountMultilevelVo extends SysAccountMultilevel {
+    private Integer isAdmin;
+}

+ 14 - 10
huimv-receive/src/main/java/com/huimv/receive/service/impl/BillPersonnelAdmissionServiceImpl.java

@@ -1366,7 +1366,7 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
         billPersonnelAdmission.setDestName(destName);
         billPersonnelAdmission.setDepartureName(departureName);
         billPersonnelAdmission.setDepartureId(Integer.valueOf(departureId));
-        billPersonnelAdmission.setAdmissionUserId(userId);
+        billPersonnelAdmission.setAdmissionUserId(sysAccountMultilevel1.getId());
         billPersonnelAdmission.setAdmissionUserName(userName);
         billPersonnelAdmission.setVistitDate(LocalDateTime.parse(vistitDate, dateTimeFormatter));
         billPersonnelAdmission.setSubDate(LocalDateTime.now());
@@ -1376,20 +1376,24 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
         billPersonnelAdmission.setPapersCode(papersCode);
         billPersonnelAdmission.setUserImgUrl(sysAccountMultilevel1.getImgUrl());
         billPersonnelAdmission.setPicUrl(picUrl);
+        if (!"".equals(picUrl) || null != picUrl) {
+            billPersonnelAdmission.setIsCarry(1);
+        }
         if (ObjectUtil.isNotEmpty(carNum)) {
             billPersonnelAdmission.setCarNum(carNum);
         }
-        if (ObjectUtil.isNotEmpty(imgUrl)) {
-            String s = uploadImage.getImageCom(imgUrl);
-            if (s.equals("上传失败")) {
-                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return new Result(10001, "图片上传失败", false);
-            }
-            billPersonnelAdmission.setImgUrl(s);
-        }
+//        if (ObjectUtil.isNotEmpty(imgUrl)) {
+//            String s = uploadImage.getImageCom(imgUrl);
+//            if (s.equals("上传失败")) {
+//                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//                return new Result(10001, "图片上传失败", false);
+//            }
+//            billPersonnelAdmission.setImgUrl(s);
+//        }
         if (ObjectUtil.isNotEmpty(img)) {
-            billPersonnelAdmission.setImgUrl(img);
+
         }
+        billPersonnelAdmission.setImgUrl(sysAccountMultilevel1.getImgUrl());
         if (ObjectUtil.isNotEmpty(source)) {
             billPersonnelAdmission.setSource(source);
         }

+ 9 - 0
huimv-receive/src/main/java/com/huimv/receive/session/AccessToken.java

@@ -20,6 +20,15 @@ public class AccessToken {
     private String message;
     private Integer lastFarmId;
     private String userName;
+    private Integer isAdmin;
+
+    public Integer getIsAdmin() {
+        return isAdmin;
+    }
+
+    public void setIsAdmin(Integer isAdmin) {
+        this.isAdmin = isAdmin;
+    }
 
     public SysAccountMultilevel getSysAccountMultilevel() {
         return sysAccountMultilevel;