523096025 3 rokov pred
rodič
commit
cbfc779c95
34 zmenil súbory, kde vykonal 2027 pridanie a 1027 odobranie
  1. 20 1013
      huimv-goldpig/app-log/log_total.log
  2. 1013 0
      huimv-goldpig/app-log/total/log-total-2022-03-01.0.log
  3. 20 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/controller/BizFirstInspecEartagController.java
  4. 44 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/controller/BizInspectionPhotoController.java
  5. 20 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/controller/BizNspectionController.java
  6. 20 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/controller/BizSecondInspecEartagController.java
  7. 19 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/controller/BizSellPigApplyController.java
  8. 17 5
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/controller/BizSellPigApplyEartagController.java
  9. 37 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/entity/BizFirstInspecEartag.java
  10. 40 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/entity/BizInspectionPhoto.java
  11. 90 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/entity/BizNspection.java
  12. 47 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/entity/BizSecondInspecEartag.java
  13. 9 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/entity/EartagRegisterEntity.java
  14. 14 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/entity/vo/EartagNoVo.java
  15. 14 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/entity/vo/InspecVo.java
  16. 18 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/mapper/BizFirstInspecEartagMapper.java
  17. 18 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/mapper/BizInspectionPhotoMapper.java
  18. 16 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/mapper/BizNspectionMapper.java
  19. 16 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/mapper/BizSecondInspecEartagMapper.java
  20. 2 8
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/mapper/BizSellPigApplyEartagMapper.java
  21. 16 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/IBizFirstInspecEartagService.java
  22. 23 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/IBizInspectionPhotoService.java
  23. 16 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/IBizNspectionService.java
  24. 16 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/IBizSecondInspecEartagService.java
  25. 6 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/IBizSellPigApplyService.java
  26. 4 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/impl/BasePigpenServiceImpl.java
  27. 20 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/impl/BizFirstInspecEartagServiceImpl.java
  28. 108 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/impl/BizInspectionPhotoServiceImpl.java
  29. 20 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/impl/BizNspectionServiceImpl.java
  30. 20 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/impl/BizSecondInspecEartagServiceImpl.java
  31. 138 1
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/impl/BizSellPigApplyServiceImpl.java
  32. 20 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/utils/MyMvcConfig.java
  33. 23 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/utils/ServerAddress.java
  34. 103 0
      huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/utils/UpImage.java

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 20 - 1013
huimv-goldpig/app-log/log_total.log


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1013 - 0
huimv-goldpig/app-log/total/log-total-2022-03-01.0.log


+ 20 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/controller/BizFirstInspecEartagController.java

@@ -0,0 +1,20 @@
+package com.huimv.eartag.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2022-03-03
+ */
+@RestController
+@RequestMapping("/bizFirstInspecEartag")
+public class BizFirstInspecEartagController {
+
+}

+ 44 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/controller/BizInspectionPhotoController.java

@@ -0,0 +1,44 @@
+package com.huimv.eartag.controller;
+
+
+import com.huimv.common.utils.Result;
+import com.huimv.eartag.entity.BizInspectionPhoto;
+import com.huimv.eartag.service.IBizInspectionPhotoService;
+import com.huimv.eartag.utils.UpImage;
+import org.apache.ibatis.annotations.Arg;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2022-03-03
+ */
+@RestController
+@RequestMapping("/bizInspectionPhoto")
+public class BizInspectionPhotoController {
+    @Autowired
+    private IBizInspectionPhotoService bizInspectionPhotoService;
+
+    @PostMapping("/addInspection")
+    public Result addInspection( HttpServletRequest request, MultipartFile[] files,
+                                 @RequestParam(name ="farmId") String farmId,
+                                 @RequestParam(name ="batchNo") String batchNo,
+                                 @RequestParam(name = "eartagNos")String eartagNos,
+                                 @RequestParam(name = "inspecStatus") Integer inspecStatus){
+
+
+
+        return bizInspectionPhotoService.addInspection(request,files,farmId,batchNo,eartagNos,inspecStatus);
+
+    }
+
+}

+ 20 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/controller/BizNspectionController.java

@@ -0,0 +1,20 @@
+package com.huimv.eartag.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2022-03-03
+ */
+@RestController
+@RequestMapping("/bizNspection")
+public class BizNspectionController {
+
+}

+ 20 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/controller/BizSecondInspecEartagController.java

