Browse Source

更新摄像头等功能

523096025 3 năm trước cách đây
mục cha
commit
69896ef5c1
42 tập tin đã thay đổi với 943 bổ sung33 xóa
  1. 6 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/controller/AuthorizeController.java
  2. 66 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/controller/FarmController.java
  3. 45 2
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/controller/LoginController.java
  4. 7 2
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/controller/MenuController.java
  5. 98 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/controller/SysAccountMultilevelController.java
  6. 14 4
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/controller/SysGroupController.java
  7. 33 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/entity/Farm.java
  8. 2 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/entity/Group.java
  9. 2 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/entity/Menu.java
  10. 46 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/entity/SysAccountMultilevel.java
  11. 16 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/mapper/FarmMapper.java
  12. 18 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/mapper/SysAccountMultilevelMapper.java
  13. 2 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/IAuthorizeService.java
  14. 20 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/IFarmService.java
  15. 4 3
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/IGroupService.java
  16. 2 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/ILoginService.java
  17. 1 1
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/IMenuService.java
  18. 32 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/ISysAccountMultilevelService.java
  19. 19 1
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/impl/AuthorizeServiceImpl.java
  20. 52 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/impl/FarmServiceImpl.java
  21. 9 4
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/impl/GroupServiceImpl.java
  22. 24 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/impl/LoginServiceImpl.java
  23. 23 2
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/impl/MenuServiceImpl.java
  24. 112 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/impl/SysAccountMultilevelServiceImpl.java
  25. 2 2
      huimv-farm-v2/huimv-admin/src/main/resources/com/huimv/admin/mapper/MenuMapper.xml
  26. 4 3
      huimv-farm-v2/huimv-common/src/main/java/com/huimv/common/token/TokenSign.java
  27. 1 1
      huimv-farm-v2/huimv-common/src/main/java/com/huimv/common/utils/GeneratorCodeConfig.java
  28. 2 1
      huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/HuimvEnvApplication.java
  29. 52 0
      huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/controller/ProdStockController.java
  30. 55 1
      huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/entity/ProdStock.java
  31. 17 0
      huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/mapper/ProdStockMapper.java
  32. 19 0
      huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/service/IProdStockService.java
  33. 111 0
      huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/service/impl/ProdStockServiceImpl.java
  34. 6 0
      huimv-farm-v2/huimv-gateway/src/main/resources/application-dev.yml
  35. 2 0
      huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/entity/Camera.java
  36. 4 0
      huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/entity/CameraArea.java
  37. 2 0
      huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/entity/CameraBrand.java
  38. 4 0
      huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/entity/PublicNetwork.java
  39. 1 0
      huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/entity/vo/CameraListVo.java
  40. 2 1
      huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/service/impl/CameraAreaServiceImpl.java
  41. 2 1
      huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/service/impl/CameraBrandServiceImpl.java
  42. 4 4
      huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/service/impl/CameraServiceImpl.java

+ 6 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/controller/AuthorizeController.java

@@ -65,6 +65,12 @@ public class AuthorizeController {
         List<Map> list = iMenuService.optimizeListUtil(0,myMenu);
         return new Result(ResultCode.SUCCESS,list);
     }
