From ebccdd6417f65ace22f1e0d7a5572589aa80698a Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期三, 25 十月 2023 09:58:48 +0800
Subject: [PATCH] # 用户禁用
---
server/services/src/main/java/com/doumee/service/business/impl/PricingParamServiceImpl.java | 86 ++++++++++++++++++++++++++++++++++++-------
1 files changed, 72 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..d7d1f1f 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瀹炵幇
@@ -31,6 +39,12 @@
@Autowired
private PricingParamMapper pricingParamMapper;
+ @Autowired
+ private PricingDetailMapper pricingDetailMapper;
+
+ @Autowired
+ private BaseParamMapper baseParamMapper;
+
@Override
public String create(PricingParam pricingParam) {
@@ -38,16 +52,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 +86,64 @@
@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());
+ 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) {
@@ -105,7 +168,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 +203,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 +222,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