From f9691d544e62d6c04dbfe45d05a6c7bc5e004291 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 29 十二月 2023 11:52:29 +0800 Subject: [PATCH] 服务商 --- server/services/src/main/java/com/doumee/service/business/impl/PricingParamServiceImpl.java | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 100 insertions(+), 12 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 a598e9b..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,20 +1,32 @@ 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; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.util.Date; import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; /** * 瀹氫环鏂规閰嶇疆Service瀹炵幇 @@ -27,10 +39,30 @@ @Autowired private PricingParamMapper pricingParamMapper; + @Autowired + private PricingDetailMapper pricingDetailMapper; + + @Autowired + private BaseParamMapper baseParamMapper; + @Override public String create(PricingParam pricingParam) { - pricingParamMapper.insert(pricingParam); - return pricingParam.getId(); + + LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + PricingParam insert = new PricingParam(); + insert.setCreateDate(new Date()); + insert.setCreator(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.ONE); + insert.setInfo(pricingParam.getInfo()); + pricingParamMapper.insert(insert); + return insert.getId(); } @Override @@ -50,6 +82,67 @@ return; } pricingParamMapper.deleteBatchIds(ids); + } + + @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,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 @@ -75,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 @@ -83,7 +176,7 @@ QueryWrapper<PricingParam> wrapper = new QueryWrapper<>(pricingParam); return pricingParamMapper.selectList(wrapper); } - + @Override public PageData<PricingParam> findPage(PageWrap<PricingParam> pageWrap) { IPage<PricingParam> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); @@ -110,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())); @@ -129,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