From c6cbf3d8fd4968d1a96f7e4450e812e86c3063eb Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 19 十月 2023 17:58:30 +0800
Subject: [PATCH] 111

---
 server/services/src/main/java/com/doumee/service/business/impl/PricingParamServiceImpl.java |   69 +++++++++++++++++++++++++++-------
 1 files changed, 55 insertions(+), 14 deletions(-)

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 b5d1112..e196d52 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
@@ -1,11 +1,15 @@
 package com.doumee.service.business.impl;
 
 import com.doumee.core.constants.Constants;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.PricingDetailMapper;
 import com.doumee.dao.business.PricingParamMapper;
+import com.doumee.dao.business.model.PricingDetail;
 import com.doumee.dao.business.model.PricingParam;
 import com.doumee.service.business.PricingParamService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -19,6 +23,7 @@
 
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 瀹氫环鏂规閰嶇疆Service瀹炵幇
@@ -31,6 +36,9 @@
     @Autowired
     private PricingParamMapper pricingParamMapper;
 
+    @Autowired
+    private PricingDetailMapper pricingDetailMapper;
+
     @Override
     public String create(PricingParam pricingParam) {
 
@@ -38,16 +46,17 @@
         PricingParam insert = new PricingParam();
         insert.setCreateDate(new Date());
         insert.setCreator(principal.getId());
-        insert.setEditDate(new Date());
-        insert.setEditor(principal.getId());
+//        insert.setEditDate(new Date());
+//        insert.setEditor(principal.getId());
         insert.setIsdeleted(Constants.ZERO);
         insert.setName(pricingParam.getName());
         insert.setStartDate(pricingParam.getStartDate());
         insert.setEndDate(pricingParam.getEndDate());
         insert.setSortnum(pricingParam.getSortnum());
-        insert.setStatus(Constants.ZERO);
-        pricingParamMapper.insert(pricingParam);
-        return pricingParam.getId();
+        insert.setStatus(Constants.ONE);
+        insert.setInfo(pricingParam.getInfo());
+        pricingParamMapper.insert(insert);
+        return insert.getId();
     }
 
     @Override
@@ -71,16 +80,53 @@
 
     @Override
     public void update(PricingParam pricingParam) {
+
+        LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         UpdateWrapper<PricingParam> wrapper = new UpdateWrapper<>();
         wrapper.lambda()
                 .eq(PricingParam::getId,pricingParam.getId())
+                .set(PricingParam::getEditor,principal.getId())
                 .set(PricingParam::getName,pricingParam.getName())
+//                .set(PricingParam::getStatus,pricingParam.getStatus())
                 .set(PricingParam::getStartDate,pricingParam.getStartDate())
                 .set(PricingParam::getEndDate,pricingParam.getEndDate())
                 .set(PricingParam::getSortnum,pricingParam.getSortnum());
         pricingParamMapper.update(null,wrapper);
     }
 
+    @Override
+    public void updateStatus(PricingParam pricingParam) {
+
+        if (Objects.nonNull(pricingParam.getStatus()) && pricingParam.getStatus().equals(Constants.ZERO)){
+            QueryWrapper<PricingDetail> wrapper = new QueryWrapper<>();
+            wrapper.lambda()
+                    .eq(PricingDetail::getIsdeleted,Constants.ZERO)
+                    .eq(PricingDetail::getPricePramId,pricingParam.getId());
+            Integer integer = pricingDetailMapper.selectCount(wrapper);
+            if (integer < 0 ){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇ュ畾浠锋柟妗堜笅娌℃湁閰嶇疆浠锋牸");
+            }
+            PricingParam pricingParam1 = new PricingParam();
+            pricingParam1.setId(pricingParam.getId());
+            pricingParam1.setStatus(pricingParam.getStatus());
+            pricingParamMapper.updateById(pricingParam1);
+        }else if (Objects.nonNull(pricingParam.getStatus()) && pricingParam.getStatus().equals(Constants.ONE)){
+
+            QueryWrapper<PricingParam> wrapper = new QueryWrapper<>();
+            wrapper.lambda()
+                    .eq(PricingParam::getIsdeleted,Constants.ZERO)
+                    .eq(PricingParam::getStatus,Constants.ZERO);
+            Integer integer = pricingParamMapper.selectCount(wrapper);
+            if (integer <= 1 ){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇ュ畾浠锋柟妗堝繀椤婚厤缃�");
+            }
+            PricingParam pricingParam1 = new PricingParam();
+            pricingParam1.setId(pricingParam.getId());
+            pricingParam1.setStatus(pricingParam.getStatus());
+            pricingParamMapper.updateById(pricingParam1);
+        }
+
+    }
 
     @Override
     public void updateById(PricingParam pricingParam) {
@@ -105,7 +151,7 @@
     @Override
     public PricingParam findOne(PricingParam pricingParam) {
         QueryWrapper<PricingParam> wrapper = new QueryWrapper<>(pricingParam);
-        return pricingParamMapper.selectOne(wrapper);
+        return pricingParamMapper.selectOne(wrapper.last(" limit 1"));
     }
 
     @Override
@@ -140,7 +186,7 @@
             queryWrapper.lambda().eq(PricingParam::getIsdeleted, pageWrap.getModel().getIsdeleted());
         }
         if (pageWrap.getModel().getName() != null) {
-            queryWrapper.lambda().eq(PricingParam::getName, pageWrap.getModel().getName());
+            queryWrapper.lambda().like(PricingParam::getName, pageWrap.getModel().getName());
         }
         if (pageWrap.getModel().getStartDate() != null) {
             queryWrapper.lambda().ge(PricingParam::getStartDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()));
@@ -159,13 +205,8 @@
         if (pageWrap.getModel().getInfo() != null) {
             queryWrapper.lambda().eq(PricingParam::getInfo, pageWrap.getModel().getInfo());
         }
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
-            }
-        }
+        queryWrapper.lambda().orderByAsc(PricingParam::getStatus);
+        queryWrapper.lambda().orderByAsc(PricingParam::getSortnum);
         return PageData.from(pricingParamMapper.selectPage(page, queryWrapper));
     }
 

--
Gitblit v1.9.3