소스 검색

订单结算返回用户关联的推广员

cup 2 년 전
부모
커밋
eba6749500

+ 15 - 0
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserTicketOrderController.java

@@ -12,8 +12,11 @@ import com.qs.mp.admin.service.ITicketBoxGoodsService;
 import com.qs.mp.admin.service.ITicketBoxService;
 import com.qs.mp.admin.service.ITicketPackageService;
 import com.qs.mp.admin.service.ITicketService;
+import com.qs.mp.channel.domain.Channel;
 import com.qs.mp.channel.domain.ChannelOrder;
 import com.qs.mp.channel.domain.param.OrderPayParam;
+import com.qs.mp.channel.domain.vo.PromoterVO;
+import com.qs.mp.channel.service.IPromoterUserService;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.core.page.TableDataInfo;
 import com.qs.mp.common.core.redis.RedisCache;
@@ -101,6 +104,9 @@ public class UserTicketOrderController extends BaseApiController {
     @Autowired
     private ITicketBoxGoodsService ticketBoxGoodsService;
 
+    @Autowired
+    private IPromoterUserService promoterUserService;
+
 
     /**
      * 订单结算,每次更换优惠券时需重新请求此接口
@@ -133,6 +139,15 @@ public class UserTicketOrderController extends BaseApiController {
             if (ticketPackage.getIsPre() == 1) {
                 orderAmt = 0;
             }
+
+
+            // 设置用户关联的推广员信息
+            QueryWrapper<Channel> promoterQueryWrapper = new QueryWrapper<>();
+            promoterQueryWrapper.eq("t1.is_deleted", 0);
+            promoterQueryWrapper.eq("t4.ticket_id", ticket.getTicketId());
+            PromoterVO promoter = promoterUserService.getPromoterByQueryWrapper(promoterQueryWrapper);
+            orderSettleVO.setPromoter(promoter);
+
         } else {
             // 线上购票
             ticketBox = ticketBoxService.getById(param.getBoxId());

+ 26 - 0
mp-service/src/main/java/com/qs/mp/channel/domain/vo/PromoterVO.java

@@ -0,0 +1,26 @@
+package com.qs.mp.channel.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 推广员出参类
+ *
+ * @author Cup
+ * @date 2022/8/10
+ */
+@ApiModel("推广员出参类")
+@Data
+public class PromoterVO {
+
+    @ApiModelProperty("推广员id")
+    private Long channelId;
+
+    @ApiModelProperty("名字")
+    private String name;
+
+    @ApiModelProperty("工号")
+    private String workNo;
+
+}

+ 6 - 0
mp-service/src/main/java/com/qs/mp/channel/mapper/PromoterUserMapper.java

@@ -1,7 +1,12 @@
 package com.qs.mp.channel.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.qs.mp.channel.domain.Channel;
 import com.qs.mp.channel.domain.PromoterUser;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qs.mp.channel.domain.vo.PromoterVO;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * @auther quanshu
@@ -10,4 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface PromoterUserMapper extends BaseMapper<PromoterUser> {
 
+    PromoterVO getPromoterByQueryWrapper(@Param(Constants.WRAPPER) QueryWrapper<Channel> queryWrapper);
 }

+ 4 - 0
mp-service/src/main/java/com/qs/mp/channel/service/IPromoterUserService.java

@@ -1,7 +1,10 @@
 package com.qs.mp.channel.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.qs.mp.channel.domain.Channel;
 import com.qs.mp.channel.domain.PromoterUser;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qs.mp.channel.domain.vo.PromoterVO;
 
 /**
  * <p>
@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IPromoterUserService extends IService<PromoterUser> {
 
+    PromoterVO getPromoterByQueryWrapper(QueryWrapper<Channel> queryWrapper);
 }

+ 7 - 0
mp-service/src/main/java/com/qs/mp/channel/service/impl/PromoterUserServiceImpl.java

@@ -1,6 +1,9 @@
 package com.qs.mp.channel.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.qs.mp.channel.domain.Channel;
 import com.qs.mp.channel.domain.PromoterUser;
+import com.qs.mp.channel.domain.vo.PromoterVO;
 import com.qs.mp.channel.mapper.PromoterUserMapper;
 import com.qs.mp.channel.service.IPromoterUserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -17,4 +20,8 @@ import org.springframework.stereotype.Service;
 @Service
 public class PromoterUserServiceImpl extends ServiceImpl<PromoterUserMapper, PromoterUser> implements IPromoterUserService {
 
+    @Override
+    public PromoterVO getPromoterByQueryWrapper(QueryWrapper<Channel> queryWrapper) {
+        return getBaseMapper().getPromoterByQueryWrapper(queryWrapper);
+    }
 }

+ 6 - 0
mp-service/src/main/java/com/qs/mp/user/domain/vo/TicketOrderSettleVO.java

@@ -1,5 +1,6 @@
 package com.qs.mp.user.domain.vo;
 
+import com.qs.mp.channel.domain.vo.PromoterVO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import java.util.ArrayList;
@@ -72,6 +73,11 @@ public class TicketOrderSettleVO {
     @ApiModelProperty("小程序appId")
     private String appId;
 
+
+    @ApiModelProperty("用户关联的推广员")
+    private PromoterVO promoter;
+
+
     /**
      * 使用优惠券列表
      */

+ 8 - 0
mp-service/src/main/resources/mapper/channel/PromoterUserMapper.xml

@@ -18,4 +18,12 @@
         id, promoter_id, user_id, channel_id, created_time, updated_time, is_deleted
     </sql>
 
+    <select id="getPromoterByQueryWrapper" resultType="com.qs.mp.channel.domain.vo.PromoterVO">
+        select t2.*
+        from mp_promoter_user t1
+            left join mp_channel t2 on t1.channel_id = t2.channel_id
+            left join mp_channel_order_detail t3 on t2.channel_id = t3.channel_id
+            left join mp_ticket t4 on t3.pkg_id = t4.pkg_id
+        ${ew.customSqlSegment}
+    </select>
 </mapper>