From 5c40cf5edd5f482c4990348bb280b214ea547d1b Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Fri, 23 Feb 2024 10:32:23 +0800 Subject: [PATCH] update --- .../dto/CreateOrUpdateBillingTemplateDTO.java | 2 ++ .../pile/service/MemberGroupService.java | 2 ++ .../service/impl/MemberGroupServiceImpl.java | 12 ++++++++ .../impl/PileBillingTemplateServiceImpl.java | 28 +++++++++++++++---- .../jsowell/pile/vo/web/MemberGroupVO.java | 2 +- 5 files changed, 40 insertions(+), 6 deletions(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/CreateOrUpdateBillingTemplateDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/CreateOrUpdateBillingTemplateDTO.java index c0fb6a8a4..260bf4d68 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/CreateOrUpdateBillingTemplateDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/CreateOrUpdateBillingTemplateDTO.java @@ -93,4 +93,6 @@ public class CreateOrUpdateBillingTemplateDTO { private String maxOccupyFee; + // 集团编号 + private String groupCode; } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberGroupService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberGroupService.java index a32ca9224..3ecd92362 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberGroupService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberGroupService.java @@ -79,6 +79,8 @@ public interface MemberGroupService { MemberGroupVO queryByMerchantId(String merchantId); + MemberGroupVO queryByGroupCode(String groupCode); + /** * 通过站点id查询当前站点是否配置集团 * @param stationId 站点信息 diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberGroupServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberGroupServiceImpl.java index e01619db0..3e9942899 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberGroupServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberGroupServiceImpl.java @@ -20,6 +20,7 @@ import com.jsowell.pile.vo.web.MemberDiscountVO; import com.jsowell.pile.vo.web.MemberGroupVO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -298,6 +299,17 @@ public class MemberGroupServiceImpl implements MemberGroupService { return memberGroupMapper.queryByMerchantId(merchantId); } + @Override + public MemberGroupVO queryByGroupCode(String groupCode) { + MemberGroupVO result = null; + MemberGroup memberGroup = memberGroupMapper.selectByGroupCode(groupCode); + if (memberGroup != null) { + result = new MemberGroupVO(); + BeanUtils.copyProperties(memberGroup, result); + } + return result; + } + /** * 根据站点id查询会员组 * @param stationId 站点id diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBillingTemplateServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBillingTemplateServiceImpl.java index eebfbda76..6b974d339 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBillingTemplateServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBillingTemplateServiceImpl.java @@ -10,16 +10,15 @@ import com.jsowell.common.core.domain.vo.AuthorizedDeptVO; import com.jsowell.common.core.redis.RedisCache; import com.jsowell.common.enums.DelFlagEnum; import com.jsowell.common.enums.ykc.BillingTimeTypeEnum; +import com.jsowell.common.exception.BusinessException; import com.jsowell.common.util.*; import com.jsowell.common.util.id.Seq; -import com.jsowell.pile.domain.PileBillingDetail; -import com.jsowell.pile.domain.PileBillingRelation; -import com.jsowell.pile.domain.PileBillingTemplate; -import com.jsowell.pile.domain.PileStationInfo; +import com.jsowell.pile.domain.*; import com.jsowell.pile.dto.BillingTimeDTO; import com.jsowell.pile.dto.CreateOrUpdateBillingTemplateDTO; import com.jsowell.pile.dto.ImportBillingTemplateDTO; import com.jsowell.pile.mapper.PileBillingTemplateMapper; +import com.jsowell.pile.service.MemberGroupService; import com.jsowell.pile.service.PileBillingTemplateService; import com.jsowell.pile.service.PileStationInfoService; import com.jsowell.pile.transaction.dto.BillingTemplateTransactionDTO; @@ -30,6 +29,7 @@ import com.jsowell.pile.vo.uniapp.CurrentTimePriceDetails; import com.jsowell.pile.vo.web.BillingDetailVO; import com.jsowell.pile.vo.web.BillingTemplateVO; import com.jsowell.pile.vo.web.EchoBillingTemplateVO; +import com.jsowell.pile.vo.web.MemberGroupVO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.BeanUtils; @@ -66,6 +66,9 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic @Autowired private RedisCache redisCache; + @Autowired + private MemberGroupService memberGroupService; + /** * 查询计费模板 * @@ -462,6 +465,22 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic if (dto == null) { return 0; } + + // 站点id保存到数据库 + String groupCode = dto.getGroupCode(); + MemberGroupVO memberGroupVO = memberGroupService.queryByGroupCode(groupCode); + if (Objects.nonNull(memberGroupVO)) { + // 查询该站点是否已经创建过会员优惠计费模板了 + List stationIdList = Lists.newArrayList(StringUtils.split(memberGroupVO.getStationId(), ",")); + if (CollectionUtils.isNotEmpty(stationIdList) && stationIdList.contains(dto.getStationId())) { + throw new BusinessException("", "该站点已经创建过会员优惠计费模板"); + } + MemberGroup updateData = new MemberGroup(); + updateData.setId(memberGroupVO.getId()); + updateData.setStationId(memberGroupVO.getStationId() + "," + dto.getStationId()); + memberGroupService.updateMemberGroup(updateData); + } + Long stationId = Long.parseLong(dto.getStationId()); PileBillingTemplate stationBillingTemplate = new PileBillingTemplate(); stationBillingTemplate.setStationId(stationId); @@ -485,7 +504,6 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic List stationBillingDetailList = generateBillingDetailList(templateCode, dto); // 生成备注 - // stationBillingTemplate.setRemark(generateTemplateDesc(stationBillingDetailList)); stationBillingTemplate.setTemplateDesc(generateTemplateDesc(stationBillingDetailList)); // 入库 diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/MemberGroupVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/MemberGroupVO.java index 1b4d50526..9a150e53b 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/MemberGroupVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/MemberGroupVO.java @@ -8,7 +8,7 @@ import java.math.BigDecimal; @Getter @Setter public class MemberGroupVO { - private String id; + private Long id; /** * 会员组编号