From 5b539aad41a78f4733e2860b39ed5a4fc4acc939 Mon Sep 17 00:00:00 2001 From: zhangheng Date: Tue, 23 Sep 2025 15:08:24 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E4=B8=89=E9=98=B6=E6=AE=B5=E6=9E=B6?= =?UTF-8?q?=E6=9E=84=E5=89=8D=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/CuMemberRetailDetailMapper.java | 6 ++ ...java => ICumemberRetailDetailService.java} | 4 +- ... => ICumemberRetailDetailServiceImpl.java} | 10 ++- .../api/ApiMemberStructureController.java | 90 ++++++++++++------- .../manage/MemberStructureController.java | 14 +-- .../member/CuMemberRetailDetailMapper.xml | 14 +++ 6 files changed, 94 insertions(+), 44 deletions(-) rename bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/{ICumemberRetailDetail.java => ICumemberRetailDetailService.java} (76%) rename bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/{ICumemberRetailDetailImpl.java => ICumemberRetailDetailServiceImpl.java} (93%) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberRetailDetailMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberRetailDetailMapper.java index 6a747921..d3c6a769 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberRetailDetailMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberRetailDetailMapper.java @@ -20,4 +20,10 @@ public interface CuMemberRetailDetailMapper extends BaseMapper getChildList(String memberCode, Integer stage, Integer stageStatus, String settleTableName); CuMemberRetailDetail getCuMemberRetailDetail(String memberCode, Integer stage, Integer stageStatus, String childNode, String settleTableName); @@ -14,4 +14,6 @@ public interface ICumemberRetailDetail { Integer getFindCumemberRetailDetail(String settleTableName); List> convertToNodeList(CuMemberRetailDetail cuMemberRetailDetail); + + CuMemberRetailDetail getCuMemberRetailDetailByUserId(Long userId, Integer stage, Integer stageStatus, String childNode, String settleTableName); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/ICumemberRetailDetailImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/ICumemberRetailDetailServiceImpl.java similarity index 93% rename from bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/ICumemberRetailDetailImpl.java rename to bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/ICumemberRetailDetailServiceImpl.java index 46ef4631..db7f3d63 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/ICumemberRetailDetailImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/ICumemberRetailDetailServiceImpl.java @@ -8,7 +8,7 @@ import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; import com.hzs.common.domain.member.base.CuMember; import com.hzs.member.base.mapper.CuMemberRetailDetailMapper; import com.hzs.member.base.service.ICuMemberService; -import com.hzs.member.base.service.ICumemberRetailDetail; +import com.hzs.member.base.service.ICumemberRetailDetailService; import com.hzs.member.structure.controller.vo.ChildCodeVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -19,7 +19,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; @Service -public class ICumemberRetailDetailImpl extends ServiceImpl implements ICumemberRetailDetail { +public class ICumemberRetailDetailServiceImpl extends ServiceImpl implements ICumemberRetailDetailService { @Autowired private ICuMemberService iCuMemberService; @Override @@ -92,6 +92,12 @@ public class ICumemberRetailDetailImpl extends ServiceImpl makeNode(String id, String parentId, String label, Long memberId, Map memberMap) { Map map = new HashMap<>(); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/api/ApiMemberStructureController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/api/ApiMemberStructureController.java index 35d107b6..32ca3e61 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/api/ApiMemberStructureController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/api/ApiMemberStructureController.java @@ -1,52 +1,31 @@ package com.hzs.member.structure.controller.api; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.tree.Tree; -import cn.hutool.core.lang.tree.TreeUtil; -import cn.hutool.core.util.RandomUtil; -import com.alibaba.fastjson2.JSONArray; -import com.alibaba.fastjson2.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.hzs.common.core.annotation.Log; import com.hzs.common.core.constant.*; -import com.hzs.common.core.constant.msg.MemberMsgConstants; -import com.hzs.common.core.domain.R; +import com.hzs.common.core.constant.msg.CommonMsgConstants; import com.hzs.common.core.enums.*; -import com.hzs.common.core.utils.DateUtils; -import com.hzs.common.core.utils.StringUtils; import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.domain.AjaxResult; +import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod; -import com.hzs.common.domain.member.base.CuMember; -import com.hzs.common.domain.member.ext.CuMemberExt; -import com.hzs.common.domain.member.ext.CuMemberSettleExt; -import com.hzs.common.domain.system.base.BdCountry; +import com.hzs.common.security.service.UserTokenService; import com.hzs.common.security.utils.SecurityUtils; -import com.hzs.common.service.ITransactionCommonService; -import com.hzs.common.util.TransactionUtils; import com.hzs.member.achieve.service.ICuMemberSettlePeriodService; -import com.hzs.member.achieve.service.ICuMemberTreeService; -import com.hzs.member.base.service.ICuMemberService; -import com.hzs.member.structure.controller.vo.CuMemberSettlePeriodVo; -import com.hzs.system.base.ICountryServiceApi; -import com.hzs.system.config.IGradeServiceApi; -import com.hzs.system.config.dto.GradeDTO; -import com.hzs.system.sys.IUserServiceApi; -import com.hzs.system.sys.dto.UserAuthorityDTO; -import org.apache.dubbo.config.annotation.DubboReference; +import com.hzs.member.base.service.ICumemberRetailDetailService; +import com.hzs.system.sys.dto.LoginUser; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.time.temporal.ChronoUnit; -import java.util.ArrayList; +import java.text.DateFormatSymbols; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.Date; import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; /** * @Description: @@ -55,10 +34,53 @@ import java.util.stream.Collectors; * @Classname: MemberStructureController * @PackageName: com.hzs.member.memberStructure.controller.api */ -//@RestController -//@RequestMapping("/api/member-structure") +@Slf4j +@RestController +@RequestMapping("/api/member-structure") public class ApiMemberStructureController extends BaseController { + @Autowired + ICuMemberSettlePeriodService iCuMemberSettlePeriodService; + + @Autowired + ICumemberRetailDetailService iCumemberRetailDetailService; + + @Log(module = EOperationModule.MEMBER_RETAIL_TREE, business = EOperationBusiness.MEMBER_RETAIL_TREE, method = EOperationMethod.SELECT) + @GetMapping("/three-framework") + public AjaxResult Framework(Integer stage,String childNode,Integer stageStatus) { + if (stage == null || childNode == null) { + log.error("参数错误"); + return AjaxResult.error(CommonMsgConstants.MISSING_PARAM); + } + Long userId = SecurityUtils.getUserId(); + if (userId == null) { + log.error("用户登录信息错误"); + return AjaxResult.error(CommonMsgConstants.MISSING_PARAM); + } + // 获取当前时间 -1 天 + String yesterday = LocalDate.now().minusDays(1).format((DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + // 查询相关日结表 + CuMemberSettlePeriod csPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yesterday); + log.info("日结信息{}",csPeriod); + String settleTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE_DETAIL + csPeriod.getPkId(); + log.info("日结表名称{}",settleTableName); + // 校验当前日结表是否存在 + Integer isFind = iCumemberRetailDetailService.getFindCumemberRetailDetail(settleTableName); + if (isFind == null || isFind != 1) { + log.error("当前表名不存在{}",settleTableName); + return AjaxResult.error("当前日结信息表不存在",settleTableName); + } + CuMemberRetailDetail cuMemberRetailDetail = iCumemberRetailDetailService.getCuMemberRetailDetailByUserId(userId,stage,stageStatus,childNode,settleTableName); + log.info("日结表会员信息{}",cuMemberRetailDetail); + if (cuMemberRetailDetail == null) { + log.error("当前会员日结信息不存在"); + return AjaxResult.error("当前会员日结信息不存在"); + } + // 拼接树形结构 + List> cuMemberRetailTree = iCumemberRetailDetailService.convertToNodeList(cuMemberRetailDetail); + return AjaxResult.success(cuMemberRetailTree); + } + // @Autowired // private ITransactionCommonService iTransactionCommonService; // @Autowired diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/manage/MemberStructureController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/manage/MemberStructureController.java index 6bcf17bc..3c24d1fe 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/manage/MemberStructureController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/manage/MemberStructureController.java @@ -31,7 +31,7 @@ import com.hzs.common.util.TransactionUtils; import com.hzs.member.achieve.service.ICuMemberSettlePeriodService; import com.hzs.member.achieve.service.ICuMemberTreeService; import com.hzs.member.base.service.ICuMemberService; -import com.hzs.member.base.service.ICumemberRetailDetail; +import com.hzs.member.base.service.ICumemberRetailDetailService; import com.hzs.member.structure.controller.vo.ChildCodeVO; import com.hzs.member.structure.controller.vo.CuMemberSettlePeriodVo; import com.hzs.system.config.IGradeServiceApi; @@ -61,7 +61,7 @@ public class MemberStructureController extends BaseController { private ICuMemberService iCuMemberService; @Autowired - private ICumemberRetailDetail iCumemberRetailDetail; + private ICumemberRetailDetailService iCumemberRetailDetailService; @DubboReference IUserServiceApi iUserServiceApi; @DubboReference @@ -228,19 +228,19 @@ public class MemberStructureController extends BaseController { String settleTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE_DETAIL + csPeriod.getPkId(); log.info("日结表名称{}",settleTableName); // 校验当前日结表是否存在 - Integer isFind = iCumemberRetailDetail.getFindCumemberRetailDetail(settleTableName); + Integer isFind = iCumemberRetailDetailService.getFindCumemberRetailDetail(settleTableName); if (isFind == null || isFind != 1) { log.error("当前表名不存在{}",settleTableName); return AjaxResult.error("当前日结信息表不存在",settleTableName); } - CuMemberRetailDetail cuMemberRetailDetail = iCumemberRetailDetail.getCuMemberRetailDetail(memberCode,stage,stageStatus,childNode,settleTableName); + CuMemberRetailDetail cuMemberRetailDetail = iCumemberRetailDetailService.getCuMemberRetailDetail(memberCode,stage,stageStatus,childNode,settleTableName); log.info("日结表会员信息{}",cuMemberRetailDetail); if (cuMemberRetailDetail == null) { log.error("当前会员日结信息不存在"); return AjaxResult.error("当前会员日结信息不存在"); } // 拼接树形结构 - List> cuMemberRetailTree = iCumemberRetailDetail.convertToNodeList(cuMemberRetailDetail); + List> cuMemberRetailTree = iCumemberRetailDetailService.convertToNodeList(cuMemberRetailDetail); return AjaxResult.success(cuMemberRetailTree); } @@ -264,12 +264,12 @@ public class MemberStructureController extends BaseController { String settleTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE_DETAIL + csPeriod.getPkId(); log.info("日结表名称{}",settleTableName); // 校验当前日结表是否存在 - Integer isFind = iCumemberRetailDetail.getFindCumemberRetailDetail(settleTableName); + Integer isFind = iCumemberRetailDetailService.getFindCumemberRetailDetail(settleTableName); if (isFind == null || isFind != 1) { log.error("当前表名不存在{}",settleTableName); return AjaxResult.error("当前日结信息表不存在",settleTableName); } - List childCodeList = iCumemberRetailDetail.getChildList(memberCode,stage,stageStatus,settleTableName); + List childCodeList = iCumemberRetailDetailService.getChildList(memberCode,stage,stageStatus,settleTableName); return AjaxResult.success(childCodeList); } /** diff --git a/bd-business/bd-business-member/src/main/resources/mapper/retail/member/CuMemberRetailDetailMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/retail/member/CuMemberRetailDetailMapper.xml index a9e7abdd..c1e6e913 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/retail/member/CuMemberRetailDetailMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/retail/member/CuMemberRetailDetailMapper.xml @@ -36,4 +36,18 @@ AND CHILD_NODE = #{childNode} +