Explorar el Código

新增:生产地产出物信息新增、修改、删除。

lym hace 4 años
padre
commit
f6e7b9339f

+ 2 - 8
forest-admin/admin-mbg/src/main/resources/com/hwrj/cloud/admin/mapper/UmsMemberOriginProductMapper.xml

@@ -167,9 +167,7 @@
       <if test="state != null">
         state,
       </if>
-      <if test="createTime != null">
         create_time,
-      </if>
       <if test="createId != null">
         create_id,
       </if>
@@ -202,9 +200,7 @@
       <if test="state != null">
         #{state,jdbcType=INTEGER},
       </if>
-      <if test="createTime != null">
-        #{createTime,jdbcType=TIMESTAMP},
-      </if>
+      NOW(),
       <if test="createId != null">
         #{createId,jdbcType=INTEGER},
       </if>
@@ -331,9 +327,7 @@
       <if test="createId != null">
         create_id = #{createId,jdbcType=INTEGER},
       </if>
-      <if test="updateTime != null">
-        update_time = #{updateTime,jdbcType=TIMESTAMP},
-      </if>
+        update_time = NOW(),
       <if test="updateId != null">
         update_id = #{updateId,jdbcType=INTEGER},
       </if>

+ 50 - 6
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/controller/UmsMemberOriginProductController.java

@@ -1,15 +1,20 @@
 package com.hwrj.cloud.admin.controller;
 
+import com.hwrj.cloud.admin.dto.UmsMemberOriginProductParam;
 import com.hwrj.cloud.admin.model.UmsMemberOriginProduct;
 import com.hwrj.cloud.admin.service.UmsMemberOriginProductService;
+import com.hwrj.cloud.common.api.CommonPage;
 import com.hwrj.cloud.common.api.CommonResult;
+import com.hwrj.cloud.common.exception.GlobalException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
+import javax.validation.Valid;
 import java.util.List;
 
 /**
@@ -28,14 +33,53 @@ public class UmsMemberOriginProductController {
 
     @ApiOperation(value = "查询列表",notes = "查询列表")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "originProduct",value = "",required = true,paramType = "UmsMemberOriginProduct")
+            @ApiImplicitParam(name = "originProduct",value = "",required = true,paramType = "UmsMemberOriginProductParam")
     })
     @PostMapping("/list")
-    public CommonResult list(@RequestBody UmsMemberOriginProduct originProduct,
-                             @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
-                             @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize){
+    public CommonResult list(@RequestBody UmsMemberOriginProductParam originProduct){
+        List<UmsMemberOriginProduct> list = umsMemberOriginProductService.list(originProduct);
+        return CommonResult.success(CommonPage.restPage(list));
+    }
+
+    @ApiOperation(value = "添加产出物信息",notes = "添加产出物信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "originProduct",value = "产出物信息",required = true,paramType = "UmsMemberOriginProductParam")
+    })
+    @PostMapping("/save")
+    public CommonResult save(@RequestBody @Valid UmsMemberOriginProductParam originProduct){
+        int i = umsMemberOriginProductService.save(originProduct);
+        if (i > 0){
+            return CommonResult.success();
+        }
+        return CommonResult.failed();
+    }
 
-        List<UmsMemberOriginProduct> list = umsMemberOriginProductService.list(originProduct,pageNum,pageSize);
-        return CommonResult.success(list);
+    @ApiOperation(value = "修改产出物信息",notes = "修改产出物信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "originProduct",value = "产出物信息",required = true,paramType = "UmsMemberOriginProductParam")
+    })
+    @PostMapping("/update")
+    public CommonResult update(@RequestBody @Valid UmsMemberOriginProductParam originProduct){
+        if (StringUtils.isEmpty(originProduct.getId())){
+            throw new GlobalException(500,"主键不为空!");
+        }
+        int i = umsMemberOriginProductService.update(originProduct);
+        if (i > 0){
+            return CommonResult.success();
+        }
+        return CommonResult.failed();
+    }
+
+    @ApiOperation(value = "删除产出物信息",notes = "删除产出物信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id",value = "主键",required = true,paramType = "String")
+    })
+    @GetMapping("/delete")
+    public CommonResult delete(@RequestParam("id") long id){
+        int i = umsMemberOriginProductService.delete(id);
+        if (i > 0){
+            return CommonResult.success();
+        }
+        return CommonResult.failed();
     }
 }

+ 64 - 0
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/dto/UmsMemberOriginProductParam.java

@@ -0,0 +1,64 @@
+package com.hwrj.cloud.admin.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+/**
+ * @className:
+ * @description:
+ * @author: lym
+ * @date: 2020/9/7 14:59
+ */
+@Data
+@ApiModel("生产地产物信息")
+public class UmsMemberOriginProductParam {
+    @ApiModelProperty(value = "主键")
+    private Long id;
+
+    @ApiModelProperty(value = "生产地id (生产地信息表 ums_member_origin -> id)")
+    @NotNull(message = "请选择生产地!")
+    private Long fkOriginId;
+
+    @ApiModelProperty(value = "产品名称")
+    @NotEmpty(message = "产品名称不能为空!")
+    private String productName;
+
+    @ApiModelProperty(value = "产出物种植面积(亩)")
+    @NotEmpty(message = "产出物种植面积不能为空!")
+    private String plantArea;
+
+    @ApiModelProperty(value = "产出物总产量(吨)")
+    @NotEmpty(message = "产出物总产量不能为空!")
+    private String outputNum;
+
+    @ApiModelProperty(value = "产出物亩产值(万元)")
+    @NotEmpty(message = "产出物亩产值不能为空!")
+    private String outputValue;
+
+    @ApiModelProperty(value = "状态 0:可用,1:禁用,2:删除")
+    private Integer state;
+
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    @ApiModelProperty(value = "创建人")
+    private Integer createId;
+
+    @ApiModelProperty(value = "修改时间")
+    private Date updateTime;
+
+    @ApiModelProperty(value = "修改人id")
+    private Integer updateId;
+
+    @ApiModelProperty(value = "备注")
+    private String remark;
+
+    private Integer pageNum = 1;
+
+    private Integer pageSize = 10;
+}

