فهرست منبع

生物防控人员

523096025 1 سال پیش
والد
کامیت
1a268859a5

+ 5 - 0
huimv-receive/pom.xml

@@ -37,6 +37,11 @@
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.github.binarywang</groupId>
+            <artifactId>weixin-java-miniapp</artifactId>
+        </dependency>
+
 
         <dependency>
             <groupId>com.alibaba</groupId>

+ 29 - 2
huimv-receive/src/main/java/com/huimv/receive/controller/BaseProcessController.java

@@ -1,8 +1,14 @@
 package com.huimv.receive.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.huimv.receive.common.token.TokenSign;
+import com.huimv.receive.common.utils.Result;
+import com.huimv.receive.service.IBaseProcessService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
 
 /**
  * <p>
@@ -14,6 +20,27 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @RestController
 @RequestMapping("/base-process")
+@CrossOrigin
 public class BaseProcessController {
 
+    @Autowired
+    private IBaseProcessService processService;
+
+    @PostMapping("/getOne")
+    public Result page(HttpServletRequest httpServletRequest,@RequestBody Map<String,String> map) {
+        Integer userId = TokenSign.getMemberIdByJwtToken(httpServletRequest);
+        String farmId = map.get("farmId");
+        String vistitType = map.get("vistitType");
+        return processService.getOne(userId,farmId,vistitType);
+    }
+
+
+    @PostMapping("/getAll")
+    public Result getAll(HttpServletRequest httpServletRequest,@RequestBody Map<String,String> map) {
+        Integer userId = TokenSign.getMemberIdByJwtToken(httpServletRequest);
+        String farmId = map.get("farmId");
+        String vistitType = map.get("vistitType");
+        return processService.getOne(userId,farmId,vistitType);
+    }
+
 }

+ 56 - 0
huimv-receive/src/main/java/com/huimv/receive/controller/LoginController.java

@@ -265,6 +265,62 @@ public class LoginController {
         }
     }
 
+    @GetMapping("/logWeChatGetPhone")
+    public Result logWeChatGetPhone(HttpServletRequest req, @RequestParam String jsCode) {
+        String remoteHost = req.getRemoteHost();
+        Map<String, Object> paramsMap = new HashMap<>();
+        paramsMap.put("appid", "wxa28e45fe5cb10ff1");
+        paramsMap.put("secret", "c16e584ec6e69fd35edd98ec21ec5e94");
+
+        paramsMap.put("grant_type", "grant_type");
+        String result = HttpUtil.get("https://api.weixin.qq.com/cgi-bin/token", paramsMap);
+        System.out.println(result);
+        JSONObject jsonObject = JSON.parseObject(result);
+        System.out.println(jsonObject);
+        String openid = (String) jsonObject.get("openid");
+        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);
+        WeCahtVo weCahtVo = new WeCahtVo();
+        weCahtVo.setOpenId(openid);
+        weCahtVo.setSessionKey(sessionKey);
+        if (ObjectUtil.isEmpty(data)) {
+            return new Result(ResultCode.FAIL, weCahtVo);
+        } 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.getFarmIds(), 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);
+        }
+    }
+
+    public static void main(String[] args) {
+        Map<String, Object> paramsMap = new HashMap<>();
+
+        paramsMap.put("appid", "wxa28e45fe5cb10ff1");
+        paramsMap.put("secret", "c16e584ec6e69fd35edd98ec21ec5e94");
+
+        paramsMap.put("grant_type", "grant_type");
+        String result = HttpUtil.get("https://api.weixin.qq.com/cgi-bin/token", paramsMap);
+        System.out.println(result);
+
+    }
+
     @PostMapping("/register")
     public Result addAdmission(HttpServletRequest req, @RequestParam("userName") String userName,
                                @RequestParam("phone") String phone,

+ 3 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/BaseProcess.java

@@ -83,6 +83,9 @@ public class BaseProcess implements Serializable {
      * 0 进行中,1已完成,2拒绝(提前结束)
      */
     private Integer processType;
+    private String allLocation;
+    private String allLocationId;
+    private String allLocationStatus;
 
 
 }

+ 5 - 0
huimv-receive/src/main/java/com/huimv/receive/service/IBaseProcessService.java

@@ -1,8 +1,11 @@
 package com.huimv.receive.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.receive.common.utils.Result;
 import com.huimv.receive.entity.BaseProcess;
 
+import java.util.Map;
+
 /**
  * <p>
  * 流程表 服务类
@@ -13,4 +16,6 @@ import com.huimv.receive.entity.BaseProcess;
  */
 public interface IBaseProcessService extends IService<BaseProcess> {
 
+
+    Result getOne(Integer userId, String farmId,String vistitType);
 }

+ 33 - 0
huimv-receive/src/main/java/com/huimv/receive/service/impl/BaseProcessServiceImpl.java

@@ -1,11 +1,21 @@
 package com.huimv.receive.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.receive.common.utils.Result;
+import com.huimv.receive.common.utils.ResultCode;
+import com.huimv.receive.entity.BaseLocation;
 import com.huimv.receive.entity.BaseProcess;
 import com.huimv.receive.mapper.BaseProcessMapper;
+import com.huimv.receive.service.IBaseLocationService;
 import com.huimv.receive.service.IBaseProcessService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 流程表 服务实现类
@@ -17,4 +27,27 @@ import org.springframework.stereotype.Service;
 @Service
 public class BaseProcessServiceImpl extends ServiceImpl<BaseProcessMapper, BaseProcess> implements IBaseProcessService {
 
+    @Autowired
+    private IBaseLocationService baseLocationService;
+    @Override
+    public Result getOne(Integer userId ,String farmId,String vistitType) {
+        BaseProcess one = this.getOne(new QueryWrapper<BaseProcess>().eq("admission_user_id", userId).orderByDesc("id").last("limit 1"));
+        if (ObjectUtil.isNotEmpty(one)){
+            return new Result(ResultCode.SUCCESS,one);
+        }
+        BaseProcess baseProcess = new BaseProcess();
+        List<BaseLocation> list = baseLocationService.list(new QueryWrapper<BaseLocation>().eq("farm_id", farmId).eq("vistit_type", vistitType));
+        StringBuilder allLocation = new StringBuilder();
+        StringBuilder allLocationId = new StringBuilder();
+        StringBuilder allLocationStatus = new StringBuilder();
+        for (BaseLocation baseLocation : list) {
+            allLocation.append(baseLocation.getLocationName()).append(",");
+            allLocationId.append(baseLocation.getId()).append(",");
+            allLocationStatus.append("0").append(",");
+        }
+        baseProcess.setAllLocation(allLocation.toString());
+        baseProcess.setAllLocationId(allLocationId.toString());
+        baseProcess.setAllLocationStatus(allLocationStatus.toString());
+        return new Result(ResultCode.SUCCESS,baseProcess);
+    }
 }