Browse Source

apiservice接口编写(getKFeedTime)

yinhao 4 years ago
parent
commit
2288367cc8

+ 19 - 6
huimv-smart-apiservice/src/main/java/com/huimv/apiservice/controller/PigController.java

@@ -1,8 +1,6 @@
 package com.huimv.apiservice.controller;
 
-import com.huimv.apiservice.entity.vo.PigBaseVo;
-import com.huimv.apiservice.entity.vo.PigImageVo;
-import com.huimv.apiservice.entity.vo.PigPedigreeVo;
+import com.huimv.apiservice.entity.vo.*;
 import com.huimv.apiservice.service.PigService;
 import com.huimv.common.utils.R;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -61,12 +59,27 @@ public class PigController {
 
     @RequestMapping("/getKeeper")
     public R getKeeper(@RequestParam(value = "accessToken", required = false) String accessToken,
-                            @RequestParam("pigEarTagNo") String pigEarTagNo) {
+                       @RequestParam("pigEarTagNo") String pigEarTagNo) {
         //TODO token校验
-        PigPedigreeVo pigPedigreeVo = pigService.getKeeper(pigEarTagNo);
-        return Objects.requireNonNull(R.ok().put("code", 1000)).put("data", pigPedigreeVo);
+        PigKeeperVo pigKeeperVo = pigService.getKeeper(pigEarTagNo);
+        return Objects.requireNonNull(R.ok().put("code", 1000)).put("data", pigKeeperVo);
     }
 
+    @RequestMapping("/getIndoorEnv")
+    public R getIndoorEnv(@RequestParam(value = "accessToken", required = false) String accessToken,
+                       @RequestParam("pigEarTagNo") String pigEarTagNo) {
+        //TODO token校验
+        EnvVo envVo = pigService.getIndoorEnv(pigEarTagNo);
+        return Objects.requireNonNull(R.ok().put("code", 1000)).put("data", envVo);
+    }
+
+    @RequestMapping("/getFeedTimes")
+    public R getFeedTimes(@RequestParam(value = "accessToken", required = false) String accessToken,
+                          @RequestParam("pigEarTagNo") String pigEarTagNo) {
+        //TODO token校验
+          = pigService.getFeedTimes(pigEarTagNo);
+        return Objects.requireNonNull(R.ok().put("code", 1000)).put("data", envVo);
+    }
 
 
 

+ 17 - 0
huimv-smart-apiservice/src/main/java/com/huimv/apiservice/dao/EmployeeDao.java

@@ -0,0 +1,17 @@
+package com.huimv.apiservice.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.apiservice.entity.EmployeeEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 养殖员信息表
+ * 
+ * @author yinhao
+ * @email yinhao@163.com
+ * @date 2021-05-07 15:32:42
+ */
+@Mapper
+public interface EmployeeDao extends BaseMapper<EmployeeEntity> {
+	
+}

+ 4 - 0
huimv-smart-apiservice/src/main/java/com/huimv/apiservice/dao/PigDao.java

@@ -1,6 +1,7 @@
 package com.huimv.apiservice.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.apiservice.entity.EmployeeEntity;
 import com.huimv.apiservice.entity.YearPigBaseEntity;
 import org.mapstruct.Mapper;
 import org.springframework.stereotype.Repository;
@@ -13,4 +14,7 @@ import org.springframework.stereotype.Repository;
 @Mapper
 @Repository
 public interface PigDao extends BaseMapper<YearPigBaseEntity> {
+
+    EmployeeEntity selectFeederInfoByPigEarTagNo(String pigEarTagNo);
+
 }

+ 62 - 0
huimv-smart-apiservice/src/main/java/com/huimv/apiservice/entity/EmployeeEntity.java

@@ -0,0 +1,62 @@
+package com.huimv.apiservice.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 养殖员信息表
+ *
+ * @author yinhao
+ * @email yinhao@163.com
+ * @date 2021-05-07 15:32:42
+ */
+@Data
+@TableName("mgt_employee")
+public class EmployeeEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     *
+     */
+    @TableId
+    private Integer id;
+    /**
+     * 姓名
+     */
+    private String name;
+    /**
+     * 职位
+     */
+    private String position;
+    /**
+     * 入场时间
+     */
+    private Date approachTime;
+    /**
+     * 离场时间
+     */
+    private Date departureTime;
+    /**
+     * 是否当前在职(1:在岗,0不在岗)
+     */
+    private Boolean jobStauts;
+    /**
+     * 删除状态 0正常 1已删除
+     */
+    @TableLogic
+    private Boolean deleted;
+    /**
+     * 创建时间
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Date gmtCreate;
+    /**
+     * 修改时间
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Date gmtModified;
+
+}

+ 21 - 0
huimv-smart-apiservice/src/main/java/com/huimv/apiservice/entity/vo/EnvVo.java

@@ -0,0 +1,21 @@
+package com.huimv.apiservice.entity.vo;
+
+import lombok.Data;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author yinhao
+ * @date 2021/5/10 17:18
+ */
+@Data
+public class EnvVo {
+
+    private String pigEarTagNo;
+
+    private IndoorEnvVo indoorEnv;
+
+    private OutdoorEnvVo outdoorEnv;
+}

+ 37 - 0
huimv-smart-apiservice/src/main/java/com/huimv/apiservice/entity/vo/FeederVo.java

@@ -0,0 +1,37 @@
+package com.huimv.apiservice.entity.vo;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 饲养员VO
+ * </p>
+ *
+ * @author yinhao
+ * @date 2021/5/10 15:59
+ */
+@Data
+public class FeederVo {
+
+    /**
+     * 饲养员名称
+     */
+    private String name;
+
+    /**
+     * 职位
+     */
+    private String position;
+
+    /**
+     * 入场时间
+     */
+    private Date  approachTime;
+
+    /**
+     * 出场时间
+     */
+    private Date departureTime;
+}

+ 12 - 0
huimv-smart-apiservice/src/main/java/com/huimv/apiservice/entity/vo/IndoorEnvVo.java

@@ -0,0 +1,12 @@
+package com.huimv.apiservice.entity.vo;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author yinhao
+ * @date 2021/5/10 17:19
+ */
+public class IndoorEnvVo {
+}

+ 15 - 0
huimv-smart-apiservice/src/main/java/com/huimv/apiservice/entity/vo/OutdoorEnvVo.java

@@ -0,0 +1,15 @@
+package com.huimv.apiservice.entity.vo;
+
+import lombok.Data;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author yinhao
+ * @date 2021/5/10 17:19
+ */
+@Data
+public class OutdoorEnvVo {
+}

+ 12 - 3
huimv-smart-apiservice/src/main/java/com/huimv/apiservice/entity/vo/PigKeeperVo.java

@@ -1,13 +1,22 @@
 package com.huimv.apiservice.entity.vo;
 
+import lombok.Data;
+
 /**
  * <p>
  *
  * </p>
- *
  * @author yinhao
- * @Date 2021/5/10 15:35
- * @Description
+ * @date 2021/5/10 15:35
  */
+@Data
 public class PigKeeperVo {
+
+    /**
+     * 耳标号
+     */
+    private String pigEarTagNo;
+
+    private FeederVo feeder;
+
 }

+ 5 - 3
huimv-smart-apiservice/src/main/java/com/huimv/apiservice/service/PigService.java

@@ -2,9 +2,7 @@ package com.huimv.apiservice.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.huimv.apiservice.entity.YearPigBaseEntity;
-import com.huimv.apiservice.entity.vo.PigBaseVo;
-import com.huimv.apiservice.entity.vo.PigImageVo;
-import com.huimv.apiservice.entity.vo.PigPedigreeVo;
+import com.huimv.apiservice.entity.vo.*;
 
 import java.util.List;
 
@@ -23,4 +21,8 @@ public interface PigService extends IService<YearPigBaseEntity> {
     List<PigBaseVo> getListByBreed(String breedName);
 
     PigPedigreeVo getPigPedigree(String pigEarTagNo);
+
+    PigKeeperVo getKeeper(String pigEarTagNo);
+
+    EnvVo getIndoorEnv(String pigEarTagNo);
 }

+ 47 - 13
huimv-smart-apiservice/src/main/java/com/huimv/apiservice/service/impl/PigServiceImpl.java

@@ -1,6 +1,5 @@
 package com.huimv.apiservice.service.impl;
 
-import cn.hutool.core.codec.Base64;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -10,6 +9,7 @@ import com.huimv.apiservice.dao.PigDao;
 import com.huimv.apiservice.dao.PigstyDao;
 import com.huimv.apiservice.dao.YearPigHistoryImgDao;
 import com.huimv.apiservice.dao.YearPigPedigreeDao;
+import com.huimv.apiservice.entity.EmployeeEntity;
 import com.huimv.apiservice.entity.PigstyEntity;
 import com.huimv.apiservice.entity.YearPigBaseEntity;
 import com.huimv.apiservice.entity.YearPigPedigreeEntity;
@@ -58,10 +58,17 @@ public class PigServiceImpl extends ServiceImpl<PigDao, YearPigBaseEntity> imple
             pigBaseVo.setBreed(yearPigBaseEntity.getBreed());
             //虚拟数据 待填充
             pigBaseVo.setBirthday(new Date());
-            PigstyEntity pigstyEntity = pigstyDao.selectById(yearPigBaseEntity.getUnitId());
-            String number = pigstyEntity.getNumber();
-            if (StringUtils.isNotEmpty(number)) {
-                pigBaseVo.setPigsty(number);
+            Integer unitId = yearPigBaseEntity.getUnitId();
+            PigstyEntity pigstyEntity = null;
+            if (unitId != null) {
+                 pigstyEntity = pigstyDao.selectById(unitId);
+            }
+
+            if (ObjectUtil.isNotNull(pigstyEntity)) {
+                String number = pigstyEntity.getNumber();
+                if (StringUtils.isNotEmpty(number)) {
+                    pigBaseVo.setPigsty(number);
+                }
             }
             //虚拟数据 待填充
             pigBaseVo.setBodyTemperature("100");
@@ -77,8 +84,8 @@ public class PigServiceImpl extends ServiceImpl<PigDao, YearPigBaseEntity> imple
         pigImageVo.setPigEarTagNo(pigEarTagNo);
         String img = yearPigHistoryImgDao.getLatestImgByPigEarTagNo(pigEarTagNo);
         if (StringUtils.isNotEmpty(img)) {
-            String encodeImg = Base64.encode(img);
-            pigImageVo.setImageData(encodeImg);
+            //String encodeImg = Base64.encode(img);
+            pigImageVo.setImageData(img);
         }
         return pigImageVo;
     }
@@ -98,10 +105,16 @@ public class PigServiceImpl extends ServiceImpl<PigDao, YearPigBaseEntity> imple
                 pigBaseVo.setBreed(yearPigBaseEntity.getBreed());
                 //虚拟数据 待填充
                 pigBaseVo.setBirthday(new Date());
-                PigstyEntity pigstyEntity = pigstyDao.selectById(yearPigBaseEntity.getUnitId());
-                String number = pigstyEntity.getNumber();
-                if (StringUtils.isNotEmpty(number)) {
-                    pigBaseVo.setPigsty(number);
+                Integer unitId = yearPigBaseEntity.getUnitId();
+                PigstyEntity pigstyEntity = null;
+                if (unitId != null) {
+                    pigstyEntity = pigstyDao.selectById(unitId);
+                }
+                if (ObjectUtil.isNotNull(pigstyEntity)) {
+                    String number = pigstyEntity.getNumber();
+                    if (StringUtils.isNotEmpty(number)) {
+                        pigBaseVo.setPigsty(number);
+                    }
                 }
                 //虚拟数据 待填充
                 pigBaseVo.setBodyTemperature("100");
@@ -133,7 +146,7 @@ public class PigServiceImpl extends ServiceImpl<PigDao, YearPigBaseEntity> imple
             String fatherEarTag = yearPigPedigreeEntity.getBoarEartag();
 
             lambdaQueryWrapper.clear();
-            lambdaQueryWrapper.eq(YearPigBaseEntity::getEartag,motherEarTag);
+            lambdaQueryWrapper.eq(YearPigBaseEntity::getEartag, motherEarTag);
             YearPigBaseEntity mother = baseMapper.selectOne(lambdaQueryWrapper);
             PigPedigreeMotherVo pigPedigreeMotherVo = new PigPedigreeMotherVo();
             if (ObjectUtil.isNotNull(mother)) {
@@ -147,11 +160,12 @@ public class PigServiceImpl extends ServiceImpl<PigDao, YearPigBaseEntity> imple
             pigPedigreeVo.setMother(pigPedigreeMotherVo);
 
             lambdaQuery.clear();
-            lambdaQueryWrapper.eq(YearPigBaseEntity::getEartag,fatherEarTag);
+            lambdaQueryWrapper.eq(YearPigBaseEntity::getEartag, fatherEarTag);
             PigPedigreeFatherVo pigPedigreeFatherVo = new PigPedigreeFatherVo();
             YearPigBaseEntity father = baseMapper.selectOne(lambdaQueryWrapper);
             if (ObjectUtil.isNotNull(father)) {
                 pigPedigreeFatherVo.setBreed(father.getBreed());
+                //虚拟数据 待填充
                 pigPedigreeFatherVo.setOriginPlace("产地信息");
             }
             pigPedigreeVo.setFather(pigPedigreeFatherVo);
@@ -160,7 +174,27 @@ public class PigServiceImpl extends ServiceImpl<PigDao, YearPigBaseEntity> imple
         return pigPedigreeVo;
     }
 
+    @Override
+    public PigKeeperVo getKeeper(String pigEarTagNo) {
+
+        PigKeeperVo pigKeeperVo = new PigKeeperVo();
+        pigKeeperVo.setPigEarTagNo(pigEarTagNo);
+
+        EmployeeEntity employeeEntity = baseMapper.selectFeederInfoByPigEarTagNo(pigEarTagNo);
+        FeederVo feederVo = pigKeeperVo.getFeeder();
+        if (employeeEntity != null) {
+            feederVo.setName(employeeEntity.getName());
+            feederVo.setPosition(employeeEntity.getPosition());
+            feederVo.setApproachTime(employeeEntity.getApproachTime());
+            feederVo.setDepartureTime(employeeEntity.getDepartureTime());
+        }
 
+        return pigKeeperVo;
+    }
 
+    @Override
+    public EnvVo getIndoorEnv(String pigEarTagNo) {
 
+        return null;
+    }
 }

+ 22 - 0
huimv-smart-apiservice/src/main/resources/mapper/apiservice/EmployeeDao.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.huimv.apiservice.dao.EmployeeDao">
+
+	<!-- 可根据自己的需求,是否要使用 -->
+    <resultMap type="com.huimv.apiservice.entity.EmployeeEntity" id="employeeMap">
+        <result property="id" column="id"/>
+        <result property="name" column="name"/>
+        <result property="position" column="position"/>
+        <result property="approachTime" column="approach_time"/>
+        <result property="departureTime" column="departure_time"/>
+        <result property="jobStauts" column="job_stauts"/>
+        <result property="deleted" column="deleted"/>
+        <result property="gmtCreate" column="gmt_create"/>
+        <result property="gmtModified" column="gmt_modified"/>
+    </resultMap>
+
+
+
+
+</mapper>

+ 13 - 0
huimv-smart-apiservice/src/main/resources/mapper/apiservice/YearPigBaseDao.xml

@@ -19,4 +19,17 @@
     </resultMap>
 
 
+    <select id="selectFeederInfoByPigEarTagNo" parameterType="string" resultType="com.huimv.apiservice.entity.EmployeeEntity">
+        SELECT
+          me.*
+        FROM
+          mgt_employee me
+        JOIN mgt_pigsty mp
+        ON me.id = mp.feeder_id
+        JOIN mgt_pigsty_pig mpp
+        ON mpp.pigsty_id = mp.id
+        WHERE mpp.eartag = #{pigEarTagNo}
+    </select>
+
+
 </mapper>