فهرست منبع

产品新增新增产品是否存在的判断逻辑,另外枚举类Status 新增 记录存在的值

杨六六 4 سال پیش
والد
کامیت
2089e592f8

+ 1 - 1
common/fire-dto/src/main/java/com/fire/dto/FireProductInfo.java

@@ -39,7 +39,7 @@ public class FireProductInfo extends Model<FireProductInfo> {
      * 流量包ID
      */
     @ApiModelProperty(value = "产品编号")
-    @TableId(value = "package_id")
+    @TableId(value = "package_id",type=IdType.INPUT)
     private String packageId;
 
 

+ 1 - 0
common/fire-dto/src/main/java/com/fire/dto/enums/Status.java

@@ -31,6 +31,7 @@ public enum Status {
     PROVINCE_MAINTAIN("30", "省份维护"),
     PRODUCT_MAINTAIN("205", "产品维护"),
     BALANCE_NOT_ENOUGH("301", "可用余额不足"),
+    RECORDING_EXISTS("410", "记录已经存在"),
     PARAM_ERROR("306", "参数不合法");
 
     private final String status;

+ 20 - 19
modules/admin/src/main/java/com/fire/admin/rest/FireProductController.java

@@ -3,6 +3,7 @@ package com.fire.admin.rest;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fire.admin.dto.FireProductInfoDto;
 import com.fire.admin.service.FireProductService;
+import com.fire.dto.response.BaseResponse;
 import com.fire.dto.response.BaseRestResponse;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -50,37 +51,37 @@ public class FireProductController {
      */
     @ApiOperation(value = "新增产品信息")
     @PostMapping("/add")
-    public BaseRestResponse productInfoAdd(@RequestBody FireProductInfoDto fireProductInfoDto) throws Throwable {
-        return new BaseRestResponse<>(fireProductService.insertProductInfo(fireProductInfoDto));
+    public BaseResponse productInfoAdd(@RequestBody FireProductInfoDto fireProductInfoDto) throws Throwable {
+        fireProductService.insertProductInfo(fireProductInfoDto);
+        return new BaseResponse();
     }
 
     /**
-    * @Description:  TODO  获取产品详情
-    * @Param:  产品id]
-    * @return: com.fire.dto.response.BaseRestResponse
-    * @Author: liuliu
-    * @Date: 2021/5/26 11:10
-    */
+     * @Description: TODO  获取产品详情
+     * @Param: 产品id]
+     * @return: com.fire.dto.response.BaseRestResponse
+     * @Author: liuliu
+     * @Date: 2021/5/26 11:10
+     */
     @ApiOperation(value = "获取产品详情")
-    @GetMapping("/{productId}")
-    public  BaseRestResponse getProductInfoDetail(@PathVariable Integer productId){
-        return new BaseRestResponse<>(fireProductService.getProductInfoDetail(productId));
+    @GetMapping("/{packageId}")
+    public BaseRestResponse getProductInfoDetail(@PathVariable String packageId) {
+        return new BaseRestResponse<>(fireProductService.getProductInfoDetail(packageId));
     }
 
 
     /**
-    * @Description:  TODO 修改产品信息
-    * @Param:  产品网络传输对象
-    * @return: com.fire.dto.response.BaseRestResponse
-    * @Author: liuliu
-    * @Date: 2021/5/26 11:10
-    */
+     * @Description: TODO 修改产品信息
+     * @Param: 产品网络传输对象
+     * @return: com.fire.dto.response.BaseRestResponse
+     * @Author: liuliu
+     * @Date: 2021/5/26 11:10
+     */
     @ApiOperation(value = "修改产品信息(和逻辑删除)")
     @PutMapping
-    public BaseRestResponse updateProductInfo(@RequestBody FireProductInfoDto fireProductInfoDto){
+    public BaseRestResponse updateProductInfo(@RequestBody FireProductInfoDto fireProductInfoDto) {
         return new BaseRestResponse<>(fireProductService.updateProductInfo(fireProductInfoDto));
     }
 
 
-
 }

+ 2 - 2
modules/admin/src/main/java/com/fire/admin/service/FireProductService.java

@@ -31,7 +31,7 @@ public interface FireProductService extends IService<FireProductInfo> {
     * @Author: liuliu
     * @Date: 2021/5/18 11:58
     */
-    boolean insertProductInfo(FireProductInfoDto fireProductInfoDto) ;
+    void insertProductInfo(FireProductInfoDto fireProductInfoDto) ;
     
     /**
     * @Description:  TODO 获取产品详情
@@ -40,7 +40,7 @@ public interface FireProductService extends IService<FireProductInfo> {
     * @Author: liuliu
     * @Date: 2021/5/18 16:34
     */
-    FireProductInfoVo getProductInfoDetail(Integer productId);
+    FireProductInfoVo getProductInfoDetail(String packageId);
     
     
     /**

+ 28 - 17
modules/admin/src/main/java/com/fire/admin/service/impl/FireProductServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fire.admin.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -9,7 +10,9 @@ import com.fire.admin.service.FireProductService;
 import com.fire.admin.util.EnumUtils;
 import com.fire.admin.util.SecurityUtil;
 import com.fire.admin.vo.FireProductInfoVo;
+import com.fire.common.exception.BaseException;
 import com.fire.dto.FireProductInfo;
+import com.fire.dto.enums.Status;
 import com.fire.utils.date.DateUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -47,27 +50,35 @@ public class FireProductServiceImpl extends ServiceImpl<FireProductMapper, FireP
      * @Date: 2021/5/18 11:38
      */
     @Override
-    public boolean insertProductInfo(FireProductInfoDto fireProductInfoDto) {
+    public void insertProductInfo(FireProductInfoDto fireProductInfoDto) {
         String packageId = fireProductInfoDto.getPackageId();
         if(!fireProductInfoDto.getAreaName().equals("全国")){
             packageId=packageId.concat("_").concat(EnumUtils.convert(fireProductInfoDto.getAreaName()));
         }
 
-        FireProductInfo productInfo = FireProductInfo.builder().packageId(packageId)
-                .productName(fireProductInfoDto.getProductName())
-                .productType(fireProductInfoDto.getProductType())
-                .productPrice(fireProductInfoDto.getProductPrice())
-                .createTime(DateUtils.strformatDatetime(LocalDateTime.now()))
-                .areaNum(EnumUtils.convert(fireProductInfoDto.getAreaName()))
-                .areaName(fireProductInfoDto.getAreaName())
-                .creator(SecurityUtil.getUser().getUsername())
-                .operator(fireProductInfoDto.getOperator()).build();
-        log.info("新增产品,产品适用于客户和通道。产品信息为:【{}】", productInfo.toString());
-        boolean flat = this.saveOrUpdate(productInfo);
-        if (flat) {
-            // TODO 发送消息到 产品的 TOPIC
+        FireProductInfo fireProductInfo = baseMapper.selectById(packageId);
+        if(ObjectUtil.hasEmpty(fireProductInfo)){
+            FireProductInfo productInfo = FireProductInfo.builder().packageId(packageId)
+                    .productName(fireProductInfoDto.getProductName())
+                    .productType(fireProductInfoDto.getProductType())
+                    .productPrice(fireProductInfoDto.getProductPrice())
+                    .createTime(DateUtils.strformatDatetime(LocalDateTime.now()))
+                    .areaNum(EnumUtils.convert(fireProductInfoDto.getAreaName()))
+                    .areaName(fireProductInfoDto.getAreaName())
+                    .creator(SecurityUtil.getUser().getUsername())
+                    .operator(fireProductInfoDto.getOperator()).build();
+
+
+            log.info("新增产品,产品适用于客户和通道。产品信息为:【{}】", productInfo.toString());
+            int count =baseMapper.insert(productInfo);
+            if (count>0) {
+                // TODO 发送消息到 产品的 TOPIC
+            }
+        }else {
+            log.info("--------  产品信息已经存在,添加产品失败 -----------------");
+            throw new BaseException(Status.RECORDING_EXISTS.status(),Status.RECORDING_EXISTS.message());
         }
-        return flat;
+
     }
 
     /**
@@ -78,8 +89,8 @@ public class FireProductServiceImpl extends ServiceImpl<FireProductMapper, FireP
      * @Date: 2021/5/18 16:33
      */
     @Override
-    public FireProductInfoVo getProductInfoDetail(Integer productId) {
-        FireProductInfo fireProductInfo = this.baseMapper.selectById(productId);
+    public FireProductInfoVo getProductInfoDetail(String packageId) {
+        FireProductInfo fireProductInfo = this.baseMapper.selectById(packageId);
 
         FireProductInfoVo productInfoVo = FireProductInfoVo.builder()
                 .packageId(fireProductInfo.getPackageId())

+ 1 - 7
modules/admin/src/main/resources/mapper/FireProductMapper.xml

@@ -5,11 +5,9 @@
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.fire.dto.FireProductInfo">
         <id column="package_id" property="packageId"/>
-        <result column="product_code" property="productCode"/>
         <result column="product_name" property="productName"/>
         <result column="product_type" property="productType"/>
         <result column="product_price" property="productPrice"/>
-        <result column="product_desc" property="productDesc"/>
         <result column="creator" property="creator"/>
         <result column="create_time" property="createTime"/>
         <result column="updator" property="updator"/>
@@ -23,11 +21,9 @@
 
     <resultMap id="ResultMap" type="com.fire.admin.vo.FireProductInfoVo">
         <result column="package_id" property="packageId"/>
-        <result column="product_code" property="productCode"/>
         <result column="product_name" property="productName"/>
         <result column="product_type" property="productType"/>
         <result column="product_price" property="productPrice"/>
-        <result column="product_desc" property="productDesc"/>
         <result column="creator" property="creator"/>
         <result column="create_time" property="createTime"/>
         <result column="updator" property="updator"/>
@@ -41,11 +37,9 @@
     <select id="selectFireProductInfo" resultMap="ResultMap">
         SELECT
         `package_id`,
-        `product_code`,
         `product_name`,
         `product_type`,
         `product_price`,
-        `product_desc`,
         `creator`,
         `create_time`,
         `updator`,
@@ -68,7 +62,7 @@
             <if test="query.operator != null and query.operator != ''">
                 and operator =#{query.operator}
             </if>
-            <if test="query.isDelete != null and query.isDelete != ''">
+            <if test="query.isDelete != null and query.isDelete != '' or query.isDelete ==0 ">
                 and is_delete =#{query.isDelete}
             </if>
         </where>