From 3d2b51ea4520533de5e78f88dddf5b5c7dce4247 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期四, 06 六月 2024 15:56:18 +0800 Subject: [PATCH] 管理后台添加营销员导入功能 --- meiya-rest/src/main/java/com/sinata/rest/modular/mall/controller/MallGoodsGroupController.java | 90 +++++++++++++++++++++++++++++++++++---------- 1 files changed, 70 insertions(+), 20 deletions(-) diff --git a/meiya-rest/src/main/java/com/sinata/rest/modular/mall/controller/MallGoodsGroupController.java b/meiya-rest/src/main/java/com/sinata/rest/modular/mall/controller/MallGoodsGroupController.java index d0a8041..64c4935 100644 --- a/meiya-rest/src/main/java/com/sinata/rest/modular/mall/controller/MallGoodsGroupController.java +++ b/meiya-rest/src/main/java/com/sinata/rest/modular/mall/controller/MallGoodsGroupController.java @@ -2,15 +2,22 @@ import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.google.common.collect.Lists; +import com.sinata.common.enums.EnumMemberGrade; import com.sinata.common.enums.mall.EnumMallGoodsGroupType; import com.sinata.common.enums.mall.EnumMallOrderState; import com.sinata.common.user.VoUserGradeParent; import com.sinata.rest.common.ApiUtils; +import com.sinata.rest.core.juhe.TelecomUtil; +import com.sinata.rest.core.util.ToolUtil; import com.sinata.rest.modular.mall.controller.body.BodyApplySaleUser; +import com.sinata.rest.modular.mall.controller.body.BodyUserAuthentication; import com.sinata.rest.modular.mall.controller.vo.*; +import com.sinata.rest.modular.mall.model.MallGoods; import com.sinata.rest.modular.mall.model.MallOrder; import com.sinata.rest.modular.mall.model.MallVipEquity; import com.sinata.rest.modular.mall.model.MyUserSubstanceCoupon; +import com.sinata.rest.modular.mall.service.IMallGoodsService; import com.sinata.rest.modular.mall.service.IMallOrderService; import com.sinata.rest.modular.mall.service.IMallVipEquityService; import com.sinata.rest.modular.member.model.MemUser; @@ -20,6 +27,7 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import java.util.Optional; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -39,6 +47,7 @@ @RestController @RequestMapping("/mall/goodsGroup") @Api(tags = "商城-套餐商品") +@SuppressWarnings("unchecked") public class MallGoodsGroupController { @Autowired @@ -53,6 +62,33 @@ @Autowired private IMallVipEquityService mallVipEquityService; + @Autowired + private TelecomUtil telecomUtil; + + @Autowired + private IMallGoodsService mallGoodsService; + @GetMapping(value = "/purchase-auth") + @ApiOperation(value = "营销员购买套餐权限校验") + @ApiImplicitParams({ + @ApiImplicitParam(name = "userId", value = "用户ID", defaultValue = "1", dataType = "Int", paramType = "query", required = true), + @ApiImplicitParam(name = "shareUserId", value = "分享套餐用户ID", defaultValue = "1", dataType = "Int", paramType = "query", required = true) + }) + public ApiUtils purchaseAuth(@RequestParam(value = "userId") Integer userId,@RequestParam("shareUserId") Integer shareUserId) { + MemUser user = memUserService.getById(userId); + MemUser shareUser = memUserService.getById(shareUserId); + Integer isLeaveOffice = user.getIsLeaveOffice(); + Integer memberGradeId = user.getMemberGradeId(); + if (ToolUtil.isNotEmpty(user) && ToolUtil.isNotEmpty(shareUser)) { +// 营销员不可购买营销员分享的套餐 + if (isLeaveOffice == 0 && memberGradeId >= EnumMemberGrade.G_3.index + && shareUser.getIsLeaveOffice() == 0 && shareUser.getMemberGradeId()>= EnumMemberGrade.G_3.index) { + if (!userId.equals(shareUserId)) { + return ApiUtils.returnNG("营销员只能购买自己分享的套餐!"); + } + } + } + return ApiUtils.returnOK(); + } @GetMapping(value = "/myShare") @ApiOperation(value = "我的推广") @ApiImplicitParams({ @@ -82,46 +118,60 @@ .ne(MallOrder::getOrderType, EnumMallGoodsGroupType.GOODS.index) .eq(MallOrder::getUserId, userId) // 订单材料受益人,0未申请入司 - .eq(MallOrder::getUseUserId, 0) +// .eq(MallOrder::getUseUserId, 0) .in(MallOrder::getState, Arrays.asList( EnumMallOrderState.WAIT_CHECK.index, EnumMallOrderState.USE.index, EnumMallOrderState.SUCCESS.index - )) + )).orderByAsc(MallOrder::getUseUserId) ); // 权益列表 List<MallVipEquity> vipEquityList = mallVipEquityService.list(); List<VoMallOrderEquity> voList = BeanUtil.copyToList(list, VoMallOrderEquity.class); - voList.stream().map(o -> { - List<String> contentList = new ArrayList(); - for (MallVipEquity eq : vipEquityList) { - if (o.getOrderType().equals(eq.getGroupType())) { - contentList.add(eq.getContent()); + voList.stream().map(o -> toVoMallOrderEquity(o, vipEquityList)).collect(Collectors.toList()); + for (VoMallOrderEquity voMallOrderEquity : voList) { + for (MallOrder mallOrder : list) { + if (voMallOrderEquity.getOrderNo().equals(mallOrder.getOrderNo())) { + voMallOrderEquity.setPriceSale(mallOrder.getPayMoney()); } } - o.setEquityContent(contentList); - - // 销售人员ID - MemUser saleUser = memUserService.getById(o.getSaleUserId()); - if (saleUser != null) { - o.setSaleUserNickName(saleUser.getNickName()); - o.setSaleUserRealName(saleUser.getRealName()); - } - - return o; - }).collect(Collectors.toList()); - + } return ApiUtils.returnOK(voList); } + private VoMallOrderEquity toVoMallOrderEquity(VoMallOrderEquity o,List<MallVipEquity> vipEquityList) { + List<String> contentList = new ArrayList(); + for (MallVipEquity eq : vipEquityList) { + if (o.getOrderType().equals(eq.getGroupType())) { + contentList.add(eq.getContent()); + } + } + o.setEquityContent(contentList); + // 销售人员ID + MemUser saleUser = memUserService.getById(o.getSaleUserId()); + if (saleUser != null) { + o.setSaleUserNickName(saleUser.getNickName()); + o.setSaleUserRealName(saleUser.getRealName()); + } + MallGoods goods = mallGoodsService.getById(o.getGoodsId()); + Optional.ofNullable(goods).ifPresent(item ->{ + o.setGoodsName(item.getGoodsName()); + o.setGoodsImage(item.getGoodsImage()); + }); + return o; + } @PostMapping(value = "/applySaleUser") @ApiOperation(value = "推荐他人入司") public ApiUtils applySaleUser(@RequestBody BodyApplySaleUser body) { return memUserService.applySaleUser(body); } - + @PostMapping(value = "/real-name-authentication") + @ApiOperation(value = "三网手机实名认证") + public ApiUtils realNameAuthentication(@RequestBody BodyUserAuthentication body) { + return ApiUtils.returnOK(telecomUtil.verify(body.getRealName(),body.getIdCard(),body.getPhone())); + } // @GetMapping(value = "/directTeam") // @ApiOperation(value = "我的直属团队") // @ApiImplicitParams({ -- Gitblit v1.7.1