+//    //获取菜单-多级
+//    @RequestMapping("/getMyMenuMultilevel")
+//    public Result getMyMenuMultilevel(@RequestParam(name = "userId", required = true) String userId){
+//        return new Result(ResultCode.SUCCESS,iAuthorizeService.getMyMenuMultilevel(userId));
+//    }
+
 
     @GetMapping("/getMyButton")
     public Result getMyButton(@RequestParam(name = "userId", required = true) Integer userId){

+ 66 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/controller/FarmController.java

@@ -0,0 +1,66 @@
+package com.huimv.admin.controller;
+
+
+import com.huimv.admin.entity.Farm;
+import com.huimv.admin.service.IFarmService;
+import com.huimv.common.token.TokenSign;
+import com.huimv.common.utils.Result;
+import org.apache.http.HttpRequest;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-10-14
+ */
+@RestController
+@RequestMapping("/farm")
+public class FarmController {
+
+
+    @Autowired
+    private IFarmService farmService;
+
+    @GetMapping("/getFarm")
+    public Result getFarm(HttpServletRequest request){
+        Integer userId = TokenSign.getMemberIdByJwtToken(request);
+        return  farmService.getFarm(userId);
+    }
+
+
+    @PostMapping("/add")
+    public Result add(@RequestBody Farm farm,HttpServletRequest request){
+        Integer userId = TokenSign.getMemberIdByJwtToken(request);
+        if (userId != 1){
+            return new Result(10001,"该账号不能操作牧场",false);
+        }
+        return  farmService.add(farm);
+    }
+
+    @PostMapping("/edit")
+    public Result edit(@RequestBody Farm farm,HttpServletRequest request){
+        Integer userId = TokenSign.getMemberIdByJwtToken(request);
+        if (userId != 1){
+            return new Result(10001,"该账号不能操作牧场",false);
+        }
+        farmService.updateById(farm);
+        return new Result(10000,"修改成功",true);
+    }
+
+    @GetMapping("/remove")
+    public Result remove(@RequestParam(name = "ids") List<Integer> ids, HttpServletRequest request){
+        Integer userId = TokenSign.getMemberIdByJwtToken(request);
+        if (userId != 1){
+            return new Result(10001,"该账号不能操作牧场",false);
+        }
+        farmService.removeByIds(ids);
+        return new Result(10000,"删除成功",true);
+    }
+}

+ 45 - 2
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/controller/LoginController.java

@@ -1,6 +1,7 @@
 package com.huimv.admin.controller;
 
 import com.huimv.admin.entity.Account;
+import com.huimv.admin.entity.SysAccountMultilevel;
 import com.huimv.common.exception.ExceptionEnum;
 import com.huimv.common.exception.MiException;
 import com.huimv.admin.service.ILoginService;
@@ -51,14 +52,16 @@ public class LoginController {
         // 未对密码加密
         Result result = iLoginService.login(accountName, password);
         if(result.getCode() == 10000){
+
+            Account accountEntity = (Account) result.getData();
             AccessToken accessToken = new AccessToken();
             accessToken.setCreated(new Date());
             accessToken.setAccountName(accountName);
             accessToken.setCode(result.getCode());
             accessToken.setMessage(result.getMessage());
-            String token = TokenSign.sign(accountName);
+            String token = TokenSign.sign(accountName,accountEntity.getId());
             accessToken.setToken(token);
-            Account accountEntity = (Account) result.getData();
+
             accessToken.setId( accountEntity.getId());
             accessToken.setLoginIp(remoteHost);
             return new Result(ResultCode.SUCCESS,accessToken);
@@ -96,4 +99,44 @@ public class LoginController {
             throw new MiException(ExceptionEnum.VERIFCATION_FAID);
         }
     }
+
+    //登录-多牧场
+    @PostMapping(value = "/loginMultilevel")
+    public Result loginMultilevel(HttpServletRequest req, @RequestBody Map<String,String> map)  {
+
+
+        String accountName = map.get("accountName");
+        String password = map.get("password");
+        String code = map.get("code");
+
+        String remoteHost = req.getRemoteHost();
+        String redisCode = redisTemplate.opsForValue().get(remoteHost);
+        if (redisCode == null) {
+            return  new Result(10005,"验证码过期,点击刷新",false);
+        }
+        if (!redisCode.equals(code.toUpperCase())) {
+            return  new Result(10006,"验证码错误,登录失败",false);
+        }
+        // 未对密码加密
+        Result result = iLoginService.loginMultilevel(accountName, password);
+        if(result.getCode() == 10000){
+
+            SysAccountMultilevel accountEntity = (SysAccountMultilevel) result.getData();
+            Integer id = accountEntity.getId();
+
+            AccessToken accessToken = new AccessToken();
+            accessToken.setCreated(new Date());
+            accessToken.setAccountName(accountName);
+            accessToken.setCode(result.getCode());
+            accessToken.setMessage(result.getMessage());
+            String token = TokenSign.sign(accountName,id);
+            accessToken.setToken(token);
+
+            accessToken.setId(id);
+            accessToken.setLoginIp(remoteHost);
+            return new Result(ResultCode.SUCCESS,accessToken);
+        }
+        return  result;
+    }
+
 }

+ 7 - 2
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/controller/MenuController.java

@@ -2,10 +2,13 @@ package com.huimv.admin.controller;
 
 import com.huimv.admin.entity.Menu;
 import com.huimv.admin.service.IMenuService;
+import com.huimv.common.token.TokenSign;
 import com.huimv.common.utils.Result;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
+
 @RestController
 @RequestMapping("/menu")
 public class MenuController {
@@ -13,8 +16,10 @@ public class MenuController {
     private IMenuService menuService;
 
     @PostMapping("/add")
-    public Result addMenu(@RequestBody Menu menu){
-        return menuService.addMenu(menu);
+    public Result addMenu(@RequestBody Menu menu , HttpServletRequest request){
+        Integer userId = TokenSign.getMemberIdByJwtToken(request);
+
+        return menuService.addMenu(menu,userId);
     }
 
 

+ 98 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/controller/SysAccountMultilevelController.java

@@ -0,0 +1,98 @@
+package com.huimv.admin.controller;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.huimv.admin.entity.Group;
+import com.huimv.admin.entity.SysAccountMultilevel;
+import com.huimv.admin.service.ISysAccountMultilevelService;
+import com.huimv.common.token.TokenSign;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import org.apache.http.HttpRequest;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-10-14
+ */
+@RestController
+@RequestMapping("/accountMultilevel")
+public class SysAccountMultilevelController {
+    @Autowired
+    private ISysAccountMultilevelService accountMultilevelService;
+
+    @PostMapping("/list")
+    public Result list(@RequestBody Map map , HttpServletRequest request){
+        Integer userId = TokenSign.getMemberIdByJwtToken(request);
+        int pageNum = (Integer)map.get("pageNum");
+        int pageSize = (Integer)map.get("pageSize");
+        String searchStr = (String)map.get("searchStr");
+
+        return accountMultilevelService.findUserAccount(searchStr,pageNum,pageSize,userId);
+
+    }
+
+    @PostMapping("/listSubordinate")
+    public Result listSubordinate(@RequestBody Map map , HttpServletRequest request){
+        Integer userId = TokenSign.getMemberIdByJwtToken(request);
+        int pageNum = (Integer)map.get("pageNum");
+        int pageSize = (Integer)map.get("pageSize");
+        String searchStr = (String)map.get("searchStr");
+
+        return accountMultilevelService.listSubordinate(searchStr,pageNum,pageSize,userId);
+
+    }
+
+    @PostMapping("/add")
+    public Result add(@RequestBody SysAccountMultilevel sysAccountMultilevel , HttpServletRequest request){
+
+        Integer userId = TokenSign.getMemberIdByJwtToken(request);
+        return accountMultilevelService.add(sysAccountMultilevel,userId);
+
+    }
+
+    @PostMapping("/update")
+    public Result update(@RequestBody SysAccountMultilevel sysAccountMultilevel){
+        accountMultilevelService.updateById(sysAccountMultilevel);
+
+        return new Result(10000,"修改成功",true);
+
+    }
+
+    @GetMapping("/remove")
+    public Result remove(@RequestParam(name ="ids")List<Integer> ids){
+        accountMultilevelService.removeByIds(ids);
+
+        return new Result(10000,"删除成功",true);
+
+    }
+
+    @GetMapping("/setAccountStatus")
+    public Result setAccountStatus(@RequestParam(name = "ids") List<Integer> ids, @RequestParam(name = "status") Integer status){
+        /* 设置账号状态 */
+        return accountMultilevelService.setAccountStatus(ids,status);
+    }
+
+    @GetMapping("/findOne")
+    public Result findOne(Integer id){
+        return new Result(ResultCode.SUCCESS, accountMultilevelService.getById(id));
+    }
+
+
+    @GetMapping("/getLastFarmId")
+    public Result getLastFarmId(HttpServletRequest request){
+        Integer userId = TokenSign.getMemberIdByJwtToken(request);
+        return  accountMultilevelService.getLastFarmId(userId);
+    }
+
+}

+ 14 - 4
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/controller/SysGroupController.java

@@ -3,10 +3,14 @@ package com.huimv.admin.controller;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.huimv.admin.entity.Group;
 import com.huimv.admin.service.IGroupService;
+import com.huimv.admin.service.ISysAccountMultilevelService;
+import com.huimv.common.token.TokenSign;
 import com.huimv.common.utils.Result;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 import java.util.Map;
 
 
@@ -17,9 +21,13 @@ public class SysGroupController {
     @Autowired
     private IGroupService groupService;
 
+    @Autowired
+    private ISysAccountMultilevelService accountMultilevelService;
+
     @PostMapping("/add")
-    public Result addGroup (@RequestBody Group group){
-        return groupService.addGroup(group);
+    public Result addGroup (@RequestBody Group group, HttpServletRequest request){
+        Integer userId = TokenSign.getMemberIdByJwtToken(request);
+        return groupService.addGroup(group,userId);
     }
 
 
@@ -34,7 +42,9 @@ public class SysGroupController {
     }
 
     @PostMapping("/list")
-    public IPage<Group> listGroup(@RequestBody Map map) {
-        return groupService.listGroup(map);
+    public IPage<Group> listGroup(@RequestBody Map map , HttpServletRequest request) {
+        Integer userId = TokenSign.getMemberIdByJwtToken(request);
+        List<Integer> allChildId = accountMultilevelService.getAllChildId(userId);
+        return groupService.listGroup(map,allChildId);
     }
 }

+ 33 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/entity/Farm.java

@@ -0,0 +1,33 @@
+package com.huimv.admin.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-10-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("base_farm")
+public class Farm extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private String farmName;
+
+
+}

+ 2 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/entity/Group.java

@@ -31,5 +31,7 @@ public class Group extends Model {
 
     private String remark;
 
+    private Integer accountId;
+
 
 }

+ 2 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/entity/Menu.java

@@ -41,6 +41,8 @@ public class Menu extends Model {
 
     private String permission;
 
+
+
 //    private List<Menu> children;
 
 

+ 46 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/entity/SysAccountMultilevel.java

@@ -0,0 +1,46 @@
+package com.huimv.admin.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-10-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class SysAccountMultilevel extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private String account;
+
+    private String password;
+
+    private Integer pid;
+
+    private String pids;
+
+    private Integer accountStatus;
+
+    private String  farmIds;
+
+    private String color;
+
+    private Boolean mode;
+
+    private Integer lastFarmId;
+
+}

+ 16 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/mapper/FarmMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.admin.mapper;
+
+import com.huimv.admin.entity.Farm;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-10-14
+ */
+public interface FarmMapper extends BaseMapper<Farm> {
+
+}

+ 18 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/mapper/SysAccountMultilevelMapper.java

@@ -0,0 +1,18 @@
+package com.huimv.admin.mapper;
+
+import com.huimv.admin.entity.SysAccountMultilevel;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-10-14
+ */
+@Repository
+public interface SysAccountMultilevelMapper extends BaseMapper<SysAccountMultilevel> {
+
+}

+ 2 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/IAuthorizeService.java

@@ -22,4 +22,6 @@ public interface IAuthorizeService {
     List getMyMenuAll(String accountName);
 
     List getMyButton(Integer userId);
+
+    List getMyMenuMultilevel(String userId);
 }

+ 20 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/IFarmService.java

@@ -0,0 +1,20 @@
+package com.huimv.admin.service;
+
+import com.huimv.admin.entity.Farm;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.common.utils.Result;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-10-14
+ */
+public interface IFarmService extends IService<Farm> {
+
+    Result getFarm(Integer userId);
+
+    Result add(Farm farm);
+}

+ 4 - 3
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/IGroupService.java

@@ -6,6 +6,7 @@ import com.huimv.admin.entity.Group;
 import com.huimv.common.utils.Result;
 import org.springframework.web.bind.annotation.RequestBody;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -18,11 +19,11 @@ import java.util.Map;
  */
 public interface IGroupService extends IService<Group> {
 
-    Result updateGroup(@RequestBody Group group);
+    Result updateGroup( Group group);
 
     Result removeGroup(Integer groupId);
 
-    IPage<Group> listGroup(Map map);
+    IPage<Group> listGroup(Map map, List<Integer> allChildId);
 
-    Result addGroup(Group group);
+    Result addGroup(Group group,Integer userId);
 }

+ 2 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/ILoginService.java

@@ -8,4 +8,6 @@ public interface ILoginService {
     Result login(String accountName, String password);
 
     Result logout();
+
+    Result loginMultilevel(String accountName, String password);
 }

+ 1 - 1
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/IMenuService.java

@@ -16,7 +16,7 @@ import java.util.Map;
  * @since 2021-09-09
  */
 public interface IMenuService extends IService<Menu> {
-    Result addMenu(Menu menu);
+    Result addMenu(Menu menu,Integer userId);
     //修改菜单
     Result editMenu(Menu menu);
     //删除菜单(批量)

+ 32 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/ISysAccountMultilevelService.java

@@ -0,0 +1,32 @@
+package com.huimv.admin.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.huimv.admin.entity.Group;
+import com.huimv.admin.entity.SysAccountMultilevel;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.common.utils.Result;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-10-14
+ */
+public interface ISysAccountMultilevelService extends IService<SysAccountMultilevel> {
+
+    Result findUserAccount(String searchStr, int pageNum, int pageSize, Integer userId);
+
+    Result add(SysAccountMultilevel sysAccountMultilevel, Integer userId);
+
+    Result setAccountStatus(List<Integer> ids, Integer status);
+
+    List<Integer> getAllChildId(Integer userId);
+
+    Result listSubordinate(String searchStr, int pageNum, int pageSize, Integer userId);
+
+    Result getLastFarmId(Integer userId);
+}

+ 19 - 1
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/impl/AuthorizeServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.huimv.admin.entity.AccountGroup;
 import com.huimv.admin.entity.GroupMenu;
 import com.huimv.admin.entity.Menu;
+import com.huimv.admin.entity.SysAccountMultilevel;
 import com.huimv.admin.mapper.AccountGroupMapper;
 import com.huimv.admin.mapper.GroupMenuMapper;
 import com.huimv.admin.mapper.MenuMapper;
@@ -168,6 +169,7 @@ public class AuthorizeServiceImpl implements IAuthorizeService {
     @Override
     public Result getAccountByGroup(String groupId) {
         /* 根据账号id读取已关联权限组 */
+
         QueryWrapper<AccountGroup> accountGroupQueryWrapper = new QueryWrapper<>();
         accountGroupQueryWrapper.eq("group_id",groupId);
         List<AccountGroup> accountGroupEntityList = accountGroupMapper.selectList(accountGroupQueryWrapper);
@@ -186,13 +188,29 @@ public class AuthorizeServiceImpl implements IAuthorizeService {
 
     @Override
     public List getMyMenuAll(String accountName) {
+        if ("1".equals(accountName)){
+            List<Menu> menus = menuMapper.selectList(new QueryWrapper<Menu>().orderByAsc("sort"));
+            return menus;
+        }
         return menuMapper.getMyMenu(accountName);
     }
 
     @Override
     public List<String> getMyButton(Integer userId) {
-
+        if (userId == 1){
+            List<Menu> menus = menuMapper.selectList(null);
+            List<String> list = new ArrayList<>();
+            for (Menu menu : menus) {
+                list.add(menu.getPermission());
+            }
+            return list;
+        }
         return menuMapper.getMyButton(userId);
     }
 
+    @Override
+    public List getMyMenuMultilevel(String userId) {
+        return null;
+    }
+
 }

+ 52 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/impl/FarmServiceImpl.java

@@ -0,0 +1,52 @@
+package com.huimv.admin.service.impl;
+
+import com.huimv.admin.entity.Farm;
+import com.huimv.admin.entity.SysAccountMultilevel;
+import com.huimv.admin.mapper.FarmMapper;
+import com.huimv.admin.mapper.SysAccountMultilevelMapper;
+import com.huimv.admin.service.IFarmService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-10-14
+ */
+@Service
+public class FarmServiceImpl extends ServiceImpl<FarmMapper, Farm> implements IFarmService {
+
+    @Autowired
+    private  SysAccountMultilevelMapper accountMultilevelMapper;
+    @Override
+    public Result getFarm(Integer userId) {
+        SysAccountMultilevel sysAccountMultilevel = accountMultilevelMapper.selectById(userId);
+        String farmIds = sysAccountMultilevel.getFarmIds();
+        List list ;
+        if (userId == 1){
+            list = this.list();
+        }else {
+            List<String> list1 = Arrays.asList(farmIds.split(","));
+           list = (List)this.listByIds(list1);
+        }
+        return new Result(ResultCode.SUCCESS,list);
+    }
+
+    @Override
+    public Result add(Farm farm) {
+        this.save(farm);
+
+        return new Result(10000,"添加成功",true);
+    }
+}

+ 9 - 4
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/impl/GroupServiceImpl.java

@@ -8,13 +8,16 @@ import com.huimv.admin.entity.Group;
 import com.huimv.admin.entity.GroupMenu;
 import com.huimv.admin.mapper.GroupMapper;
 import com.huimv.admin.mapper.GroupMenuMapper;
+import com.huimv.admin.mapper.SysAccountMultilevelMapper;
 import com.huimv.admin.service.IGroupService;
+import com.huimv.admin.service.ISysAccountMultilevelService;
 import com.huimv.common.utils.Result;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.RequestBody;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -32,6 +35,7 @@ public class GroupServiceImpl extends ServiceImpl<GroupMapper, Group> implements
     @Autowired
     private GroupMenuMapper groupMenuMapper;
 
+
     @Override
     public Result updateGroup(@RequestBody Group group) {
         try {
@@ -63,16 +67,17 @@ public class GroupServiceImpl extends ServiceImpl<GroupMapper, Group> implements
     }
 
     @Override
-    public  IPage<Group> listGroup(Map map) {
+    public  IPage<Group> listGroup(Map map, List<Integer> allChildId) {
         Integer pageNum = (Integer)map.get("pageNum");
         Integer pageSize = (Integer)map.get("pageSize");
-        String searchStr = (String)map.get("searchStr");
-        return this.page(new Page<>(pageNum, pageSize),new QueryWrapper<Group>().orderByDesc("id"));
+
+        return this.page(new Page<>(pageNum, pageSize),new QueryWrapper<Group>().in("account_id",allChildId).orderByDesc("id"));
     }
 
     @Override
-    public Result addGroup(Group group) {
+    public Result addGroup(Group group,Integer userId) {
         try {
+            group.setAccountId(userId);
             groupMapper.insert(group);
             return new Result(10000,"添加成功",true);
         }catch (Exception e){

+ 24 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/impl/LoginServiceImpl.java

@@ -1,8 +1,11 @@
 package com.huimv.admin.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.admin.entity.Account;
+import com.huimv.admin.entity.SysAccountMultilevel;
 import com.huimv.admin.mapper.AccountMapper;
+import com.huimv.admin.mapper.SysAccountMultilevelMapper;
 import com.huimv.admin.service.ILoginService;
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.ResultCode;
@@ -42,4 +45,25 @@ public class LoginServiceImpl implements ILoginService {
     public Result logout() {
         return null;
     }
+
+    @Autowired
+    private SysAccountMultilevelMapper accountMultilevelMapper;
+
+    @Override
+    public Result loginMultilevel(String accountName, String password) {
+
+        QueryWrapper<SysAccountMultilevel> wrapper = new QueryWrapper<>();
+        wrapper.eq("account",accountName).eq("password",password);
+        SysAccountMultilevel accountMultilevel = accountMultilevelMapper.selectOne(wrapper);
+
+        if (ObjectUtil.isEmpty(accountMultilevel)){
+            return new Result(10001, "账号不存在或密码错误.", false);
+        }
+
+
+        if (accountMultilevel.getAccountStatus() == 0){
+            return new Result(10002, "账号未启用.", false);
+        }
+        return new Result(ResultCode.SUCCESS,accountMultilevel);
+    }
 }

+ 23 - 2
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/impl/MenuServiceImpl.java

@@ -2,7 +2,12 @@ package com.huimv.admin.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.admin.entity.Account;
+import com.huimv.admin.entity.AccountGroup;
+import com.huimv.admin.entity.GroupMenu;
 import com.huimv.admin.entity.Menu;
+import com.huimv.admin.mapper.AccountGroupMapper;
+import com.huimv.admin.mapper.GroupMenuMapper;
 import com.huimv.admin.mapper.MenuMapper;
 import com.huimv.admin.service.IMenuService;
 import com.huimv.common.utils.Result;
@@ -28,14 +33,30 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements IM
     @Autowired
     private MenuMapper menuMapper;
 
+    @Autowired
+    private AccountGroupMapper accountGroupMapper;
+
+    @Autowired
+    private GroupMenuMapper groupMenuMapper;
+
     @Override
-    public Result addMenu(Menu menu) {
+    public Result addMenu(Menu menu,Integer userId) {
 
         try {
             if (menu == null){
                 return  new Result(10002,"参数错误",false);
             }
-            menuMapper.insert(menu);
+
+             menuMapper.insert(menu);
+            Integer id = menu.getId();
+            List<AccountGroup> accounts = accountGroupMapper.selectList(new QueryWrapper<AccountGroup>().eq("account_id", userId));
+            for (AccountGroup account : accounts) {
+                GroupMenu groupMenu = new GroupMenu();
+                groupMenu.setGroupId(account.getGroupId());
+                groupMenu.setMenuId(id);
+                groupMenuMapper.insert(groupMenu);
+            }
+
             return new Result(10000,"添加成功",true);
         }catch (Exception e){
             return new Result(10001,"添加失败",false);

+ 112 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/impl/SysAccountMultilevelServiceImpl.java

@@ -0,0 +1,112 @@
+package com.huimv.admin.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.admin.entity.SysAccountMultilevel;
+import com.huimv.admin.mapper.SysAccountMultilevelMapper;
+import com.huimv.admin.service.ISysAccountMultilevelService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-10-14
+ */
+@Service
+public class SysAccountMultilevelServiceImpl extends ServiceImpl<SysAccountMultilevelMapper, SysAccountMultilevel> implements ISysAccountMultilevelService {
+
+    @Autowired
+    private SysAccountMultilevelMapper accountMultilevelMapper;
+
+    @Override
+    public Result findUserAccount(String searchStr, int pageNum, int pageSize, Integer userId) {
+
+        QueryWrapper<SysAccountMultilevel> wrapper = new QueryWrapper<>();
+        wrapper.like("pids",userId).or().eq("id",userId);
+        IPage<SysAccountMultilevel> page = this.page(new Page<>(pageNum, pageSize), wrapper);
+        return new Result(ResultCode.SUCCESS,page);
+    }
+
+    @Override
+    public Result add(SysAccountMultilevel sysAccountMultilevel, Integer userId) {
+        SysAccountMultilevel byId = this.getById(userId);
+
+
+        sysAccountMultilevel.setPid(userId);
+        sysAccountMultilevel.setPids(byId.getPids()+","+userId);
+        accountMultilevelMapper.insert(sysAccountMultilevel);
+        return  new Result( 10000,"添加成功",true);
+    }
+
+    @Override
+    public Result setAccountStatus(List<Integer> ids, Integer status) {
+        try {
+            for (Integer id : ids) {
+                SysAccountMultilevel account= new SysAccountMultilevel();
+                account.setId(id);
+                account.setAccountStatus(status);
+                this.updateById(account);
+            }
+        }catch (Exception e){
+            return new Result(10001,"插入失败",false);
+        }
+        String message = "";
+        if(status == 1){
+            message = "你选择的账号已经启用。";
+        }else{
+            message = "你选择的账号已经暂停启用。";
+        }
+        return new Result(10000,message,true);
+    }
+
+    @Override
+    public List<Integer> getAllChildId(Integer userId) {
+        List<SysAccountMultilevel> pids = this.list(new QueryWrapper<SysAccountMultilevel>().like("pids", userId + ""));
+        List<Integer> list = new ArrayList<>();
+        for (SysAccountMultilevel pid : pids) {
+            list.add(pid.getId());
+        }
+        list.add(userId);
+        return list;
+    }
+
+    @Override
+    public Result listSubordinate(String searchStr, int pageNum, int pageSize, Integer userId) {
+
+        QueryWrapper<SysAccountMultilevel> wrapper = new QueryWrapper<>();
+        wrapper.like("pids",userId);
+        IPage<SysAccountMultilevel> page = this.page(new Page<>(pageNum, pageSize), wrapper);
+        return new Result(ResultCode.SUCCESS,page);
+    }
+
+    @Override
+    public Result getLastFarmId(Integer userId) {
+        SysAccountMultilevel sysAccountMultilevel = accountMultilevelMapper.selectById(userId);
+        Integer lastFarmId = sysAccountMultilevel.getLastFarmId();
+        String farmIds = sysAccountMultilevel.getFarmIds();
+        if (farmIds == null){
+            return new Result(10001,"该账号没有绑定牧场",true);
+        }
+        if (lastFarmId == null){
+            String[] split = farmIds.split(",");
+            String s = split[0];
+            sysAccountMultilevel.setLastFarmId(Integer.valueOf(s));
+            accountMultilevelMapper.updateById(sysAccountMultilevel);
+            return new Result(ResultCode.SUCCESS,s);
+        }
+        return new Result(ResultCode.SUCCESS,lastFarmId);
+    }
+
+
+}

+ 2 - 2
huimv-farm-v2/huimv-admin/src/main/resources/com/huimv/admin/mapper/MenuMapper.xml

@@ -8,7 +8,7 @@
         WHERE id IN
         (SELECT DISTINCT(menu_id) FROM sys_group_menu WHERE group_id IN
         (SELECT group_id FROM sys_account_group WHERE
-        account_id=(SELECT user1.id FROM sys_account account,sys_user user1 WHERE account.id=#{accountName} AND account.user_id=user1.user_id)))
+        account_id=#{accountName} ))
         ORDER BY sort ASC
     </select>
 
@@ -18,7 +18,7 @@
         WHERE id IN
         (SELECT DISTINCT(menu_id) FROM sys_group_menu WHERE group_id IN
         (SELECT group_id FROM sys_account_group WHERE
-        account_id=(SELECT user1.id FROM sys_account account,sys_user user1 WHERE account.id=#{userId} AND account.user_id=user1.user_id))) and weight =1
+        account_id=#{userId})) and weight =1
         ORDER BY sort ASC
     </select>
 </mapper>

+ 4 - 3
huimv-farm-v2/huimv-common/src/main/java/com/huimv/common/token/TokenSign.java

@@ -25,7 +25,7 @@ public class TokenSign {
      * 产生token
      * @return
      */
-    public static String sign(String useName){
+    public static String sign(String userName,Integer id){
 
         String JwtToken = Jwts.builder()
                 //头部信息
@@ -36,7 +36,8 @@ public class TokenSign {
                 //过期时间
                 .setExpiration(new Date(System.currentTimeMillis() + EXPIRE_TIME))
                 //token主体部分,存储用户信息
-                .claim("id", useName)
+                .claim("userName", userName)
+                .claim("id",id)
                 .signWith(SignatureAlgorithm.HS256, APP_SECRET)
                 .compact();
 
@@ -73,7 +74,7 @@ public class TokenSign {
      * @return
      */
     public static Integer getMemberIdByJwtToken(HttpServletRequest request) {
-        String jwtToken = request.getHeader("token");
+        String jwtToken = request.getHeader("accessToken");
         if (StringUtils.isEmpty(jwtToken)) {
             return null;
         }

+ 1 - 1
huimv-farm-v2/huimv-common/src/main/java/com/huimv/common/utils/GeneratorCodeConfig.java

@@ -125,7 +125,7 @@ public class GeneratorCodeConfig {
         strategy.setInclude(scanner("表名,多个英文逗号分割").split(","));
         strategy.setControllerMappingHyphenStyle(true);
         strategy.setTablePrefix(pc.getModuleName() + "_");
-//        strategy.setTablePrefix("sys_");
+        strategy.setTablePrefix("base_");
         mpg.setStrategy(strategy);
         mpg.setTemplateEngine(new FreemarkerTemplateEngine());
         mpg.execute();

+ 2 - 1
huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/HuimvEnvApplication.java

@@ -1,12 +1,13 @@
 package com.huimv.env;
 
+import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.context.ApplicationContext;
 import org.springframework.scheduling.annotation.EnableScheduling;
 
 @SpringBootApplication
-@EnableScheduling
+@MapperScan("com.huimv.env.mapper")
 public class HuimvEnvApplication {
 
     public static void main(String[] args) {

+ 52 - 0
huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/controller/ProdStockController.java

@@ -0,0 +1,52 @@
+package com.huimv.env.controller;
+
+
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.additional.query.impl.QueryChainWrapper;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.env.entity.ProdStock;
+import com.huimv.env.service.IProdStockService;
+import com.huimv.env.service.impl.ProdStockServiceImpl;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.naming.Name;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-10-12
+ */
+@RestController
+@RequestMapping("/prodStock")
+public class ProdStockController {
+
+    @Autowired
+    private IProdStockService prodStockService;
+
+    @GetMapping("/listERP")
+    public Result listERP(@RequestParam(name = "farmId") Integer farmId){
+        Date now = new Date();
+
+        List<ProdStock> list = prodStockService.list(new QueryWrapper<ProdStock>().eq("farm_id", farmId).eq("year",DateUtil.year(now)).eq("month", DateUtil.month(now)+1));
+        return new Result(ResultCode.SUCCESS,list);
+    }
+
+    @GetMapping("/listStorage")
+    public Result listStorage(@RequestParam(name = "farmId") Integer farmId){
+
+        Map map = prodStockService.listStorage(farmId);
+        return new Result(ResultCode.SUCCESS,map);
+    }
+
+
+}

+ 55 - 1
huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/entity/ProdStock.java

@@ -1,8 +1,62 @@
 package com.huimv.env.entity;
 
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
 
 @Data
-public class ProdStock {
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class ProdStock extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 存栏类型
+     */
+    private String stockType;
+
+    /**
+     * 存栏名称
+     */
+    private String stockName;
+
+    /**
+     * 存栏数量
+     */
+    private Integer stockQuantity;
+
+    /**
+     * 占比
+     */
+    private Double rate;
+
+    /**
+     * 月份
+     */
+    private Integer month;
+
+    /**
+     * 年份
+     */
+    private Integer year;
+
+    /**
+     * 牧场id
+     */
+    private Integer farmId;
+
+    /**
+     * 区域id
+     */
+    private Integer subareaId;
+
+
 }

+ 17 - 0
huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/mapper/ProdStockMapper.java

@@ -0,0 +1,17 @@
+package com.huimv.env.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.env.entity.ProdStock;
+
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-10-12
+ */
+public interface ProdStockMapper extends BaseMapper<ProdStock> {
+
+}

+ 19 - 0
huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/service/IProdStockService.java

@@ -0,0 +1,19 @@
+package com.huimv.env.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.env.entity.ProdStock;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-10-12
+ */
+public interface IProdStockService extends IService<ProdStock> {
+
+    Map listStorage(Integer farmId);
+}

+ 111 - 0
huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/service/impl/ProdStockServiceImpl.java

@@ -0,0 +1,111 @@
+package com.huimv.env.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.env.entity.ProdStock;
+import com.huimv.env.mapper.ProdStockMapper;
+import com.huimv.env.service.IProdStockService;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-10-12
+ */
+@Service
+public class ProdStockServiceImpl extends ServiceImpl<ProdStockMapper, ProdStock> implements IProdStockService {
+
+    @Override
+    public Map listStorage(Integer farmId) {
+        Map map = new HashMap();
+//        QueryWrapper<ProdStock> wrapper = new QueryWrapper<>();
+//        wrapper.eq("farm_id", farmId);
+//        wrapper.eq("stock_type","sow_stock");
+//        List<ProdStock> sowStock = this.list(wrapper);
+//        map.put("sowStock",sowStock);
+//
+//        QueryWrapper<ProdStock> wrapper1 = new QueryWrapper<>();
+//        wrapper1.eq("farm_id", farmId);
+//        wrapper1.eq("stock_type","boar_stock");
+//        List<ProdStock> boarStock = this.list(wrapper);
+//        map.put("boarStock",boarStock);
+//
+//
+//        QueryWrapper<ProdStock> wrapper2 = new QueryWrapper<>();
+//        wrapper2.eq("farm_id", farmId);
+//        wrapper2.eq("stock_type","grice_stock");
+//        List<ProdStock> griceStock = this.list(wrapper);
+//        map.put("griceStock",griceStock);
+//
+//
+//        QueryWrapper<ProdStock> wrapper3 = new QueryWrapper<>();
+//        wrapper3.eq("farm_id", farmId);
+//        wrapper3.eq("stock_type","piglet_stock");
+//        List<ProdStock> pigletStock = this.list(wrapper);
+//        map.put("pigletStock",pigletStock);
+//
+//
+//        QueryWrapper<ProdStock> wrapper4 = new QueryWrapper<>();
+//        wrapper4.eq("farm_id", farmId);
+//        wrapper4.eq("stock_type","fatpig_stock");
+//        List<ProdStock> fatpigStock = this.list(wrapper);
+//        map.put("fatpigStock",fatpigStock);
+
+        List list = new ArrayList();
+        list.add("sow_stock");
+        list.add("boar_stock");
+        list.add("grice_stock");
+        list.add("piglet_stock");
+        list.add("fatpig_stock");
+        QueryWrapper<ProdStock> wrapper = new QueryWrapper<>();
+        wrapper.in("stock_type",list);
+        List<ProdStock> prodStockList = this.list(wrapper);
+        Set month = new HashSet();
+        List sowStock = new ArrayList();
+        List boarStock = new ArrayList();
+        List griceStock = new ArrayList();
+        List pigletStock = new ArrayList();
+        List fatpigStock = new ArrayList();
+        for (ProdStock prodStock : prodStockList) {
+            month.add(prodStock.getMonth());
+            String stockType = prodStock.getStockType();
+            Integer stockQuantity = prodStock.getStockQuantity();
+            switch (stockType){
+                case "sow_stock":
+                    sowStock.add(stockQuantity);
+                    break;
+                case "boar_stock":
+                    boarStock.add(stockQuantity);
+                    break;
+                case "grice_stock":
+                    griceStock.add(stockQuantity);
+                    break;
+                case "piglet_stock":
+                    pigletStock.add(stockQuantity);
+                    break;
+                case "fatpig_stock":
+                    fatpigStock.add(stockQuantity);
+                    break;
+                default:
+                    break;
+
+            }
+        }
+
+        map.put("sowStock",sowStock);
+        map.put("boarStock",boarStock);
+        map.put("griceStock",griceStock);
+        map.put("pigletStock",pigletStock);
+        map.put("fatpigStock",fatpigStock);
+        map.put("month",month);
+        return map;
+    }
+
+
+}

+ 6 - 0
huimv-farm-v2/huimv-gateway/src/main/resources/application-dev.yml

@@ -20,6 +20,12 @@ spring:
             - Path=/video/**
           filters:
             - StripPrefix=1
+        - id: env
+          uri: http://127.0.0.1:8085
+          predicates:
+            - Path=/env/**
+          filters:
+            - StripPrefix=1
 
 logging:
   level:

+ 2 - 0
huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/entity/Camera.java

@@ -83,4 +83,6 @@ public class Camera extends Model {
     private Integer sort;
 
 
+
+    private  Integer farmId;
 }

+ 4 - 0
huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/entity/CameraArea.java

@@ -34,5 +34,9 @@ public class CameraArea extends Model {
 
     private String remark;
 
+    private  Integer farmId;
+
+    private  String publicUrl;
+
 
 }

+ 2 - 0
huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/entity/CameraBrand.java

@@ -47,5 +47,7 @@ public class CameraBrand extends Model {
      */
     private Integer streamType;
 
+    private  Integer farmId;
+
 
 }

+ 4 - 0
huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/entity/PublicNetwork.java

@@ -32,4 +32,8 @@ public class PublicNetwork {
     private Date creationTime;
 
     private  String remark;
+
+    private  Integer farmId;
+
+
 }

+ 1 - 0
huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/entity/vo/CameraListVo.java

@@ -11,4 +11,5 @@ public class CameraListVo {
     private  Integer areaId;
     private  Integer brandId;
     private Integer sort;
+    private Integer farmId;
 }

+ 2 - 1
huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/service/impl/CameraAreaServiceImpl.java

@@ -38,8 +38,9 @@ public class CameraAreaServiceImpl extends ServiceImpl<CameraAreaMapper, CameraA
         Integer current = (Integer)params.get("current");
         Integer size = (Integer) params.get("size");
         String areaName = (String) params.get("areaName");
+        Integer farmId = (Integer)params.get("farmId");
 
-        IPage<CameraArea> list = page(new Page<>(current, size), new QueryWrapper<CameraArea>().like(StringUtils.isNotEmpty(areaName),"area_name", areaName));
+        IPage<CameraArea> list = page(new Page<>(current, size), new QueryWrapper<CameraArea>().like(StringUtils.isNotEmpty(areaName),"area_name", areaName).eq("farm_id",farmId));
         return new Result(ResultCode.SUCCESS,list);
     }
 

+ 2 - 1
huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/service/impl/CameraBrandServiceImpl.java

@@ -36,7 +36,8 @@ public class CameraBrandServiceImpl extends ServiceImpl<CameraBrandMapper, Camer
         Integer current = (Integer)params.get("current");
         Integer size = (Integer) params.get("size");
         String brandName = (String) params.get("brandName");
-        IPage<CameraBrand> list = page(new Page<>(current, size), new QueryWrapper<CameraBrand>().like("brand_name", brandName));
+        Integer farmId = (Integer) params.get("farmId");
+        IPage<CameraBrand> list = page(new Page<>(current, size), new QueryWrapper<CameraBrand>().like("brand_name", brandName).eq("farm_id",farmId));
         return new Result(ResultCode.SUCCESS,list);
     }
 

+ 4 - 4
huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/service/impl/CameraServiceImpl.java

@@ -34,8 +34,7 @@ import java.util.List;
 @Service
 public class CameraServiceImpl extends ServiceImpl<CameraMapper, Camera> implements ICameraService {
 
-    @Autowired
-    private PublicNetworkMapper publicNetworkMapper;
+
 
     @Autowired
     private CameraBrandMapper cameraBrandMapper;
@@ -53,6 +52,7 @@ public class CameraServiceImpl extends ServiceImpl<CameraMapper, Camera> impleme
         Integer areaId = cameraListVo.getAreaId();
         Integer brandId = cameraListVo.getBrandId();
         Integer sort = cameraListVo.getSort();
+        Integer farmId = cameraListVo.getFarmId();
 
         QueryWrapper<Camera> wrapper = new QueryWrapper<>();
         if (areaId!=null){
@@ -73,6 +73,7 @@ public class CameraServiceImpl extends ServiceImpl<CameraMapper, Camera> impleme
         }else {
             wrapper.orderByAsc("sort");
         }
+        wrapper.eq("farm_id",farmId);
 
 
         return new Result(ResultCode.SUCCESS,page(new Page<>(current, size), wrapper));
@@ -100,14 +101,13 @@ public class CameraServiceImpl extends ServiceImpl<CameraMapper, Camera> impleme
         for (Camera camera : list) {
             for (Integer cameraId : cameraIds) {
                 if (cameraId.equals( camera.getId())){
-                    String url = publicNetworkMapper.selectOne(null).getUrl();
 
                     String cameraAccount = camera.getAccount();
                     String cameraPassword = camera.getPassword();
                     String camerIp = camera.getCameraIp();
                     String cameraName = camera.getCameraName();
                     Integer areaId = camera.getAreaId();
-
+                    String url = cameraAreaMapper.selectById(areaId).getPublicUrl();
 
                     String rtsp ;
                     CameraBrand cameraBrand = cameraBrandMapper.selectById(camera.getBrandId());