From aa6febca297b0e1a68b1877fc9f41885e9fc0c7a Mon Sep 17 00:00:00 2001 From: jiaosong <jiaosong6760@dingtalk.com> Date: 星期一, 16 十月 2023 15:56:43 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- server/services/src/main/java/com/doumee/service/business/impl/PricingDetailServiceImpl.java | 123 ++++++++++++++++++++++++++++++---------- 1 files changed, 92 insertions(+), 31 deletions(-) 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 17168b5..882678f 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 @@ -23,6 +23,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Objects; @@ -44,29 +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 ((pricingDetail.getHolidayBasePrice() < 0) && - Objects.isNull(pricingDetail.getBasePrice()) ){ - throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鑺傚亣涓�鍙d环浠锋牸涓嶅彲涓虹┖"); - } - - if ((pricingDetail.getHolidayBasePrice() > 0) && - (Objects.isNull(pricingDetail.getHolidayBasePrice()) - || Objects.isNull(pricingDetail.getHolidayBasePrice()) - || Objects.isNull(pricingDetail.getHolidayBasePrice()))){ - throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鑺傚亣闃舵瀹氫环鍙傛暟涓嶅彲涓虹┖"); - } + checkPricingDetail(pricingDetail); LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); PricingDetail insert = new PricingDetail(); insert.setCreateDate(new Date()); @@ -77,17 +56,57 @@ insert.setPricePramId(pricingDetail.getPricePramId()); insert.setBikeTypeId(pricingDetail.getBikeTypeId()); insert.setBaseTime(pricingDetail.getBaseTime()); - insert.setBasePrice(pricingDetail.getBasePrice()); insert.setUnitTime(pricingDetail.getUnitTime()); - insert.setUnitPrice(pricingDetail.getUnitPrice()); insert.setHolidayBaseTime(pricingDetail.getHolidayBaseTime()); - insert.setHolidayBasePrice(pricingDetail.getHolidayBasePrice()); insert.setHolidayUnitTime(pricingDetail.getHolidayUnitTime()); - insert.setHolidayUnitPrice(pricingDetail.getHolidayUnitPrice()); + insert.setBasePrice(Constants.formatDecimalNum(pricingDetail.getBasePrice()).multiply(new BigDecimal(100))); + insert.setUnitPrice(Constants.formatDecimalNum(pricingDetail.getUnitPrice()).multiply(new BigDecimal(100))); + insert.setHolidayBasePrice(Constants.formatDecimalNum(pricingDetail.getHolidayBasePrice()).multiply(new BigDecimal(100))); + insert.setHolidayUnitPrice(Constants.formatDecimalNum(pricingDetail.getHolidayUnitPrice()).multiply(new BigDecimal(100))); insert.setInfo(pricingDetail.getInfo()); insert.setTitle(pricingDetail.getTitle()); pricingDetailMapper.insert(pricingDetail); 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 @@ -111,6 +130,15 @@ @Override public void updateById(PricingDetail pricingDetail) { + checkPricingDetail(pricingDetail); + LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + pricingDetail.setEditDate(new Date()); + pricingDetail.setEditor(principal.getId()); + pricingDetail.setBasePrice(Constants.formatDecimalNum(pricingDetail.getBasePrice()).multiply(new BigDecimal(100))); + pricingDetail.setUnitPrice(Constants.formatDecimalNum(pricingDetail.getUnitPrice()).multiply(new BigDecimal(100))); + pricingDetail.setHolidayBasePrice(Constants.formatDecimalNum(pricingDetail.getHolidayBasePrice()).multiply(new BigDecimal(100))); + pricingDetail.setHolidayUnitPrice(Constants.formatDecimalNum(pricingDetail.getHolidayUnitPrice()).multiply(new BigDecimal(100))); + pricingDetailMapper.updateById(pricingDetail); } @@ -126,23 +154,47 @@ @Override public PricingDetail findById(String id) { - return pricingDetailMapper.selectById(id); + PricingDetail model = pricingDetailMapper.selectById(id); + if(model !=null ){ + model.setBasePrice(Constants.translateMoney(model.getBasePrice())); + model.setHolidayBasePrice(Constants.translateMoney(model.getHolidayBasePrice())); + model.setUnitPrice(Constants.translateMoney(model.getUnitPrice())); + model.setHolidayUnitPrice(Constants.translateMoney(model.getHolidayUnitPrice())); + } + return model; } @Override public PricingDetail findOne(PricingDetail pricingDetail) { QueryWrapper<PricingDetail> wrapper = new QueryWrapper<>(pricingDetail); - return pricingDetailMapper.selectOne(wrapper.last(" limit 1")); + PricingDetail model = pricingDetailMapper.selectOne(wrapper.last(" limit 1")); + if(model !=null ){ + model.setBasePrice(Constants.translateMoney(model.getBasePrice())); + model.setHolidayBasePrice(Constants.translateMoney(model.getHolidayBasePrice())); + model.setUnitPrice(Constants.translateMoney(model.getUnitPrice())); + model.setHolidayUnitPrice(Constants.translateMoney(model.getHolidayUnitPrice())); + } + return model; } @Override public List<PricingDetail> findList(PricingDetail pricingDetail) { MPJLambdaWrapper<PricingDetail> wrapper = new MPJLambdaWrapper<>(); wrapper.leftJoin(BaseParam.class,BaseParam::getId,PricingDetail::getBikeTypeId) + .eq(PricingDetail::getPricePramId,pricingDetail.getPricePramId()) .eq(BaseParam::getType,Constants.THREE); wrapper.selectAll(PricingDetail.class) .selectAs(BaseParam::getName,PricingDetail::getBikeTypeName); - return pricingDetailJoinMapper.selectJoinList(PricingDetail.class,wrapper); + List<PricingDetail> result = pricingDetailJoinMapper.selectJoinList(PricingDetail.class,wrapper); + if(result!=null){ + for(PricingDetail model :result){ + model.setBasePrice(Constants.translateMoney(model.getBasePrice())); + model.setHolidayBasePrice(Constants.translateMoney(model.getHolidayBasePrice())); + model.setUnitPrice(Constants.translateMoney(model.getUnitPrice())); + model.setHolidayUnitPrice(Constants.translateMoney(model.getHolidayUnitPrice())); + } + } + return result; } @Override @@ -213,7 +265,16 @@ queryWrapper.orderByAsc(sortData.getProperty()); } } - return PageData.from(pricingDetailMapper.selectPage(page, queryWrapper)); + IPage<PricingDetail> result =pricingDetailMapper.selectPage(page, queryWrapper); + if(result.getRecords()!= null ){ + for(PricingDetail model : result.getRecords()){ + model.setBasePrice(Constants.translateMoney(model.getBasePrice())); + model.setHolidayBasePrice(Constants.translateMoney(model.getHolidayBasePrice())); + model.setUnitPrice(Constants.translateMoney(model.getUnitPrice())); + model.setHolidayUnitPrice(Constants.translateMoney(model.getHolidayUnitPrice())); + } + } + return PageData.from(result); } @Override -- Gitblit v1.9.3