From 6226acca09482447f8591435ccf8771842308a38 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 08 十一月 2023 11:28:45 +0800
Subject: [PATCH] bug
---
server/services/src/main/java/com/doumee/service/business/impl/PricingParamServiceImpl.java | 66 +++++++++++++++++++++++++++++++--
1 files changed, 62 insertions(+), 4 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 9e09b2c..48b43bd 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,17 @@
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.BaseParamMapper;
+import com.doumee.dao.business.PricingDetailMapper;
import com.doumee.dao.business.PricingParamMapper;
+import com.doumee.dao.business.model.BaseParam;
+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 +25,8 @@
import java.util.Date;
import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
/**
* 瀹氫环鏂规閰嶇疆Service瀹炵幇
@@ -30,6 +38,12 @@
@Autowired
private PricingParamMapper pricingParamMapper;
+
+ @Autowired
+ private PricingDetailMapper pricingDetailMapper;
+
+ @Autowired
+ private BaseParamMapper baseParamMapper;
@Override
public String create(PricingParam pricingParam) {
@@ -45,7 +59,7 @@
insert.setStartDate(pricingParam.getStartDate());
insert.setEndDate(pricingParam.getEndDate());
insert.setSortnum(pricingParam.getSortnum());
- insert.setStatus(Constants.ZERO);
+ insert.setStatus(Constants.ONE);
insert.setInfo(pricingParam.getInfo());
pricingParamMapper.insert(insert);
return insert.getId();
@@ -79,13 +93,57 @@
.eq(PricingParam::getId,pricingParam.getId())
.set(PricingParam::getEditor,principal.getId())
.set(PricingParam::getName,pricingParam.getName())
- .set(PricingParam::getStatus,pricingParam.getStatus())
+// .set(PricingParam::getStatus,pricingParam.getStatus())
.set(PricingParam::getStartDate,pricingParam.getStartDate())
- .set(PricingParam::getEndDate,pricingParam.getEndDate())
+ .set(PricingParam::getEndDate,Utils.Date.getDayOfEnd(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());
+ List<PricingDetail> pricingDetails = pricingDetailMapper.selectList(wrapper);
+ QueryWrapper<BaseParam> baseParamQuery = new QueryWrapper<>();
+ baseParamQuery.lambda()
+ .eq(BaseParam::getIsdeleted,Constants.ZERO)
+ .eq(BaseParam::getType,Constants.THREE);
+ List<BaseParam> baseParams = baseParamMapper.selectList(baseParamQuery);
+ if (CollectionUtils.isEmpty(pricingDetails)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇ュ畾浠锋柟妗堜笅娌℃湁閰嶇疆浠锋牸");
+ }
+ List<String> collect = pricingDetails.stream().map(s -> s.getBikeTypeId()).collect(Collectors.toList());
+ boolean b = baseParams.stream().map(s -> s.getId()).allMatch(s -> collect.contains(s));
+
+ if (!b){
+ 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) {
@@ -164,8 +222,8 @@
if (pageWrap.getModel().getInfo() != null) {
queryWrapper.lambda().eq(PricingParam::getInfo, pageWrap.getModel().getInfo());
}
- queryWrapper.lambda().orderByAsc(PricingParam::getSortnum);
queryWrapper.lambda().orderByAsc(PricingParam::getStatus);
+ queryWrapper.lambda().orderByAsc(PricingParam::getSortnum);
return PageData.from(pricingParamMapper.selectPage(page, queryWrapper));
}
--
Gitblit v1.9.3