+ 8 - 1
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/service/UmsMemberOriginProductService.java

@@ -1,5 +1,6 @@
 package com.hwrj.cloud.admin.service;
 
+import com.hwrj.cloud.admin.dto.UmsMemberOriginProductParam;
 import com.hwrj.cloud.admin.model.UmsMemberOriginProduct;
 
 import java.util.List;
@@ -12,5 +13,11 @@ import java.util.List;
  */
 public interface UmsMemberOriginProductService {
 
-    List<UmsMemberOriginProduct> list(UmsMemberOriginProduct originProduct,Integer pageNum,Integer pageSize);
+    List<UmsMemberOriginProduct> list(UmsMemberOriginProductParam originProduct);
+
+    int save(UmsMemberOriginProductParam originProduct);
+
+    int update(UmsMemberOriginProductParam originProduct);
+
+    int delete(long id);
 }

+ 55 - 2
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/service/impl/UmsMemberOriginProductServiceImpl.java

@@ -1,10 +1,14 @@
 package com.hwrj.cloud.admin.service.impl;
 
 import com.github.pagehelper.PageHelper;
+import com.hwrj.cloud.admin.dto.UmsMemberOriginProductParam;
 import com.hwrj.cloud.admin.mapper.UmsMemberOriginProductMapper;
 import com.hwrj.cloud.admin.model.UmsMemberOriginProduct;
 import com.hwrj.cloud.admin.model.UmsMemberOriginProductExample;
 import com.hwrj.cloud.admin.service.UmsMemberOriginProductService;
+import com.hwrj.cloud.admin.util.CurrUserUtil;
+import com.hwrj.cloud.common.exception.GlobalException;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
@@ -24,8 +28,8 @@ public class UmsMemberOriginProductServiceImpl implements UmsMemberOriginProduct
     private UmsMemberOriginProductMapper umsMemberOriginProductMapper;
 
     @Override
