diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusDetailMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusDetailMapper.xml index 22177ef7..564f14e2 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusDetailMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusDetailMapper.xml @@ -400,7 +400,7 @@ ) b left join sa_order so on so.pk_id = b.pk_order - LEFT JOIN cu_member tar ON b.PK_SOURCE_MEMBER = tar.pk_id + LEFT JOIN cu_member tar ON b.pk_member = tar.pk_id LEFT JOIN cu_member cu ON b.PK_SOURCE_MEMBER = cu.pk_id left join cu_member_settle_period cp on b.period = cp.pk_id diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusStageMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusStageMapper.xml index f8a23ec0..89f587e3 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusStageMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusStageMapper.xml @@ -89,7 +89,7 @@ and so.order_type = #{bonusParam.orderType} - LEFT JOIN cu_member tar ON b.PK_SOURCE_MEMBER = tar.pk_id + LEFT JOIN cu_member tar ON b.pk_member = tar.pk_id LEFT JOIN cu_member cu ON b.PK_SOURCE_MEMBER = cu.pk_id left join cu_member_settle_period cp on b.period = cp.pk_id 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 7bfbec2b..a4fa110f 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 @@ -3,6 +3,7 @@ package com.hzs.member.base.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; import com.hzs.member.structure.controller.vo.ChildCodeVO; +import com.hzs.member.structure.controller.vo.CuMemberPointDetailVO; import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO; import org.apache.ibatis.annotations.Param; @@ -33,8 +34,10 @@ public interface CuMemberRetailDetailMapper extends BaseMapper getCuMemberRetailDetailList(@Param("settleTableName") String settleTableName, - @Param("memberCode") String memberCode, - @Param("stage") Integer stage, - @Param("stageStatus") Integer stageStatus); + CuMemberPointDetailVO getPointDetail(@Param("pointMemberCode") Long pointMemberCode); + + List getCuMemberRetailDetailDTOList(@Param("settleTableName") String settleTableName, + @Param("memberCode") String memberCode, + @Param("stage") Integer stage, + @Param("stageStatus") Integer stageStatus); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICumemberRetailDetailService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICumemberRetailDetailService.java index 25cc2df0..c67c74aa 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICumemberRetailDetailService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICumemberRetailDetailService.java @@ -3,6 +3,7 @@ package com.hzs.member.base.service; import cn.hutool.core.lang.tree.Tree; import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; import com.hzs.member.structure.controller.vo.ChildCodeVO; +import com.hzs.member.structure.controller.vo.CuMemberPointDetailVO; import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO; import java.util.List; @@ -21,4 +22,7 @@ public interface ICumemberRetailDetailService { List getChildListByUserId(Long userId, Integer stage, Integer stageStatus, String settleTableName); List getCuMemberRetailDetailList(String settleTableName, String memberCode, Integer stage, Integer stageStatus); + + CuMemberPointDetailVO getPointDetail(Long pointMemberCode); + } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/ICumemberRetailDetailServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/ICumemberRetailDetailServiceImpl.java index afd62bb6..075e75c0 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/ICumemberRetailDetailServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/ICumemberRetailDetailServiceImpl.java @@ -10,6 +10,7 @@ import com.hzs.member.base.mapper.CuMemberRetailDetailMapper; import com.hzs.member.base.service.ICuMemberService; import com.hzs.member.base.service.ICumemberRetailDetailService; import com.hzs.member.structure.controller.vo.ChildCodeVO; +import com.hzs.member.structure.controller.vo.CuMemberPointDetailVO; import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -106,14 +107,12 @@ public class ICumemberRetailDetailServiceImpl extends ServiceImpl getCuMemberRetailDetailList(String settleTableName, String memberCode, Integer stage, Integer stageStatus) { - List cuMemberRetailDetailList = baseMapper.getCuMemberRetailDetailList(settleTableName, memberCode, stage, stageStatus); - if (cuMemberRetailDetailList == null || cuMemberRetailDetailList.isEmpty()) { - return null; - }else { - // 构建map - cuMemberRetailDetailList.forEach(CuMemberThreeFrameworkVO::buildMemberMaps); - } - return cuMemberRetailDetailList; + return baseMapper.getCuMemberRetailDetailDTOList(settleTableName, memberCode, stage, stageStatus); + } + + @Override + public CuMemberPointDetailVO getPointDetail(Long pointMemberCode) { + return baseMapper.getPointDetail(pointMemberCode); } private Map makeNode(String id, String parentId, String label,Integer pointMember, 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 fa356dbf..06f097b3 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 @@ -9,11 +9,15 @@ 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.security.service.UserTokenService; import com.hzs.common.security.utils.SecurityUtils; import com.hzs.member.achieve.service.ICuMemberSettlePeriodService; +import com.hzs.member.base.service.ICuMemberService; import com.hzs.member.base.service.ICumemberRetailDetailService; import com.hzs.member.structure.controller.vo.ChildCodeVO; +import com.hzs.member.structure.controller.vo.CuMemberPointDetailVO; +import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO; import com.hzs.system.sys.dto.LoginUser; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -46,6 +50,9 @@ public class ApiMemberStructureController extends BaseController { @Autowired ICumemberRetailDetailService iCumemberRetailDetailService; + @Autowired + ICuMemberService iCuMemberService; + @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) { @@ -116,6 +123,51 @@ public class ApiMemberStructureController extends BaseController { return AjaxResult.success(childCodeList); } + @Log(module = EOperationModule.MEMBER_RETAIL_TREE_LIST, business = EOperationBusiness.MEMBER_RETAIL_TREE_LIST, method = EOperationMethod.SELECT) + @GetMapping("/three-framework-list") + public AjaxResult threeFrameworkList(Integer stage,Integer stageStatus) { + if (stage == 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("数据查询错误,请联系客服处理"); + } + startPage(); + // 查询当前会员所有子点位信息 + CuMember member = iCuMemberService.getMember(userId); + List cuMemberThreeFrameworkVOS = iCumemberRetailDetailService.getCuMemberRetailDetailList(settleTableName,member.getMemberCode(),stage,stageStatus); + return AjaxResult.success(getDataTable(cuMemberThreeFrameworkVOS)); + } + + @Log(module = EOperationModule.MEMBER_RETAIL_TREE_LIST, business = EOperationBusiness.MEMBER_RETAIL_TREE_LIST, method = EOperationMethod.SELECT) + @GetMapping("/pointDetail") + public AjaxResult pointDetail(Long pointMemberCode) { + if (pointMemberCode == null) { + log.error("参数错误"); + return AjaxResult.error(CommonMsgConstants.MISSING_PARAM); + } + CuMemberPointDetailVO cuMemberPointDetailVO = iCumemberRetailDetailService.getPointDetail(pointMemberCode); + if (cuMemberPointDetailVO == null) { + return null; + } + return AjaxResult.success(cuMemberPointDetailVO); + } // @Autowired // private ITransactionCommonService iTransactionCommonService; 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 6619206a..447f730c 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 @@ -33,6 +33,7 @@ import com.hzs.member.achieve.service.ICuMemberTreeService; import com.hzs.member.base.service.ICuMemberService; import com.hzs.member.base.service.ICumemberRetailDetailService; import com.hzs.member.structure.controller.vo.ChildCodeVO; +import com.hzs.member.structure.controller.vo.CuMemberPointDetailVO; import com.hzs.member.structure.controller.vo.CuMemberSettlePeriodVo; import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO; import com.hzs.system.config.IGradeServiceApi; @@ -274,6 +275,20 @@ public class MemberStructureController extends BaseController { return AjaxResult.success(getDataTable(cuMemberThreeFrameworkVOS)); } + @Log(module = EOperationModule.MEMBER_RETAIL_TREE_LIST, business = EOperationBusiness.MEMBER_RETAIL_TREE_LIST, method = EOperationMethod.SELECT) + @GetMapping("/pointDetail") + public AjaxResult pointDetail(Long pointMemberCode) { + if (pointMemberCode == null) { + log.error("参数错误"); + return AjaxResult.error(CommonMsgConstants.MISSING_PARAM); + } + CuMemberPointDetailVO cuMemberPointDetailVO = iCumemberRetailDetailService.getPointDetail(pointMemberCode); + if (cuMemberPointDetailVO == null) { + return null; + } + return AjaxResult.success(cuMemberPointDetailVO); + } + /** * 查询子节点 * @param memberSettlePeriodId diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/vo/CuMemberPointDetailVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/vo/CuMemberPointDetailVO.java new file mode 100644 index 00000000..fbc5864b --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/vo/CuMemberPointDetailVO.java @@ -0,0 +1,29 @@ +package com.hzs.member.structure.controller.vo; + +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@JsonInclude(JsonInclude.Include.ALWAYS) +public class CuMemberPointDetailVO { + /** + * 会员编号 + */ + private String memberCode; + /** + * 会员姓名 + */ + private String memberName; + /** + * 荣誉奖衔 + */ + private String awardsName; + /** + * 隶属体系 + */ + private String vertexName; +} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/vo/CuMemberThreeFrameworkVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/vo/CuMemberThreeFrameworkVO.java index 9db2c6de..660fed11 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/vo/CuMemberThreeFrameworkVO.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/vo/CuMemberThreeFrameworkVO.java @@ -1,182 +1,159 @@ package com.hzs.member.structure.controller.vo; -import com.baomidou.mybatisplus.annotation.TableField; -import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.Date; -import java.util.HashMap; +import java.io.Serializable; @Data @AllArgsConstructor @NoArgsConstructor -public class CuMemberThreeFrameworkVO { +@JsonInclude(JsonInclude.Include.ALWAYS) +public class CuMemberThreeFrameworkVO implements Serializable { private static final long serialVersionUID = 1L; - /** * 阶段状态(0=已完成,1=未完成) */ private Integer stageStatus; /** - * 阶段完成时间 + * 阶段 */ - private Date stageDate; + private Integer stage; + /** + * 子点位 + */ + private Integer childNode; /** * 点位1-1会员ID */ - private Long pointMember11; + private String pointMemberName11; /** - * 点位1-1会员子节点 + * 点位1-1会员ID */ - private String point11; + private String pointMemberCode11; /** * 点位1-2会员ID */ - private Long pointMember12; + private String pointMemberName12; /** - * 点位1-2会员子节点 + * 点位1-1会员ID */ - private String point12; + private String pointMemberCode12; /** * 点位2-1会员ID */ - private Long pointMember21; + private String pointMemberName21; /** - * 点位2-1会员子节点 + * 点位1-1会员ID */ - private String point21; + private String pointMemberCode21; /** * 点位2-2会员ID */ - private Long pointMember22; + private String pointMemberName22; /** - * 点位2-2会员子节点 + * 点位1-1会员ID */ - private String point22; + private String pointMemberCode22; /** * 点位2-3会员ID */ - private Long pointMember23; + private String pointMemberName23; /** - * 点位2-3会员子节点 + * 点位1-1会员ID */ - private String point23; + private String pointMemberCode23; /** * 点位2-4会员ID */ - private Long pointMember24; + private String pointMemberName24; /** - * 点位2-4会员子节点 + * 点位1-1会员ID */ - private String point24; + private String pointMemberCode24; /** * 点位3-1会员ID */ - private Long pointMember31; + private String pointMemberName31; /** - * 点位3-1会员子节点 + * 点位1-1会员ID */ - private String point31; + private String pointMemberCode31; /** * 点位3-2会员ID */ - private Long pointMember32; + private String pointMemberName32; /** - * 点位3-2会员子节点 + * 点位1-1会员ID */ - private String point32; + private String pointMemberCode32; /** * 点位3-3会员ID */ - private Long pointMember33; + private String pointMemberName33; /** - * 点位3-3会员子节点 + * 点位1-1会员ID */ - private String point33; + private String pointMemberCode33; /** * 点位3-4会员ID */ - private Long pointMember34; + private String pointMemberName34; /** - * 点位3-4会员子节点 + * 点位1-1会员ID */ - private String point34; + private String pointMemberCode34; /** * 点位3-5会员ID */ - private Long pointMember35; + private String pointMemberName35; /** - * 点位3-5会员子节点 + * 点位1-1会员ID */ - private String point35; + private String pointMemberCode35; /** * 点位3-6会员ID */ - private Long pointMember36; + private String pointMemberName36; /** - * 点位3-6会员子节点 + * 点位1-1会员ID */ - private String point36; + private String pointMemberCode36; /** * 点位3-7会员ID */ - private Long pointMember37; + private String pointMemberName37; /** - * 点位3-7会员子节点 + * 点位1-1会员ID */ - private String point37; + private String pointMemberCode37; /** * 点位3-8会员ID */ - private Long pointMember38; + private String pointMemberName38; /** - * 点位3-8会员子节点 + * 点位1-1会员ID */ - private String point38; - - @TableField(exist = false) - HashMap memberMaps = new HashMap<>(14); - - public void buildMemberMaps() { - memberMaps.clear(); - - putIntoMap(point11, pointMember11); - putIntoMap(point12, pointMember12); - putIntoMap(point21, pointMember21); - putIntoMap(point22, pointMember22); - putIntoMap(point23, pointMember23); - putIntoMap(point24, pointMember24); - putIntoMap(point31, pointMember31); - putIntoMap(point32, pointMember32); - putIntoMap(point33, pointMember33); - putIntoMap(point34, pointMember34); - putIntoMap(point35, pointMember35); - putIntoMap(point36, pointMember36); - putIntoMap(point37, pointMember37); - putIntoMap(point38, pointMember38); - } - private void putIntoMap(String key, Long value) { - memberMaps.put(key != null ? key : "", value); - } + private String pointMemberCode38; } 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 c3e7441d..3f542e8d 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 @@ -62,41 +62,98 @@ and cud.STAGE_STATUS = #{stageStatus} - + diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java index 2a489aad..0476a5de 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java @@ -448,6 +448,11 @@ public class ApiRetailOrderController { // 确认订单 String str = iRetailOrderService.confirmOtherOrder(orderParam); + SaOrderExt saOrder = redisService.getCacheObject(CacheConstants.RETAIL_TEMP_ORDER + orderParam.getPkCreator() + orderParam.getOrderCode()); + if (ESpecialArea.RETAIL_UPGRADE.getValue() == orderParam.getSpecialArea() && saOrder.getOrderAmount().compareTo(RetailConstants.SPECIAL_AREA_41_MAX_ORDER_AMOUNT) > 0) { + redisService.deleteObject(CacheConstants.RETAIL_TEMP_ORDER + orderParam.getPkCreator() + orderParam.getOrderCode()); + return AjaxResult.error("订单金额超过" + RetailConstants.SPECIAL_AREA_41_MAX_ORDER_AMOUNT + "上限"); + } return confirmOrderReturn(str, orderParam.getPkCreator(), orderParam.getShopList(), orderParam.getOrderCode()); }