From 07e05c3847141c4896156c143e2ac89e7837e1bb Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期五, 13 十月 2023 17:52:53 +0800
Subject: [PATCH] #获取可退款信息

---
 server/platform/src/main/java/com/doumee/api/business/PricingDetailController.java           |   20 +++++++++
 server/services/src/main/java/com/doumee/dao/business/model/PricingDetail.java               |    4 ++
 server/services/src/main/java/com/doumee/service/business/impl/PricingDetailServiceImpl.java |   67 ++++++++++++++++++++++-----------
 server/services/src/main/java/com/doumee/service/business/impl/PricingParamServiceImpl.java  |    5 +-
 4 files changed, 71 insertions(+), 25 deletions(-)

diff --git a/server/platform/src/main/java/com/doumee/api/business/PricingDetailController.java b/server/platform/src/main/java/com/doumee/api/business/PricingDetailController.java
index f329cd4..c06e0d4 100644
--- a/server/platform/src/main/java/com/doumee/api/business/PricingDetailController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/PricingDetailController.java
@@ -3,6 +3,7 @@
 import com.doumee.api.BaseController;
 import com.doumee.core.annotation.excel.ExcelExporter;
 import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.constants.Constants;
 import com.doumee.core.model.ApiResponse;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
@@ -15,6 +16,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -34,7 +36,7 @@
     @ApiOperation("鏂板缓")
     @PostMapping("/create")
     @RequiresPermissions("business:pricingdetail:create")
-    public ApiResponse create(@RequestBody PricingDetail pricingDetail) {
+    public ApiResponse create(@RequestBody @Valid PricingDetail pricingDetail) {
         return ApiResponse.success(pricingDetailService.create(pricingDetail));
     }
 
@@ -87,4 +89,20 @@
     public ApiResponse findById(@PathVariable String id) {
         return ApiResponse.success(pricingDetailService.findById(id));
     }
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param pricePramId 瀹炰綋瀵硅薄
+     * @return List<PricingDetail>
+     */
+    @ApiOperation("鏍规嵁瀹氫环閰嶇疆ID鏌ヨ")
+    @GetMapping("/findListByPricePramId")
+    @RequiresPermissions("business:pricingdetail:query")
+    public ApiResponse<List<PricingDetail>> findList(@RequestParam String pricePramId){
+        PricingDetail pricingDetail = new PricingDetail();
+        pricingDetail.setPricePramId(pricePramId);
+        pricingDetail.setIsdeleted(Constants.ZERO);
+        return ApiResponse.success(pricingDetailService.findList(pricingDetail));
+    }
 }
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/PricingDetail.java b/server/services/src/main/java/com/doumee/dao/business/model/PricingDetail.java
index e87fb89..2581f7a 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/PricingDetail.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/PricingDetail.java
@@ -10,6 +10,8 @@
 import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
 import java.math.BigDecimal;
 import java.util.Date;
 
@@ -51,10 +53,12 @@
 
     @ApiModelProperty(value = "瀹氫环鏂规缂栫爜(鍏宠仈price_param)")
     @ExcelColumn(name="瀹氫环鏂规缂栫爜(鍏宠仈price_param)")
+    @NotBlank(message = "瀹氫环鏂规缂栫爜涓嶅厑璁镐负绌�")
     private String pricePramId;
 
     @ApiModelProperty(value = "杞﹁締绫诲瀷缂栫爜(鍏宠仈bike_types琛級")
     @ExcelColumn(name="杞﹁締绫诲瀷缂栫爜(鍏宠仈bike_types琛級")
