From 25828996cb8f2b971de722ce9a527c26bbc68cb2 Mon Sep 17 00:00:00 2001 From: Hentua <wangdoubleone@gmail.com> Date: Wed, 23 Aug 2023 00:28:35 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java | 2 src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java | 10 +++ src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java | 8 ++ src/main/resources/mapper/modules/MallMemberMapper.xml | 9 +- src/main/resources/mapper/modules/MallOrderInfoMapper.xml | 46 ++++++++++----- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 58 +++++++------------ 6 files changed, 76 insertions(+), 57 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java index 5b532bb..30edcae 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java @@ -81,4 +81,6 @@ @SqlParser(filter = true) IPage<AdminGoodsStatisticsVo> getGoodsStatisticsInPage(Page<AdminGoodsStatisticsVo> page, @Param("record") MallOrderItem mallOrderItem); + + BigDecimal selectAmountOrTeamAmount(@Param("inviteId") String inviteId, @Param("type") Integer type); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java index b2232bb..3716d5d 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java @@ -13,10 +13,7 @@ import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; -import cc.mrbird.febs.mall.service.IApiMallMemberService; -import cc.mrbird.febs.mall.service.IApiMallMemberWalletService; -import cc.mrbird.febs.mall.service.ICommonService; -import cc.mrbird.febs.mall.service.IMallMoneyFlowService; +import cc.mrbird.febs.mall.service.*; import cc.mrbird.febs.mall.vo.*; import cc.mrbird.febs.pay.model.BrandWCPayRequestData; import cc.mrbird.febs.pay.service.IXcxPayService; @@ -30,6 +27,7 @@ import cn.hutool.crypto.asymmetric.RSA; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -69,6 +67,8 @@ private final SpringContextHolder springContextHolder; private final MallAgentRecordMapper mallAgentRecordMapper; private final IMallMoneyFlowService mallMoneyFlowService; + private final IMallMemberCollectionService mallMemberCollectionService; + private final IMallMemberFootprintService mallMemberFootprintService; @Value("${spring.profiles.active}") @@ -253,38 +253,24 @@ mallMemberVo.setHasPayment(1); } - MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(mallMemberVo.getId()); - mallMemberVo.setBalance(wallet.getBalance()); - mallMemberVo.setScore(wallet.getScore()); - mallMemberVo.setPrizeScore(wallet.getPrizeScore()); - mallMemberVo.setTotalCost(mallOrderInfoMapper.selectTotalAmount(id)); + LambdaQueryWrapper<MallMemberCollection> collectionQuery = new LambdaQueryWrapper<>(); + collectionQuery.eq(MallMemberCollection::getMemberId, id); + List<MallMemberCollection> collectionList = mallMemberCollectionService.list(collectionQuery); + mallMemberVo.setCollectionCnt(CollUtil.isNotEmpty(collectionList) ? collectionList.size() : 0); - //代理状态 - MallAgentRecord mallAgentRecordIng = mallAgentRecordMapper.selectByMemberIdAndState(id, MallAgentRecord.APPLY_ING); - MallAgentRecord mallAgentRecordAgree = mallAgentRecordMapper.selectByMemberIdAndState(id, MallAgentRecord.APPLY_AGREE); - MallAgentRecord mallAgentRecordDisagree = mallAgentRecordMapper.selectByMemberIdAndState(id, MallAgentRecord.APPLY_DISAGREE); - if(ObjectUtil.isNotEmpty(mallAgentRecordIng)){ - mallMemberVo.setIsAgent(1); - }else if(ObjectUtil.isNotEmpty(mallAgentRecordAgree)){ - mallMemberVo.setIsAgent(2); - if(StrUtil.isNotEmpty(mallAgentRecordAgree.getAgentLevel())){ - DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode("AGENT_LEVEL_APPLY", mallAgentRecordAgree.getAgentLevel()); - mallMemberVo.setAgentLevelName(dataDictionaryCustom.getDescription()); - } - if(AgentLevelEnum.LEVEL_ONE.name().equals(mallAgentRecordAgree.getAgentLevel())){ - mallMemberVo.setAgentLevel(1); - } - if(AgentLevelEnum.LEVEL_TWO.name().equals(mallAgentRecordAgree.getAgentLevel())){ - mallMemberVo.setAgentLevel(2); - } - if(AgentLevelEnum.LEVEL_THREE.name().equals(mallAgentRecordAgree.getAgentLevel())){ - mallMemberVo.setAgentLevel(3); - } - }else if(ObjectUtil.isNotEmpty(mallAgentRecordDisagree)){ - mallMemberVo.setIsAgent(3); - } -// log.info(mallMemberVo.getName()+"---"+mallMemberVo.getAgentLevel()); + LambdaQueryWrapper<MallMemberCollection> footprintQuery = new LambdaQueryWrapper<>(); + footprintQuery.eq(MallMemberCollection::getMemberId, id); + List<MallMemberCollection> footprintList = mallMemberCollectionService.list(footprintQuery); + mallMemberVo.setCollectionCnt(CollUtil.isNotEmpty(footprintList) ? footprintList.size() : 0); + List<MallMember> mallMembers = this.baseMapper.selectByRefererId(mallMember.getInviteId()); + mallMemberVo.setChildCnt(CollUtil.isNotEmpty(mallMembers) ? mallMembers.size() : 0); + +// MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(mallMemberVo.getId()); +// mallMemberVo.setBalance(wallet.getBalance()); +// mallMemberVo.setScore(wallet.getScore()); +// mallMemberVo.setPrizeScore(wallet.getPrizeScore()); +// mallMemberVo.setTotalCost(mallOrderInfoMapper.selectTotalAmount(id)); return new FebsResponse().success().data(mallMemberVo); } @@ -356,8 +342,8 @@ MyTeamVo myTeamVo = new MyTeamVo(); myTeamVo.setTeam(list); - myTeamVo.setMyAchieve(this.baseMapper.selectAchieveByMemberId(mallMember.getInviteId(), 1)); - myTeamVo.setMyTeamAchieve(this.baseMapper.selectAchieveByMemberId(mallMember.getInviteId(), 2)); + myTeamVo.setMyAchieve(this.mallOrderInfoMapper.selectAmountOrTeamAmount(mallMember.getInviteId(), 1)); + myTeamVo.setMyTeamAchieve(this.mallOrderInfoMapper.selectAmountOrTeamAmount(mallMember.getInviteId(), 2)); myTeamVo.setMyTeamCnt(this.baseMapper.selectAllChildAgentListByInviteId(mallMember.getInviteId()).size()); return new FebsResponse().success().data(myTeamVo); } diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java index d2f93f0..98d8ae2 100644 --- a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java +++ b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java @@ -84,4 +84,12 @@ @ApiModelProperty(value = "代理等级数字 1:一级 2:二级 3:三级") private Integer agentLevel; + @ApiModelProperty(value = "收藏数量") + private Integer collectionCnt; + + @ApiModelProperty(value = "足迹数量") + private Integer footprintCnt; + + @ApiModelProperty(value = "足迹数量") + private Integer childCnt; } diff --git a/src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java b/src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java index d92a485..f49e4aa 100644 --- a/src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java +++ b/src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java @@ -25,6 +25,13 @@ @ApiModelProperty(value = "昵称") private String name; + @ApiModelProperty(value = "头像") + private String avatar; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "注册时间") + private Date createTime; + @ApiModelProperty(value = "手机号") private String phone; @@ -50,4 +57,7 @@ @ApiModelProperty(value = "用户等级") private String levelName; + @ApiModelProperty(value = "自己下单数量") + private Integer selfOrderCnt; + } diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml index dd74bb6..79f460a 100644 --- a/src/main/resources/mapper/modules/MallMemberMapper.xml +++ b/src/main/resources/mapper/modules/MallMemberMapper.xml @@ -79,20 +79,19 @@ a.invite_id, 2 isCurrent, a.created_time, - p.prize_score, - u.description levelName, + a.avatar, + (select count(1) from mall_order_info orderInfo + where orderInfo.status in (2, 3, 4) and orderInfo.member_id=a.id) selfOrderCnt, (select sum(e.amount) from mall_order_info e inner join mall_member b on e.member_id=b.ID - inner join mall_order_item c on e.id = c.order_id -- and c.is_normal=2 + inner join mall_order_item c on e.id = c.order_id where e.status in (2, 3, 4) and e.order_type=1 and (b.invite_id=a.invite_id or b.referrer_id=a.invite_id)) amount, (select count(1) from mall_member e inner join mall_order_info b on e.id=b.member_id and b.status in (2, 3, 4) where find_in_set(a.invite_id, e.referrer_ids)) orderCnt, (select count(1) from mall_member x where find_in_set(a.invite_id, x.referrer_ids)) cnt from mall_member a - inner join mall_member_wallet p on a.id=p.member_id - left join data_dictionary_custom u on a.level=u.code and u.type='AGENT_LEVEL' where a.referrer_id=#{inviteId} </select> diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml index 657a430..f9d27cb 100644 --- a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml +++ b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml @@ -423,20 +423,34 @@ </select> <select id="getGoodsStatisticsInPage" resultType="cc.mrbird.febs.mall.vo.AdminGoodsStatisticsVo"> - select - goods_name goodsName, - SUM(cnt) goodsCnt - from mall_order_item - <where> - 1=1 - <if test="record.orderIdsStr != null"> - and order_id in - <foreach collection="record.orderIdsStr" item="id" index="index" open="(" close=")" separator=","> - #{id} - </foreach> - </if> - </where> - GROUP BY goods_id - ORDER BY goods_id desc -</select> + select + goods_name goodsName, + SUM(cnt) goodsCnt + from mall_order_item + <where> + 1=1 + <if test="record.orderIdsStr != null"> + and order_id in + <foreach collection="record.orderIdsStr" item="id" index="index" open="(" close=")" separator=","> + #{id} + </foreach> + </if> + </where> + GROUP BY goods_id + ORDER BY goods_id desc + </select> + + <select id="selectAmountOrTeamAmount" resultType="java.math.BigDecimal"> + select IFNULL(sum(IFNULL(a.amount,0)),0) from mall_order_info a + inner join mall_member b on a.member_id=b.ID + <where> + a.status in (2,3,4) + <if test="type == 1"> + and b.invite_id=#{inviteId} + </if> + <if test="type == 2"> + and find_in_set(#{inviteId}, b.referrer_ids) + </if> + </where> + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.1