Browse Source

运费模板详情

cup 3 years ago
parent
commit
04d6085ad6

+ 18 - 6
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/ShippingTemplateController.java

@@ -1,16 +1,16 @@
 package com.qs.mp.web.controller.api.admin;
 
 import com.qs.mp.admin.domain.param.ShippingTemplateParam;
+import com.qs.mp.admin.domain.vo.ShippingTemplateVO;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.service.IShippingTemplateService;
 import com.qs.mp.web.controller.common.BaseApiController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * 运费模板相关接口
@@ -30,17 +30,29 @@ public class ShippingTemplateController extends BaseApiController {
     @ApiOperation("新增运费模板")
     public AjaxResult create(@RequestBody ShippingTemplateParam shippingTemplateParam) {
         // 新增运费模板
-        return AjaxResult.success(shippingTemplateService.create(shippingTemplateParam));
+        shippingTemplateService.create(shippingTemplateParam);
+
+        return AjaxResult.success();
     }
 
     @PostMapping("/update")
     @ApiOperation("更新运费模板")
     public AjaxResult update(@RequestBody ShippingTemplateParam shippingTemplateParam){
         // 修改运费模板
-        boolean flag = shippingTemplateService.updateShippingTemplate(shippingTemplateParam);
+        shippingTemplateService.updateShippingTemplate(shippingTemplateParam);
         return AjaxResult.success();
     }
 
 
+    @PostMapping("/detail/{id}")
+    @ApiOperation("运费模板详情")
+    @ApiResponses(
+            @ApiResponse(code = 200, message = "返回运费模板详情",response = ShippingTemplateVO.class)
+    )
+    public AjaxResult detail(@PathVariable("id") Long id){
+        // 运费模板详情
+        return AjaxResult.success(shippingTemplateService.detail(id));
+    }
+
 
 }

+ 18 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/vo/ShippingTemplateRuleAreaVO.java

@@ -0,0 +1,18 @@
+package com.qs.mp.admin.domain.vo;
+
+
+import com.qs.mp.common.domain.ShippingTemplateRuleArea;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * 运费模板规则区域出参类
+ *
+ * @author Cup
+ * @date 2022/5/5
+ */
+@ApiModel("运费模板规则区域出参类")
+@Data
+public class ShippingTemplateRuleAreaVO extends ShippingTemplateRuleArea {
+
+}

+ 24 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/vo/ShippingTemplateRuleVO.java

@@ -0,0 +1,24 @@
+package com.qs.mp.admin.domain.vo;
+
+
+import com.qs.mp.common.domain.ShippingTemplateRule;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 运费模板规则出参类
+ *
+ * @author Cup
+ * @date 2022/5/5
+ */
+@ApiModel("运费模板规则出参类")
+@Data
+public class ShippingTemplateRuleVO extends ShippingTemplateRule {
+
+    @ApiModelProperty("运费规则相关区域列表")
+    List<ShippingTemplateRuleAreaVO> shippingTemplateRuleAreaList;
+
+}

+ 22 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/vo/ShippingTemplateVO.java

@@ -0,0 +1,22 @@
+package com.qs.mp.admin.domain.vo;
+
+import com.qs.mp.common.domain.ShippingTemplate;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 运费模板出参类
+ * @author Cup
+ * @date 2022/5/5
+ */
+@ApiModel("运费模板出参类")
+@Data
+public class ShippingTemplateVO extends ShippingTemplate {
+
+    @ApiModelProperty("运费模板相关规则列表")
+    List<ShippingTemplateRuleVO> shippingTemplateRuleList;
+
+}

+ 8 - 0
mp-service/src/main/java/com/qs/mp/common/service/IShippingTemplateService.java

@@ -1,6 +1,7 @@
 package com.qs.mp.common.service;
 
 import com.qs.mp.admin.domain.param.ShippingTemplateParam;