+    @NotBlank(message = "杞﹁締绫诲瀷涓嶅厑璁镐负绌�")
     private String bikeTypeId;
 
     @ApiModelProperty(value = "杞﹁締绫诲瀷缂栫爜(鍏宠仈bike_types琛級")
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/PricingDetailServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/PricingDetailServiceImpl.java
index b274ad8..c07143d 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/PricingDetailServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/PricingDetailServiceImpl.java
@@ -45,28 +45,7 @@
     @Override
     public String create(PricingDetail pricingDetail) {
 
-        if ((pricingDetail.getBaseTime() < 0) &&
-                Objects.isNull(pricingDetail.getBasePrice())){
-            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"涓�鍙d环浠锋牸涓嶅彲涓虹┖");
-        }
-
-        if ((pricingDetail.getBaseTime() > 0) &&
-                (Objects.isNull(pricingDetail.getBasePrice())
-                || Objects.isNull(pricingDetail.getUnitTime())
-                || Objects.isNull(pricingDetail.getUnitPrice()))){
-            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"闃舵瀹氫环鍙傛暟涓嶅彲涓虹┖");
-        }
-
-        if ( Objects.isNull(pricingDetail.getBasePrice()) && (pricingDetail.getHolidayBasePrice().compareTo(BigDecimal.ZERO)<Constants.ZERO)
-                ){
-            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鑺傚亣涓�鍙d环浠锋牸涓嶅彲涓虹┖");
-        }
-
-        if ((Objects.isNull(pricingDetail.getHolidayBasePrice())
-                        || Objects.isNull(pricingDetail.getHolidayBasePrice())
-                        || Objects.isNull(pricingDetail.getHolidayBasePrice()))&&(pricingDetail.getHolidayBasePrice().compareTo(BigDecimal.ZERO)>Constants.ZERO)){
-            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鑺傚亣闃舵瀹氫环鍙傛暟涓嶅彲涓虹┖");
-        }
+        checkPricingDetail(pricingDetail);
         LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         PricingDetail insert = new PricingDetail();
         insert.setCreateDate(new Date());
@@ -90,6 +69,46 @@
         return pricingDetail.getId();
     }
 
+    private void checkPricingDetail(PricingDetail pricingDetail){
+        if ((Objects.nonNull(pricingDetail.getBaseTime()) &&  pricingDetail.getBaseTime() < 0) &&
+                Objects.isNull(pricingDetail.getBasePrice())){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"涓�鍙d环浠锋牸涓嶅彲涓虹┖");
+        }
+
+        if ((Objects.nonNull(pricingDetail.getBaseTime()) && pricingDetail.getBaseTime() > 0) &&
+                (Objects.isNull(pricingDetail.getBasePrice())
+                        || Objects.isNull(pricingDetail.getUnitTime())
+                        || Objects.isNull(pricingDetail.getUnitPrice()))){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"闃舵瀹氫环鍙傛暟涓嶅彲涓虹┖");
+        }
+
+        if ( (Objects.nonNull(pricingDetail.getHolidayBaseTime()) && pricingDetail.getHolidayBaseTime() < 0)
+                && ( Objects.isNull(pricingDetail.getHolidayBasePrice()))
+        ){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鑺傚亣涓�鍙d环浠锋牸涓嶅彲涓虹┖");
+        }
+
+        if (((Objects.nonNull(pricingDetail.getHolidayBaseTime()) && pricingDetail.getHolidayBaseTime() > 0))
+                && (Objects.isNull(pricingDetail.getHolidayBasePrice())
+                || Objects.isNull(pricingDetail.getHolidayUnitTime())
+                || Objects.isNull(pricingDetail.getHolidayUnitPrice()))){
+
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鑺傚亣闃舵瀹氫环鍙傛暟涓嶅彲涓虹┖");
+        }
+
+        QueryWrapper<PricingDetail> wrapper = new QueryWrapper<>();
+        wrapper.lambda()
+                .eq(PricingDetail::getIsdeleted,Constants.ZERO)
+                .eq(PricingDetail::getBikeTypeId,pricingDetail.getBikeTypeId())
+                .eq(PricingDetail::getPricePramId,pricingDetail.getPricePramId());
+        Integer exitCount = pricingDetailMapper.selectCount(wrapper);
+
+        if (exitCount > Constants.ZERO){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇ヨ溅鍨嬪凡閰嶇疆");
+        }
+
+    }
+
     @Override
     public void deleteById(String id) {
         pricingDetailMapper.deleteById(id);
@@ -111,6 +130,10 @@
 
     @Override
     public void updateById(PricingDetail pricingDetail) {
+        checkPricingDetail(pricingDetail);
+        LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        pricingDetail.setEditDate(new Date());
+        pricingDetail.setEditor(principal.getId());
         pricingDetailMapper.updateById(pricingDetail);
     }
 
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/PricingParamServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/PricingParamServiceImpl.java
index a77d0db..48cfe8a 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/PricingParamServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/PricingParamServiceImpl.java
@@ -46,8 +46,9 @@
         insert.setEndDate(pricingParam.getEndDate());
         insert.setSortnum(pricingParam.getSortnum());
         insert.setStatus(Constants.ZERO);
-        pricingParamMapper.insert(pricingParam);
-        return pricingParam.getId();
+        insert.setInfo(pricingParam.getInfo());
+        pricingParamMapper.insert(insert);
+        return insert.getId();
     }
 
     @Override

--
Gitblit v1.9.3