-    public List<UmsMemberOriginProduct> list(UmsMemberOriginProduct originProduct, Integer pageNum, Integer pageSize) {
-        PageHelper.startPage(pageNum, pageSize);
+    public List<UmsMemberOriginProduct> list(UmsMemberOriginProductParam originProduct) {
+        PageHelper.startPage(originProduct.getPageNum(), originProduct.getPageSize());
         UmsMemberOriginProductExample example = new UmsMemberOriginProductExample();
         UmsMemberOriginProductExample.Criteria criteria = example.createCriteria();
         if (!StringUtils.isEmpty(originProduct.getFkOriginId())) {
@@ -47,4 +51,53 @@ public class UmsMemberOriginProductServiceImpl implements UmsMemberOriginProduct
         example.setOrderByClause("create_time desc");
         return umsMemberOriginProductMapper.selectByExample(example);
     }
+
+    @Override
+    public int save(UmsMemberOriginProductParam originProduct) {
+        isExist(originProduct); //检验唯一
+
+        UmsMemberOriginProduct product = new UmsMemberOriginProduct();
+        BeanUtils.copyProperties(originProduct,product);
+        product.setState(0);
+        product.setCreateId(CurrUserUtil.getUserId());
+        return umsMemberOriginProductMapper.insertSelective(product);
+    }
+
+    @Override
+    public int update(UmsMemberOriginProductParam originProduct) {
+        isExist(originProduct); //检验唯一
+
+        UmsMemberOriginProduct product = new UmsMemberOriginProduct();
+        BeanUtils.copyProperties(originProduct,product);
+        product.setUpdateId(CurrUserUtil.getUserId());
+        return umsMemberOriginProductMapper.updateByPrimaryKeySelective(product);
+    }
+
+    /**
+     * 检验唯一
+     * lym
+     * @param originProduct
+     */
+    private void isExist(UmsMemberOriginProductParam originProduct){
+        UmsMemberOriginProductExample example = new UmsMemberOriginProductExample();
+        UmsMemberOriginProductExample.Criteria criteria = example.createCriteria();
+        if (!StringUtils.isEmpty(originProduct.getId())){
+            criteria.andIdNotEqualTo(originProduct.getId());
+        }
+        criteria.andFkOriginIdEqualTo(originProduct.getFkOriginId());
+        criteria.andProductNameEqualTo(originProduct.getProductName());
+        criteria.andStateEqualTo(0);
+        long i = umsMemberOriginProductMapper.countByExample(example);
+        if (i > 0){
+            throw new GlobalException(500,"产出物已存在!");
+        }
+    }
+
+    @Override
+    public int delete(long id) {
+        UmsMemberOriginProduct product = new UmsMemberOriginProduct();
+        product.setId(id);
+        product.setState(2);
+        return umsMemberOriginProductMapper.updateByPrimaryKeySelective(product);
+    }
 }

+ 36 - 4
forest-common/src/main/java/com/hwrj/cloud/common/exception/GlobalExceptionHandler.java

@@ -2,18 +2,22 @@ package com.hwrj.cloud.common.exception;
 
 
 import com.hwrj.cloud.common.api.CommonResult;
-import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.validation.BindException;
+import org.springframework.web.bind.MethodArgumentNotValidException;
 import org.springframework.web.bind.annotation.ExceptionHandler;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
 
 /**
  * 全局异常处理
  * Created by macro on 2020/2/27.
  */
-@ControllerAdvice
+@RestControllerAdvice
 public class GlobalExceptionHandler {
 
-    @ResponseBody
+    private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);
+
     @ExceptionHandler(value = ApiException.class)
     public CommonResult handle(ApiException e) {
         if (e.getErrorCode() != null) {
@@ -21,4 +25,32 @@ public class GlobalExceptionHandler {
         }
         return CommonResult.failed(e.getMessage());
     }
+
+    /**
+     * 自定义验证异常
+     */
+    @ExceptionHandler(BindException.class)
+    public CommonResult validatedBindException(BindException e){
+        log.error(e.getMessage(), e);
+        String message = e.getAllErrors().get(0).getDefaultMessage();
+        return CommonResult.failed(message);
+    }
+
+    /**
+     * 自定义验证异常
+     */
+    @ExceptionHandler(MethodArgumentNotValidException.class)
+    public Object validExceptionHandler(MethodArgumentNotValidException e){
+        log.error(e.getMessage(), e);
+        String message = e.getBindingResult().getFieldError().getDefaultMessage();
+        return CommonResult.failed(message);
+    }
+
+    /**
+     * 业务异常
+     */
+    @ExceptionHandler(GlobalException.class)
+    public CommonResult businessException(GlobalException e){
+         return CommonResult.failed(e.getMessage());
+    }
 }