@@ -0,0 +1,20 @@
+package com.huimv.eartag.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2022-03-03
+ */
+@RestController
+@RequestMapping("/bizSecondInspecEartag")
+public class BizSecondInspecEartagController {
+
+}

+ 19 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/controller/BizSellPigApplyController.java

@@ -24,6 +24,8 @@ public class BizSellPigApplyController {
     @Autowired
     private IBizSellPigApplyService iBizSellPigApplyService;
 
+
+    //售猪
     @PostMapping("/sellPigRecord")
     public Result sellPigRecord(@RequestBody Map<String,String> map){
       return   iBizSellPigApplyService.sellPigRecord(map);
@@ -45,6 +47,23 @@ public class BizSellPigApplyController {
         return  new Result(10000,"修改成功",true);
     }
 
+    //检疫
+    @GetMapping("/getInspecCollect")
+    public Result getInspecCollect(@RequestParam(name = "farmId") String farmId){
+        return   iBizSellPigApplyService.getInspecCollect(farmId);
+    }
+
+    @PostMapping("/getInspecRecord")
+    public Result getInspecRecord(@RequestBody Map<String,String> map){
+        return   iBizSellPigApplyService.getInspecRecord(map);
+    }
+
+
+    @PostMapping("/inspecCheck")
+    public Result inspecCheck(@RequestBody Map<String,String> map){
+        return   iBizSellPigApplyService.inspecCheck(map);
+    }
+
 
 
 }

+ 17 - 5
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/controller/BizSellPigApplyEartagController.java

@@ -5,13 +5,16 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.ResultCode;
+import com.huimv.eartag.entity.BaseFarmInfo;
 import com.huimv.eartag.entity.BizSellPigApply;
 import com.huimv.eartag.entity.BizSellPigApplyEartag;
 import com.huimv.eartag.entity.EartagRegisterEntity;
 import com.huimv.eartag.entity.dto.SellPig;
 import com.huimv.eartag.service.EartagRegisterService;
+import com.huimv.eartag.service.IBaseFarmInfoService;
 import com.huimv.eartag.service.IBizSellPigApplyEartagService;
 import com.huimv.eartag.service.IBizSellPigApplyService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -47,6 +50,9 @@ public class BizSellPigApplyEartagController {
     @Autowired
     private EartagRegisterService eartagRegisterService;
 
+    @Autowired
+    private IBaseFarmInfoService baseFarmInfo;
+
     @Transactional
     @PostMapping("/addSellPig")
     public Result addSellPig(@RequestBody SellPig sellPig){
@@ -58,18 +64,13 @@ public class BizSellPigApplyEartagController {
         BizSellPigApply bizSellPigApply = new BizSellPigApply();
         BeanUtil.copyProperties(sellPig,bizSellPigApply);
 
-
-
         String bacthNo = DateUtil.format(new Date(), "yyyyMMddHHmmssSSS");
         bizSellPigApply.setBatchNo(bacthNo);
         bizSellPigApply.setSellTime(new Date());
         bizSellPigApply.setAutoEartagNum(eartagNos.length);
 
-
-
         bizSellPigApplyService.save(bizSellPigApply);
 
-
         List list = new ArrayList();
         for (String eartagNo : eartagNos) {
             BizSellPigApplyEartag bizSellPigApplyEartag = new BizSellPigApplyEartag();
@@ -81,8 +82,19 @@ public class BizSellPigApplyEartagController {
         bizSellPigApplyEartagService.saveBatch(list);
 
 
+        String inspecOrgId = sellPig.getInspecOrgId();
+        String butcherOrgId = sellPig.getButcherOrgId();
+        BaseFarmInfo byId = baseFarmInfo.getById(inspecOrgId);
+        BaseFarmInfo byId1 = baseFarmInfo.getById(butcherOrgId);
+
+
         EartagRegisterEntity eartagRegisterEntity = new EartagRegisterEntity();
         eartagRegisterEntity.setSellStatus(2);
+        eartagRegisterEntity.setInspecId(Integer.parseInt(inspecOrgId));
+        eartagRegisterEntity.setInspecName(byId.getFarmName());
+        eartagRegisterEntity.setButcherName(byId1.getFarmName());
+        eartagRegisterEntity.setButcherId(Integer.parseInt(butcherOrgId));
+        eartagRegisterEntity.setStage(11);
         eartagRegisterService.update(eartagRegisterEntity, new UpdateWrapper<EartagRegisterEntity>().in("eartag_no", Arrays.asList(eartagNos)));
 
 

+ 37 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/entity/BizFirstInspecEartag.java

@@ -0,0 +1,37 @@
+package com.huimv.eartag.entity;
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2022-03-03
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class BizFirstInspecEartag extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+
+    private String farmId;
+
+    private String earmark;
+
+    private Date createTime;
+
+    private String batchNo;
+
+
+}

+ 40 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/entity/BizInspectionPhoto.java

@@ -0,0 +1,40 @@
+package com.huimv.eartag.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 2022-03-03
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class BizInspectionPhoto extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private String batchNo;
+
+    /**
+     * 1:在场检疫、2:屠宰检疫
+     */
+    private Integer photoType;
+
+    private String photoName;
+
+    private String photoPath;
+
+
+}

+ 90 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/entity/BizNspection.java

@@ -0,0 +1,90 @@
+package com.huimv.eartag.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2022-03-03
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class BizNspection extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 批次编号
+     */
+    private String batchNo;
+
+    /**
+     * 在场检疫结果状态  0:未处理,1:正常,2:异常
+     */
+    private Integer firstInspecStatus;
+
+    /**
+     * 在场检疫结果
+     */
+    private String firstInspecResult;
+
+    /**
+     * 在场检疫时间
+     */
+    private LocalDateTime firstInspecTime;
+
+    /**
+     * 在场检疫自动上传数量
+     */
+    private Integer firstInspecAutoNum;
+
+    /**
+     * 在场检疫实际上传数量
+     */
+    private Integer firstInspecRealNum;
+
+    /**
+     * 屠宰检疫结果状态 0:未处理,1:正常,2:异常
+     */
+    private Integer secondInspecStatus;
+
+    /**
+     * 屠宰检疫结果
+     */
+    private String secondInspecResult;
+
+    /**
+     * 屠宰检疫时间
+     */
+    private LocalDateTime secondInspecTime;
+
+    /**
+     * 屠宰检疫自动上传数量
+     */
+    private Integer secondInspecAutoNum;
+
+    /**
+     * 屠宰检疫实际上传数量
+     */
+    private Integer secondInspecRealNum;
+
+    /**
+     * 运输车辆
+     */
+    private String plateNumber;
+
+
+}

+ 47 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/entity/BizSecondInspecEartag.java

@@ -0,0 +1,47 @@
+package com.huimv.eartag.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2022-03-03
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class BizSecondInspecEartag extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private String farmId;
+
+    /**
+     * 耳标号
+     */
+    private String earmark;
+
+    /**
+     * 添加时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 批次编号
+     */
+    private String batchNo;
+
+
+}

+ 9 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/entity/EartagRegisterEntity.java

@@ -60,4 +60,13 @@ public class EartagRegisterEntity implements Serializable {
 
 	private Integer sellStatus;
 
+
+	private Integer inspecId;
+
+	private String inspecName;
+
+	private Integer butcherId;
+
+	private String butcherName;
+
 }

+ 14 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/entity/vo/EartagNoVo.java

@@ -0,0 +1,14 @@
+package com.huimv.eartag.entity.vo;
+
+import lombok.Data;
+
+@Data
+public class EartagNoVo {
+    public EartagNoVo(String eartagNo, Integer status) {
+        this.eartagNo = eartagNo;
+        this.status = status;
+    }
+
+    String eartagNo;
+    Integer status;
+}

+ 14 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/entity/vo/InspecVo.java

@@ -0,0 +1,14 @@
+package com.huimv.eartag.entity.vo;
+
+import lombok.Data;
+
+@Data
+public class InspecVo {
+    private Integer inspecNum;
+    //完成
+    private Integer accomplishNum;
+    //合格
+    private Integer qualifiedNum;
+    //不合格
+    private Integer unQualifiedNum;
+}

+ 18 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/mapper/BizFirstInspecEartagMapper.java

@@ -0,0 +1,18 @@
+package com.huimv.eartag.mapper;
+
+import com.huimv.eartag.entity.BizFirstInspecEartag;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2022-03-03
+ */
+@Repository
+public interface BizFirstInspecEartagMapper extends BaseMapper<BizFirstInspecEartag> {
+
+}

+ 18 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/mapper/BizInspectionPhotoMapper.java

@@ -0,0 +1,18 @@
+package com.huimv.eartag.mapper;
+
+import com.huimv.eartag.entity.BizInspectionPhoto;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2022-03-03
+ */
+@Repository
+public interface BizInspectionPhotoMapper extends BaseMapper<BizInspectionPhoto> {
+
+}

+ 16 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/mapper/BizNspectionMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.eartag.mapper;
+
+import com.huimv.eartag.entity.BizNspection;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2022-03-03
+ */
+public interface BizNspectionMapper extends BaseMapper<BizNspection> {
+
+}

+ 16 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/mapper/BizSecondInspecEartagMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.eartag.mapper;
+
+import com.huimv.eartag.entity.BizSecondInspecEartag;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2022-03-03
+ */
+public interface BizSecondInspecEartagMapper extends BaseMapper<BizSecondInspecEartag> {
+
+}

+ 2 - 8
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/mapper/BizSellPigApplyEartagMapper.java

@@ -2,15 +2,9 @@ package com.huimv.eartag.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huimv.eartag.entity.BizSellPigApplyEartag;
+import org.springframework.stereotype.Repository;
 
-/**
- * <p>
- *  Mapper 接口
- * </p>
- *
- * @author astupidcoder
- * @since 2022-03-01
- */
+@Repository
 public interface BizSellPigApplyEartagMapper extends BaseMapper<BizSellPigApplyEartag> {
 
 }

+ 16 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/IBizFirstInspecEartagService.java

@@ -0,0 +1,16 @@
+package com.huimv.eartag.service;
+
+import com.huimv.eartag.entity.BizFirstInspecEartag;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2022-03-03
+ */
+public interface IBizFirstInspecEartagService extends IService<BizFirstInspecEartag> {
+
+}

+ 23 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/IBizInspectionPhotoService.java

@@ -0,0 +1,23 @@
+package com.huimv.eartag.service;
+
+import com.huimv.common.utils.Result;
+import com.huimv.eartag.entity.BizInspectionPhoto;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2022-03-03
+ */
+public interface IBizInspectionPhotoService extends IService<BizInspectionPhoto> {
+
+
+    Result addInspection(HttpServletRequest request, MultipartFile[] files, String farmId,String batchNo,String eartagNos,Integer inspecStatus);
+}

+ 16 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/IBizNspectionService.java

@@ -0,0 +1,16 @@
+package com.huimv.eartag.service;
+
+import com.huimv.eartag.entity.BizNspection;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2022-03-03
+ */
+public interface IBizNspectionService extends IService<BizNspection> {
+
+}

+ 16 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/IBizSecondInspecEartagService.java

@@ -0,0 +1,16 @@
+package com.huimv.eartag.service;
+
+import com.huimv.eartag.entity.BizSecondInspecEartag;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2022-03-03
+ */
+public interface IBizSecondInspecEartagService extends IService<BizSecondInspecEartag> {
+
+}

+ 6 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/IBizSellPigApplyService.java

@@ -22,4 +22,10 @@ public interface IBizSellPigApplyService extends IService<BizSellPigApply> {
     Result sellPigRecordCollect(Integer farmId);
 
     Result sellPigRecordManage(String batchNo);
+
+    Result getInspecCollect(String farmId);
+
+    Result getInspecRecord(Map<String,String> map);
+
+    Result inspecCheck(Map<String,String> map);
 }

+ 4 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/impl/BasePigpenServiceImpl.java

@@ -1,6 +1,7 @@
 package com.huimv.eartag.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -132,6 +133,9 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
     private Integer getGrandId(Integer parentId, List<BasePigpenDto> basePigpenDtos) {
         List<BasePigpenDto> collect = basePigpenDtos.stream().filter(o -> o.getId().equals(parentId))
                 .collect(Collectors.toList());
+        if (ObjectUtil.isEmpty(collect)){
+            return null;
+        }
         return collect.get(0).getParentId();
     }
 

+ 20 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/impl/BizFirstInspecEartagServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.eartag.service.impl;
+
+import com.huimv.eartag.entity.BizFirstInspecEartag;
+import com.huimv.eartag.mapper.BizFirstInspecEartagMapper;
+import com.huimv.eartag.service.IBizFirstInspecEartagService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2022-03-03
+ */
+@Service
+public class BizFirstInspecEartagServiceImpl extends ServiceImpl<BizFirstInspecEartagMapper, BizFirstInspecEartag> implements IBizFirstInspecEartagService {
+
+}

+ 108 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/impl/BizInspectionPhotoServiceImpl.java

@@ -0,0 +1,108 @@
+package com.huimv.eartag.service.impl;
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.eartag.entity.BizFirstInspecEartag;
+import com.huimv.eartag.entity.BizInspectionPhoto;
+import com.huimv.eartag.entity.BizSellPigApply;
+import com.huimv.eartag.entity.EartagRegisterEntity;
+import com.huimv.eartag.mapper.BizFirstInspecEartagMapper;
+import com.huimv.eartag.mapper.BizInspectionPhotoMapper;
+import com.huimv.eartag.mapper.BizSellPigApplyMapper;
+import com.huimv.eartag.mapper.EartagRegisterMapper;
+import com.huimv.eartag.service.EartagRegisterService;
+import com.huimv.eartag.service.IBizInspectionPhotoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.eartag.utils.UpImage;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2022-03-03
+ */
+@Service
+public class BizInspectionPhotoServiceImpl extends ServiceImpl<BizInspectionPhotoMapper, BizInspectionPhoto> implements IBizInspectionPhotoService {
+
+   private static final String PICURL = "/opt/goldpig-huimv/img";
+
+   @Autowired
+    private BizInspectionPhotoMapper bizInspectionPhotoMapper;
+
+
+    @Autowired
+    private BizFirstInspecEartagMapper bizFirstInspecEartagMapper;
+
+    @Autowired
+    private BizSellPigApplyMapper bizSellPigApplyMapper;
+
+    @Autowired
+    private EartagRegisterMapper eartagRegisterMapper;
+
+    @Override
+    @Transactional
+    public Result addInspection(HttpServletRequest request, MultipartFile[] files, String farmId,String batchNo,String eartagNos,Integer inspecStatus) {
+
+        DateTime date = DateUtil.date();
+        //图片存储
+        List<BizInspectionPhoto> bizInspectionPhotos = new ArrayList<>();
+        String s = UpImage.uploadImgs(files, PICURL, request);
+        String[] imgUrls = s.split(",");
+        for (String imgUrl : imgUrls) {
+            BizInspectionPhoto bizInspectionPhoto = new BizInspectionPhoto();
+            bizInspectionPhoto.setPhotoName(imgUrl.substring(imgUrl.lastIndexOf("/")));
+            bizInspectionPhoto.setBatchNo(batchNo);
+            bizInspectionPhoto.setPhotoPath(imgUrl);
+            bizInspectionPhoto.setPhotoType(1);
+
+            bizInspectionPhotos.add(bizInspectionPhoto);
+        }
+        this.saveBatch(bizInspectionPhotos);
+
+        //检疫明细
+
+        String[] eartagNo = eartagNos.split(",");
+        for (String eartag : eartagNo) {
+            BizFirstInspecEartag bizFirstInspecEartag = new BizFirstInspecEartag();
+            bizFirstInspecEartag.setBatchNo(batchNo);
+            bizFirstInspecEartag.setCreateTime(date);
+            bizFirstInspecEartag.setEarmark(eartag);
+            bizFirstInspecEartag.setFarmId(farmId);
+            bizFirstInspecEartagMapper.insert(bizFirstInspecEartag);
+        }
+
+        //修改卖猪记录状态
+        BizSellPigApply bizSellPigApply = bizSellPigApplyMapper.selectOne(new QueryWrapper<BizSellPigApply>().eq("batch_no", batchNo));
+        bizSellPigApply.setInspecFlowStatus(1);
+        bizSellPigApply.setInspecTime(date);
+        if (inspecStatus == 0){
+            bizSellPigApply.setRecordStatus(4);
+        }
+        bizSellPigApplyMapper.updateById(bizSellPigApply);
+
+        //修改耳标注册记录状态
+        EartagRegisterEntity eartagRegisterEntity =new EartagRegisterEntity();
+        eartagRegisterEntity.setStage(12);
+        UpdateWrapper<EartagRegisterEntity> updateWrapper =new UpdateWrapper<>();
+        updateWrapper.in("eartag_no", eartagNo);
+        eartagRegisterMapper.update(eartagRegisterEntity,updateWrapper);
+
+
+        return new Result(ResultCode.SUCCESS,"上传");
+    }
+}

+ 20 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/impl/BizNspectionServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.eartag.service.impl;
+
+import com.huimv.eartag.entity.BizNspection;
+import com.huimv.eartag.mapper.BizNspectionMapper;
+import com.huimv.eartag.service.IBizNspectionService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2022-03-03
+ */
+@Service
+public class BizNspectionServiceImpl extends ServiceImpl<BizNspectionMapper, BizNspection> implements IBizNspectionService {
+
+}

+ 20 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/impl/BizSecondInspecEartagServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.eartag.service.impl;
+
+import com.huimv.eartag.entity.BizSecondInspecEartag;
+import com.huimv.eartag.mapper.BizSecondInspecEartagMapper;
+import com.huimv.eartag.service.IBizSecondInspecEartagService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2022-03-03
+ */
+@Service
+public class BizSecondInspecEartagServiceImpl extends ServiceImpl<BizSecondInspecEartagMapper, BizSecondInspecEartag> implements IBizSecondInspecEartagService {
+
+}

+ 138 - 1
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/service/impl/BizSellPigApplyServiceImpl.java

@@ -1,7 +1,9 @@
 package com.huimv.eartag.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -9,8 +11,15 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.ResultCode;
 import com.huimv.eartag.entity.BizSellPigApply;
+import com.huimv.eartag.entity.BizSellPigApplyEartag;
+import com.huimv.eartag.entity.EartagRegisterEntity;
 import com.huimv.eartag.entity.vo.BizSellPigApplyVo;
+import com.huimv.eartag.entity.vo.EartagNoVo;
+import com.huimv.eartag.entity.vo.InspecVo;
+import com.huimv.eartag.mapper.BizSellPigApplyEartagMapper;
 import com.huimv.eartag.mapper.BizSellPigApplyMapper;
+import com.huimv.eartag.mapper.EartagRegisterMapper;
+import com.huimv.eartag.service.EartagRegisterService;
 import com.huimv.eartag.service.IBizSellPigApplyService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -20,6 +29,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -35,6 +45,12 @@ public class BizSellPigApplyServiceImpl extends ServiceImpl<BizSellPigApplyMappe
     @Autowired
     private BizSellPigApplyMapper bizSellPigApplyMapper;
 
+    @Autowired
+    private BizSellPigApplyEartagMapper bizSellPigApplyEartagMapper;
+
+    @Autowired
+    private EartagRegisterMapper eartagRegisterMapper;
+
     @Override
     public Result sellPigRecord(Map<String,String>  map) {
         String farmId = map.get("farmId");
@@ -79,7 +95,6 @@ public class BizSellPigApplyServiceImpl extends ServiceImpl<BizSellPigApplyMappe
     @Override
     public Result sellPigRecordCollect(Integer farmId) {
 
-
         BizSellPigApplyVo bizSellPigApplyVo = new BizSellPigApplyVo();
 
         QueryWrapper<BizSellPigApply> wrapper = new QueryWrapper<>();
@@ -108,6 +123,7 @@ public class BizSellPigApplyServiceImpl extends ServiceImpl<BizSellPigApplyMappe
         return new Result(ResultCode.SUCCESS,bizSellPigApplyVo);
     }
 
+    //很low的卖猪流程,别看
     @Override
     public Result sellPigRecordManage(String batchNo) {
 
@@ -189,4 +205,125 @@ public class BizSellPigApplyServiceImpl extends ServiceImpl<BizSellPigApplyMappe
 
         return new Result(ResultCode.SUCCESS,endMap);
     }
+
+    @Override
+    public Result getInspecCollect(String farmId) {
+        InspecVo inspecVo = new InspecVo();
+        QueryWrapper<BizSellPigApply> wrapper = new QueryWrapper<>();
+        wrapper.eq("inspec_org_id",farmId);
+        wrapper.in("inspec_flow_status",0,1);
+        inspecVo.setInspecNum(this.count(wrapper));
+
+
+        wrapper.clear();
+        wrapper.eq("inspec_org_id",farmId);
+        wrapper.eq("inspec_flow_status",1);
+        int count = this.count(wrapper);
+        inspecVo.setAccomplishNum(count);
+
+
+        wrapper.eq("real_eartag_num",4);
+        int count1 = this.count(wrapper);
+        inspecVo.setUnQualifiedNum(count1);
+
+
+        inspecVo.setQualifiedNum(count -count);
+
+        return new Result(ResultCode.SUCCESS,inspecVo);
+    }
+
+    @Override
+    public Result getInspecRecord(Map<String,String> map) {
+        String farmId = map.get("farmId");
+        String type = map.get("type");
+
+        String current = map.get("current");
+        String size =  map.get("size");
+        Page<BizSellPigApply> bizSellPigApplyPage ;
+        if (StringUtils.isBlank(current) || StringUtils.isBlank(size)){
+            bizSellPigApplyPage = new Page<>(1, 10);
+        }else {
+            bizSellPigApplyPage =new Page<>(Integer.parseInt(current), Integer.parseInt(size));
+        }
+
+
+        QueryWrapper<BizSellPigApply> wrapper = new QueryWrapper<>();
+        wrapper.eq("inspec_org_id",farmId);
+        wrapper.orderByDesc("sell_time");
+        //未审批
+        if ("1".equals(type)){
+            wrapper.eq("inspec_flow_status",0);
+
+        }
+        //合格
+       else if ("2".equals(type)){
+            wrapper.eq("inspec_flow_status",1);
+            wrapper.ne("record_status",4);
+        }
+
+        //不合格
+       else if ("3".equals(type)){
+            wrapper.eq("inspec_flow_status",1);
+            wrapper.eq("record_status",4);
+        }
+       //全部
+       else {
+          wrapper.in("inspec_flow_status",0,1);
+        }
+
+
+
+        Page<BizSellPigApply> page = this.page(bizSellPigApplyPage, wrapper);
+        return new Result(ResultCode.SUCCESS,page);
+    }
+
+    @Override
+    public Result inspecCheck(Map<String,String> map) {
+
+        Map endMap = new HashMap();
+
+        String batchNo = map.get("batchNo");
+        String farmId = map.get("farmId");
+        List<BizSellPigApplyEartag> inspecNos = bizSellPigApplyEartagMapper.selectList(new QueryWrapper<BizSellPigApplyEartag>().eq("batch_no", batchNo));
+        // DOTO
+        List<EartagRegisterEntity> eartagRegisterEntities = eartagRegisterMapper.selectList(new QueryWrapper<EartagRegisterEntity>().eq("stage", 11).eq("inspec_id", farmId));
+
+        List<String> inspecNos1 = inspecNos.stream().map(BizSellPigApplyEartag::getEarmark).collect(Collectors.toList());
+        List<String> eartagRegister1 = eartagRegisterEntities.stream().map(EartagRegisterEntity::getEartagNo).collect(Collectors.toList());
+        int inspecNos1Size = inspecNos1.size();
+        int artagRegister1Size = eartagRegister1.size();
+
+        List<EartagNoVo> list = new ArrayList<>();
+        inspecNos1.stream().forEach( s -> list.add(new EartagNoVo(s,0)));
+        endMap.put("total",inspecNos1Size);
+        if (inspecNos1Size == artagRegister1Size){
+
+
+            endMap.put("abnormal",0);
+
+        }else if (inspecNos1Size > artagRegister1Size){
+            List<String> inspecNos2 = ObjectUtil.clone(inspecNos1);
+            inspecNos2.removeAll(eartagRegister1);
+            for (String s : inspecNos2) {
+
+                list.stream().filter( o -> o.getEartagNo().equals(s)).forEach( e ->e.setStatus(1));
+            }
+
+            endMap.put("abnormal",inspecNos2.size());
+        } else{
+
+            List<String> eartagRegister2 = ObjectUtil.clone(eartagRegister1);
+            eartagRegister2.removeAll(inspecNos1);
+            for (String s : eartagRegister2) {
+
+                list.stream().filter( o -> o.getEartagNo().equals(s)).forEach( e ->e.setStatus(1));
+            }
+
+            endMap.put("abnormal",eartagRegister2.size());
+        }
+
+
+        endMap.put("eartagNos",list);
+        return new Result(ResultCode.SUCCESS,endMap);
+    }
 }

+ 20 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/utils/MyMvcConfig.java

@@ -0,0 +1,20 @@
+package com.huimv.eartag.utils;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+public class MyMvcConfig implements WebMvcConfigurer {
+    
+    @Override
+    public void addResourceHandlers(ResourceHandlerRegistry registry) {
+        //配置静态资源访问路径
+
+        //图片存放地址
+        String path = "d:/imgupload/";
+//      String path = "/home/imgupload/";
+        registry.addResourceHandler("/image/**")
+                .addResourceLocations("file:"+path);
+    }
+}

+ 23 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/utils/ServerAddress.java

@@ -0,0 +1,23 @@
+package com.huimv.eartag.utils;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.File;
+
+/**
+ * @author hi
+ * @program: uni-java3
+ * @description: 获取服务器访问地址
+ * @date 2021-05-30 14:56:23
+ */
+public class ServerAddress {
+    public static String  GetServerAddress(HttpServletRequest request){
+        //可以返回当前页面使用的协议,http 或是 https;
+        String scheme = request.getScheme();
+        //可以返回当前页面所在的服务器的名字;
+        String serverName = request.getServerName();
+        //可以返回当前页面所在的服务器使用的端口,就是8080;
+        int serverPort = request.getServerPort();
+        String path = scheme+"://"+serverName+":"+serverPort+"/";
+        return path;
+    }
+}

+ 103 - 0
huimv-goldpig/huimv-goldpig-eartag/src/main/java/com/huimv/eartag/utils/UpImage.java

@@ -0,0 +1,103 @@
+package com.huimv.eartag.utils;
+
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+import java.util.stream.Collectors;
+
+public class UpImage {
+    /**
+     * @param file 单个文件
+     * @param path 上传路径
+     * @param request HttpServletRequest  用于获取协议 端口 服务器名称
+     * @return java.lang.String   返回一个在线服务器访问地址
+     * @author
+     * @describe:   所有的上传都放在imgupload目录下
+     * @date 2021/5/31 17:41
+     */
+//    public static String uploadImg(MultipartFile file, String path, HttpServletRequest request){
+//        //上传路径
+//        //  d:/imgupload/aaa/bbb/ccc;
+//        //	/home/imgupload/aa/bb/cc
+//        //获取配置静态资源上传文件夹 后面的路径
+//        String paths = path.substring(path.indexOf("imgupload")+9);
+//
+//        //文件不为空时
+//        if(!file.isEmpty()){
+//            //拿到上传的文件名称
+//            String originalFilename = file.getOriginalFilename();
+//            //获取上传文件的后缀名
+//            String substring = originalFilename.substring(originalFilename.lastIndexOf('.'));
+//            //获得自定义文件名
+//            String filename = UUID.randomUUID()+substring;
+//            File f = new File(path);
+//            if(!f.exists()){
+//                //不存在就创建文件夹
+//                f.mkdirs();
+//            }
+//            try {
+//                file.transferTo(new File(path,filename));
+//                //返回访问地址	image 就是配置的静态资源访问路径
+//                String s = VisitSite.GetVisitSite(request)+"image"+paths+"/"+filename;
+// //输出:http://localhost:8080/image/merchantimg/b6a27a5f-6a3c-4f0d-a9d2-7c05578204f5.jpg
+//                return s;
+//            } catch (IOException e) {
+//                e.printStackTrace();
+//            }
+//        }
+//        return null;
+//    }
+
+    /**
+     * @param files  多个文件
+	 * @param path  文件上传路径
+	 * @param request
+     * @return java.lang.String 返回在线服务器访问路径
+     * @author
+     * @describe:
+     * @date 2021/6/10 13:49
+     */
+    public static String uploadImgs(MultipartFile[] files, String path, HttpServletRequest request){
+
+        String paths = path.substring(path.indexOf("imgupload")+9);
+
+        if(files.length>0){
+//                System.out.println("进来了"+identity.length);
+            //获取上传路径
+            File file = new File(path);
+            if(!file.exists()){
+                //不存在就创建文件夹
+                file.mkdirs();
+            }
+            List<String> list = new ArrayList<>();
+            for (MultipartFile multipartFile : files) {
+                if(!multipartFile.isEmpty()){
+                    String originalFilename = multipartFile.getOriginalFilename();
+                    //获取文件后缀名
+                    String substring = originalFilename.substring(originalFilename.lastIndexOf('.'));
+                    //获得自定义文件名
+                    String filename = UUID.randomUUID()+substring;
+                    try {
+                        //开始上传
+                        multipartFile.transferTo(new File(path,filename));
+                        String s = ServerAddress.GetServerAddress(request)+"image"+paths+"/"+filename;
+                        list.add(s);
+                    } catch (IOException e) {
+                        e.printStackTrace();
+                    }
+                }
+            }
+            //把list转为字符串以,隔
+            String str = list.stream().collect(Collectors.joining(","));
+ //这样就可以直接通过路径访问了
+//http://localhost:8080/image/commodityimg/f7079abc-a281-465e-889c-656e9e82ac63.png,http://localhost:8080/image/commodityimg/ac81a6ac-1e93-46d6-9482-f16f4938c0d2.jpg
+            return str;
+        }
+        return null;
+    }
+}