+import com.qs.mp.admin.domain.vo.ShippingTemplateVO;
 import com.qs.mp.common.domain.ShippingTemplate;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -27,4 +28,11 @@ public interface IShippingTemplateService extends IService<ShippingTemplate> {
      * @return
      */
     boolean updateShippingTemplate(ShippingTemplateParam shippingTemplateParam);
+
+    /**
+     * 根据id查询运费模板详情
+     * @param id    运费模板id
+     * @return
+     */
+    ShippingTemplateVO detail(Long id);
 }

+ 37 - 0
mp-service/src/main/java/com/qs/mp/common/service/impl/ShippingTemplateServiceImpl.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.qs.mp.admin.domain.param.ShippingTemplateParam;
 import com.qs.mp.admin.domain.param.ShippingTemplateRuleAreaParam;
 import com.qs.mp.admin.domain.param.ShippingTemplateRuleParam;
+import com.qs.mp.admin.domain.vo.ShippingTemplateRuleAreaVO;
+import com.qs.mp.admin.domain.vo.ShippingTemplateRuleVO;
+import com.qs.mp.admin.domain.vo.ShippingTemplateVO;
 import com.qs.mp.common.domain.ShippingTemplate;
 import com.qs.mp.common.domain.ShippingTemplateRule;
 import com.qs.mp.common.domain.ShippingTemplateRuleArea;
@@ -42,6 +45,40 @@ public class ShippingTemplateServiceImpl extends ServiceImpl<ShippingTemplateMap
     @Autowired
     private IShippingTemplateRuleAreaService shippingTemplateRuleAreaService;
 
+    @Override
+    public ShippingTemplateVO detail(Long id) {
+        ShippingTemplateVO shippingTemplateVO = new ShippingTemplateVO();
+        ShippingTemplate shippingTemplate = this.getById(id);
+        if (Objects.isNull(shippingTemplate)) {
+            throw new ServiceException("运费模板不存在");
+        }
+        BeanUtils.copyProperties(shippingTemplate, shippingTemplateVO);
+
+        // 获取封装运费模板规则
+        List<ShippingTemplateRuleVO> shippingTemplateRuleVOS = new ArrayList<>();
+        List<ShippingTemplateRule> shippingTemplateRules = shippingTemplateRuleService.list(new LambdaQueryWrapper<ShippingTemplateRule>().eq(ShippingTemplateRule::getShippingTemplateId, id));
+        for (ShippingTemplateRule shippingTemplateRule : shippingTemplateRules) {
+
+            ShippingTemplateRuleVO shippingTemplateRuleVO = new ShippingTemplateRuleVO();
+            BeanUtils.copyProperties(shippingTemplateRule, shippingTemplateRuleVO);
+
+            List<ShippingTemplateRuleAreaVO> shippingTemplateRuleAreaVOS = new ArrayList<>();
+
+            // 获取封装运费模板规则区域
+            List<ShippingTemplateRuleArea> shippingTemplateRuleAreaList = shippingTemplateRuleAreaService.list(new LambdaQueryWrapper<ShippingTemplateRuleArea>().eq(ShippingTemplateRuleArea::getShippingTemplateRuleId, shippingTemplateRule.getId()));
+            for (ShippingTemplateRuleArea shippingTemplateRuleArea : shippingTemplateRuleAreaList) {
+                ShippingTemplateRuleAreaVO shippingTemplateRuleAreaVO = new ShippingTemplateRuleAreaVO();
+                BeanUtils.copyProperties(shippingTemplateRuleArea, shippingTemplateRuleAreaVO);
+                shippingTemplateRuleAreaVOS.add(shippingTemplateRuleAreaVO);
+            }
+
+            shippingTemplateRuleVO.setShippingTemplateRuleAreaList(shippingTemplateRuleAreaVOS);
+            shippingTemplateRuleVOS.add(shippingTemplateRuleVO);
+        }
+        shippingTemplateVO.setShippingTemplateRuleList(shippingTemplateRuleVOS);
+        return shippingTemplateVO;
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean create(ShippingTemplateParam shippingTemplateParam) {