Explorar el Código

Merge branch 'dev' of http://113.31.163.91:7777/quanshu/mp-server.git
into dev

Conflicts:
mp-service/src/main/java/com/qs/mp/channel/domain/ChannelCommission.java
mp-service/src/main/resources/mapper/channel/ChannelCommissionMapper.xml

Liugl hace 3 años
padre
commit
3c9973ffc3
Se han modificado 29 ficheros con 346 adiciones y 168 borrados
  1. 0 10
      mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/AreaMgrController.java
  2. 2 1
      mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/TicketBoxMgrController.java
  3. 0 10
      mp-admin/src/main/java/com/qs/mp/web/controller/api/channel/mall/ChannelCartController.java
  4. 0 10
      mp-admin/src/main/java/com/qs/mp/web/controller/api/channel/mall/ChannelOrderController.java
  5. 0 10
      mp-admin/src/main/java/com/qs/mp/web/controller/api/channel/mall/ChannelTicketController.java
  6. 0 10
      mp-admin/src/main/java/com/qs/mp/web/controller/api/common/AreaQueryController.java
  7. 0 10
      mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserAddrController.java
  8. 0 10
      mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserDeliverOrderController.java
  9. 8 18
      mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserMineController.java
  10. 0 10
      mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserTicketController.java
  11. 0 10
      mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserTicketOrderController.java
  12. 41 0
      mp-common/src/main/java/com/qs/mp/common/enums/ChannelMoneyBizTypeEnum.java
  13. 4 2
      mp-common/src/main/java/com/qs/mp/common/pulsar/PulsarClientService.java
  14. 9 3
      mp-service/src/main/java/com/qs/mp/admin/service/impl/CouponServiceImpl.java
  15. 10 6
      mp-service/src/main/java/com/qs/mp/admin/service/impl/TicketBoxServiceImpl.java
  16. 5 1
      mp-service/src/main/java/com/qs/mp/admin/service/impl/TicketServiceImpl.java
  17. 3 3
      mp-service/src/main/java/com/qs/mp/channel/domain/ChannelCommission.java
  18. 2 1
      mp-service/src/main/java/com/qs/mp/channel/domain/ChannelMoneyLog.java
  19. 6 0
      mp-service/src/main/java/com/qs/mp/channel/service/IChannelMoneyLogService.java
  20. 4 3
      mp-service/src/main/java/com/qs/mp/channel/service/IChannelService.java
  21. 73 0
      mp-service/src/main/java/com/qs/mp/channel/service/impl/ChannelMoneyLogServiceImpl.java
  22. 30 2
      mp-service/src/main/java/com/qs/mp/channel/service/impl/ChannelWithdrawServiceImpl.java
  23. 8 1
      mp-service/src/main/java/com/qs/mp/user/domain/UserTicketOrder.java
  24. 0 6
      mp-service/src/main/java/com/qs/mp/user/domain/UserTicketOrderItem.java
  25. 3 3
      mp-service/src/main/java/com/qs/mp/user/service/impl/UserTicketOrderItemServiceImpl.java
  26. 126 16
      mp-service/src/main/java/com/qs/mp/user/service/impl/UserTicketOrderServiceImpl.java
  27. 3 3
      mp-service/src/main/resources/mapper/channel/ChannelCommissionMapper.xml
  28. 7 8
      mp-service/src/main/resources/mapper/user/UserTicketOrderItemMapper.xml
  29. 2 1
      mp-service/src/main/resources/mapper/user/UserTicketOrderMapper.xml

+ 0 - 10
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/AreaMgrController.java

@@ -1,13 +1,3 @@
-/*
- * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
- *
- * https://www.mall4j.com/
- *
- * 未经允许,不可做商业用途!
- *
- * 版权所有,侵权必究!
- */
-
 package com.qs.mp.web.controller.api.admin;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;

+ 2 - 1
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/TicketBoxMgrController.java

@@ -26,6 +26,7 @@ import com.qs.mp.common.enums.ErrorCodeEnum;
 import com.qs.mp.common.enums.TicketBoxStatusEnum;
 import com.qs.mp.common.enums.TicketTypeEnum;
 import com.qs.mp.common.utils.LogUtil;
+import com.qs.mp.common.utils.RSAUtil;
 import com.qs.mp.system.domain.SysUser;
 import com.qs.mp.system.service.ISysUserService;
 import com.qs.mp.utils.ExcelUtil;
@@ -217,7 +218,7 @@ public class TicketBoxMgrController extends BaseApiController {
 					ticketExcel.setSerialNo(ticket.getSerialNo());
 					ticketExcel.setUrl(exportUrl + ticket.getSerialNo());
 					ticketExcel.setDrawNum(ticket.getDrawNum());
-					ticketExcel.setCipherLuckyNum(ticket.getCipherLuckyNum());
+					ticketExcel.setCipherLuckyNum(RSAUtil.decrypt(ticket.getCipherLuckyNum()));
 					excelList.add(ticketExcel);
 				}
 			}

+ 0 - 10
mp-admin/src/main/java/com/qs/mp/web/controller/api/channel/mall/ChannelCartController.java

@@ -1,13 +1,3 @@
-/*
- * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
- *
- * https://www.mall4j.com/
- *
- * 未经允许,不可做商业用途!
- *
- * 版权所有,侵权必究!
- */
-
 package com.qs.mp.web.controller.api.channel.mall;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;

+ 0 - 10
mp-admin/src/main/java/com/qs/mp/web/controller/api/channel/mall/ChannelOrderController.java

@@ -1,13 +1,3 @@
-/*
- * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
- *
- * https://www.mall4j.com/
- *
- * 未经允许,不可做商业用途!
- *
- * 版权所有,侵权必究!
- */
-
 package com.qs.mp.web.controller.api.channel.mall;
 
 import com.alibaba.fastjson.JSONObject;

+ 0 - 10
mp-admin/src/main/java/com/qs/mp/web/controller/api/channel/mall/ChannelTicketController.java

@@ -1,13 +1,3 @@
-/*
- * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
- *
- * https://www.mall4j.com/
- *
- * 未经允许,不可做商业用途!
- *
- * 版权所有,侵权必究!
- */
-
 package com.qs.mp.web.controller.api.channel.mall;
 
 import com.baomidou.mybatisplus.core.conditions.Wrapper;

+ 0 - 10
mp-admin/src/main/java/com/qs/mp/web/controller/api/common/AreaQueryController.java

@@ -1,13 +1,3 @@
-/*
- * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
- *
- * https://www.mall4j.com/
- *
- * 未经允许,不可做商业用途!
- *
- * 版权所有,侵权必究!
- */
-
 package com.qs.mp.web.controller.api.common;
 
 import com.alibaba.fastjson.JSONObject;

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

@@ -1,13 +1,3 @@
-/*
- * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
- *
- * https://www.mall4j.com/
- *
- * 未经允许,不可做商业用途!
- *
- * 版权所有,侵权必究!
- */
-
 package com.qs.mp.web.controller.api.user;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;

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

@@ -1,13 +1,3 @@
-/*
- * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
- *
- * https://www.mall4j.com/
- *
- * 未经允许,不可做商业用途!
- *
- * 版权所有,侵权必究!
- */
-
 package com.qs.mp.web.controller.api.user;
 
 import com.alibaba.fastjson.JSONObject;

+ 8 - 18
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserMineController.java

@@ -1,13 +1,3 @@
-/*
- * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
- *
- * https://www.mall4j.com/
- *
- * 未经允许,不可做商业用途!
- *
- * 版权所有,侵权必究!
- */
-
 package com.qs.mp.web.controller.api.user;
 
 import com.alibaba.fastjson.JSONObject;
@@ -45,7 +35,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 
 @RestController
-@RequestMapping("/api/v1/mp/user")
+@RequestMapping("/api/v1/mp/user/mine")
 @Api(tags = "我的接口")
 @AllArgsConstructor
 public class UserMineController extends BaseApiController {
@@ -72,7 +62,7 @@ public class UserMineController extends BaseApiController {
   /**
    * 我的票包
    */
-  @PostMapping("/mine/ticket/list")
+  @PostMapping("/ticket/list")
   @ApiOperation(value = "我的盲票列表", notes = "获取我的盲票列表")
   public TableDataInfo listTicket(@RequestBody Ticket param) {
     Long userId = SecurityUtils.getLoginUser().getUserId();
@@ -85,7 +75,7 @@ public class UserMineController extends BaseApiController {
   /**
    * 我的优惠券
    */
-  @PostMapping("/mine/coupon/list")
+  @PostMapping("/coupon/list")
   @ApiOperation(value = "我的优惠券列表", notes = "获取我的优惠券列表")
   public TableDataInfo listCoupon(@RequestBody UserCoupon param) {
     Long userId = SecurityUtils.getLoginUser().getUserId();
@@ -97,7 +87,7 @@ public class UserMineController extends BaseApiController {
   /**
    * 我的盲豆
    */
-  @PostMapping("/mine/coin/log/list")
+  @PostMapping("/coin/log/list")
   @ApiOperation(value = "我的盲豆记录", notes = "获取我的盲豆记录")
   public TableDataInfo listCoinLog(@RequestBody JSONObject param) {
     Long userId = SecurityUtils.getLoginUser().getUserId();
@@ -111,7 +101,7 @@ public class UserMineController extends BaseApiController {
   /**
    * 我的实物奖品库
    */
-  @PostMapping("/mine/prize/list")
+  @PostMapping("/prize/list")
   @ApiOperation(value = "我的实物奖品库", notes = "获取我的实物奖品库")
   public TableDataInfo listPrize(@RequestBody JSONObject param) {
     Long userId = SecurityUtils.getLoginUser().getUserId();
@@ -128,16 +118,16 @@ public class UserMineController extends BaseApiController {
   /**
    * 我的
    */
-  @PostMapping("/mine/init")
+  @PostMapping("/init")
   @ApiOperation(value = "查看我的", notes = "查看我的")
   public AjaxResult getInfo(@RequestBody JSONObject param) {
     Long userId = SecurityUtils.getLoginUser().getUserId();
     Map<String, Object> storageMap = userPrizeStorageService.getMap(
         new QueryWrapper<UserPrizeStorage>()
             .select("IFNULL(goods_num,0) as total")
-            .eq("userId", userId).eq("status", PrizeStorageStatusEnum.NOT_DISTRIBUTED));
+            .eq("user_id", userId).eq("status", PrizeStorageStatusEnum.NOT_DISTRIBUTED));
     JSONObject result = new JSONObject();
-    result.put("prizeNum", Integer.valueOf(String.valueOf(storageMap.get("total"))));
+    result.put("prizeNum", Integer.valueOf(String.valueOf(null != storageMap ? storageMap.get("total") : 0)));
 
     int ticketNum = userTicketOrderItemService.countMyTicket(userId, TicketStatusEnum.ACTIVATED);
     result.put("ticketNum", ticketNum);

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

@@ -1,13 +1,3 @@
-/*
- * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
- *
- * https://www.mall4j.com/
- *
- * 未经允许,不可做商业用途!
- *
- * 版权所有,侵权必究!
- */
-
 package com.qs.mp.web.controller.api.user;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;

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

@@ -1,13 +1,3 @@
-/*
- * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
- *
- * https://www.mall4j.com/
- *
- * 未经允许,不可做商业用途!
- *
- * 版权所有,侵权必究!
- */
-
 package com.qs.mp.web.controller.api.user;
 
 import com.alibaba.fastjson.JSONObject;

+ 41 - 0
mp-common/src/main/java/com/qs/mp/common/enums/ChannelMoneyBizTypeEnum.java

@@ -0,0 +1,41 @@
+package com.qs.mp.common.enums;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.IEnum;
+
+/**
+ *
+ * 渠道账户交易类型
+ *
+ */
+public enum ChannelMoneyBizTypeEnum implements IEnum<Integer> {
+
+  COMMISSION(1, "佣金收入"),
+  WITHDRAW(2, "提现");
+
+
+  private final int value;
+  private final String desc;
+
+  ChannelMoneyBizTypeEnum(final int value, final String desc) {
+    this.value = value;
+    this.desc = desc;
+  }
+
+  @Override
+  public Integer getValue() {
+    return value;
+  }
+
+  /**
+   * 重写toString,单个转化成json
+   * @return
+   */
+  @Override
+  public String toString() {
+    JSONObject object = new JSONObject();
+    object.put("value",value);
+    object.put("desc", desc);
+    return object.toString();
+  }
+}

+ 4 - 2
mp-common/src/main/java/com/qs/mp/common/pulsar/PulsarClientService.java

@@ -1,6 +1,7 @@
 package com.qs.mp.common.pulsar;
 
 import com.qs.mp.common.enums.MqTopicType;
+import com.qs.mp.common.utils.LogUtil;
 import com.qs.mp.common.utils.StringUtils;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ConcurrentHashMap;
@@ -94,11 +95,12 @@ public class PulsarClientService {
         try {
           pulsarConsumer.wsConsumer(key, jsons);
           logger.info("receive data>>>>>>" + jsons);
+          consumer.acknowledge(message);
         } catch (Exception e) {
-          logger.error("消费Pulsar数据异常,key【{}】,json【{}】:", message.getKey(), jsons, e);
+          LogUtil.error(logger, "消费Pulsar数据异常,key【{}】,json【{}】:", message.getKey(), jsons, e);
         }
       }
-      consumer.acknowledge(message);
+
     }
   }
 

+ 9 - 3
mp-service/src/main/java/com/qs/mp/admin/service/impl/CouponServiceImpl.java

@@ -21,11 +21,13 @@ import com.qs.mp.common.utils.LogUtil;
 import com.qs.mp.system.service.id.BizIdGenerator;
 import com.qs.mp.user.domain.UserCoupon;
 import com.qs.mp.user.domain.UserCouponChannel;
+import com.qs.mp.user.domain.UserTicketOrder;
 import com.qs.mp.user.domain.UserTicketOrderItem;
 import com.qs.mp.user.service.IUserCouponChannelService;
 import com.qs.mp.user.service.IUserCouponService;
 import com.qs.mp.user.service.IUserTicketOrderItemService;
 
+import com.qs.mp.user.service.IUserTicketOrderService;
 import java.util.List;
 
 import org.slf4j.Logger;
@@ -65,6 +67,9 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme
   @Autowired
   private IUserTicketOrderItemService userTicketOrderItemService;
 
+	@Autowired
+	private IUserTicketOrderService userTicketOrderService;
+
 	@Autowired
 	private IChannelService channelService;
 
@@ -90,16 +95,17 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme
     // 确定限定范围
     if (coupon.getUseArea() == CouponUseAreaEnum.POST_SCOPE) {
       UserTicketOrderItem orderItem = userTicketOrderItemService.queryFinishedOrderItem(userId, ticket.getTicketId());
-      if (null == orderItem || null == orderItem.getChannelId()) {
+			UserTicketOrder ticketOrder = userTicketOrderService.getById(orderItem.getOrderId());
+      if (null == orderItem || null == ticketOrder.getChannelId()) {
         LogUtil.error(logger, "优惠券的限定使用范围类型为发放时生成,但找不到关联的渠道ID。orderItem:{0}", new Object[]{
             JSONObject.toJSONString(orderItem)});
         throw new ServiceException("优惠券发放失败");
       }
       UserCouponChannel userCouponChannel = new UserCouponChannel();
       userCouponChannel.setUserCouponId(userCoupon.getId());
-      userCouponChannel.setChannelId(orderItem.getChannelId());
+      userCouponChannel.setChannelId(ticketOrder.getChannelId());
       userCouponChannelService.save(userCouponChannel);
-			Channel channel = channelService.getById(orderItem.getChannelId());
+			Channel channel = channelService.getById(ticketOrder.getChannelId());
 			userCoupon.setUseAreaDesc(channel.getName());
     }
 		userCouponService.save(userCoupon);

+ 10 - 6
mp-service/src/main/java/com/qs/mp/admin/service/impl/TicketBoxServiceImpl.java

@@ -32,11 +32,14 @@ import com.qs.mp.common.enums.TicketStatusEnum;
 import com.qs.mp.common.enums.TicketTypeEnum;
 import com.qs.mp.common.pulsar.PulsarClientService;
 import com.qs.mp.common.utils.LogUtil;
+import com.qs.mp.common.utils.RSAUtil;
 import com.qs.mp.system.service.id.BizIdGenerator;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.text.DecimalFormat;
 import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -51,6 +54,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
 
 /**
  * <p>
@@ -222,18 +226,18 @@ public class TicketBoxServiceImpl extends ServiceImpl<TicketBoxMapper, TicketBox
         ticket.setSerialNo(ticketPackage.getPkgNo() + "-" + String.format("%1$07d", ticketCnt));
         ticket.setFacePrice(ticketBox.getFacePrice());
         int luckyNum = new Random().nextInt(99) + 1;
-        ticket.setCipherLuckyNum(String.valueOf(luckyNum));
+        ticket.setCipherLuckyNum(RSAUtil.encrypt(String.valueOf(luckyNum)));
         List<TicketDrawNumDTO> drawNumDTOList = new ArrayList<>();
-        List<Integer> randomNumList = getRandomList(new ArrayList<Integer>(), 18, 99);
+        drawNumDTOList.add(new TicketDrawNumDTO(pkgAwards.getName(), luckyNum));
+        // 再生成17个随机数字
+        List<Integer> randomNumList = getRandomList(Arrays.asList(luckyNum), 17, 99);
         for (Integer drawNum : randomNumList) {
-          if (drawNum == luckyNum) {
-            drawNumDTOList.add(new TicketDrawNumDTO(pkgAwards.getName(), drawNum));
-            continue;
-          }
           int awardsNum = new Random().nextInt(ticketAwardsList.size());
           drawNumDTOList.add(
               new TicketDrawNumDTO(ticketAwardsList.get(awardsNum).getName(), drawNum));
         }
+        Collections.shuffle(drawNumDTOList);
+
         ticket.setDrawNum(JSONObject.toJSONString(drawNumDTOList));
         ticket.setIsPhysical(1);
         ticket.setStatus(TicketStatusEnum.NOT_PAY);

+ 5 - 1
mp-service/src/main/java/com/qs/mp/admin/service/impl/TicketServiceImpl.java

@@ -15,6 +15,7 @@ import java.util.List;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -32,6 +33,9 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
 	@Autowired
 	private ITicketService ticketService;
 
+	@Value("${export.page-size}")
+	private int pageSize;
+
 	@Override
 	public Ticket getRandOne(Wrapper<Ticket> queryWrapper) {
 		return getBaseMapper().getRandOne(queryWrapper);
@@ -57,7 +61,7 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
 				}
 			}
 			if(null != ticketList && ticketList.size() > 0) {
-				boolean res = ticketService.updateBatchById(ticketList);
+				boolean res = ticketService.updateBatchById(ticketList,pageSize);
 				if(!res) {
 					throw new ServiceException("盲票导入失败,请联系管理员");
 				}

+ 3 - 3
mp-service/src/main/java/com/qs/mp/channel/domain/ChannelCommission.java

@@ -35,11 +35,11 @@ public class ChannelCommission implements Serializable {
   /**
    * 用户订单ID
    */
-  @TableField("order_id")
+  @TableField("order_item_id")
   private String orderId;
 
   /**
-   * 盲票ID
+   * 盲票ID
    */
   @TableField("box_id")
   private String boxId;
@@ -54,7 +54,7 @@ public class ChannelCommission implements Serializable {
    * 参与分佣的销售金额比例
    */
   @TableField("sale_comm_rate")
-  private Integer saleCommRate;
+  private BigDecimal saleCommRate;
 
   /**
    * 参与分佣的销售金额

+ 2 - 1
mp-service/src/main/java/com/qs/mp/channel/domain/ChannelMoneyLog.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.qs.mp.common.enums.ChannelMoneyBizTypeEnum;
 import com.qs.mp.common.enums.ChannelMoneyEnum;
 import java.io.Serializable;
 import java.util.Date;
@@ -75,7 +76,7 @@ public class ChannelMoneyLog implements Serializable {
    * 关联交易ID类型
    */
   @TableField("ref_type")
-  private Integer refType;
+  private ChannelMoneyBizTypeEnum refType;
 
   /**
    * 关联交易ID

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

@@ -13,4 +13,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IChannelMoneyLogService extends IService<ChannelMoneyLog> {
 
+  /**
+   * 修改账户金额
+   * @param moneyLog
+   * @return
+   */
+  boolean changeMoney(ChannelMoneyLog moneyLog);
 }

+ 4 - 3
mp-service/src/main/java/com/qs/mp/channel/service/IChannelService.java

@@ -66,7 +66,7 @@ public interface IChannelService extends IService<Channel> {
 	 * 根据channelNo统计最近几天days的经营数据
 	 */
 	public ChannelOperDataVO getChannelOperData(String channelNo, int days);
-	
+
 
 	/**
 	 * 根据ID查询渠道VO
@@ -75,11 +75,12 @@ public interface IChannelService extends IService<Channel> {
 	 * @return
 	 */
 	public ChannelVO getChannelVoById(Long channelId);
-	
-	
+
+
 
 	/**
 	 * 根据channelNo统计全部的经营数据
 	 */
 	public ChannelOperDataVO getChannelTotalOperData(String channelNo);
+
 }

+ 73 - 0
mp-service/src/main/java/com/qs/mp/channel/service/impl/ChannelMoneyLogServiceImpl.java

@@ -1,10 +1,24 @@
 package com.qs.mp.channel.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.qs.mp.channel.domain.Channel;
 import com.qs.mp.channel.domain.ChannelMoneyLog;
 import com.qs.mp.channel.mapper.ChannelMoneyLogMapper;
 import com.qs.mp.channel.service.IChannelMoneyLogService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qs.mp.channel.service.IChannelService;
+import com.qs.mp.common.enums.ChannelMoneyBizTypeEnum;
+import com.qs.mp.common.enums.ChannelMoneyEnum;
+import com.qs.mp.common.enums.ErrorCodeEnum;
+import com.qs.mp.common.exception.DataOperationException;
+import com.qs.mp.common.exception.ServiceException;
+import com.qs.mp.common.utils.LogUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.Assert;
 
 /**
  * <p>
@@ -17,4 +31,63 @@ import org.springframework.stereotype.Service;
 @Service
 public class ChannelMoneyLogServiceImpl extends ServiceImpl<ChannelMoneyLogMapper, ChannelMoneyLog> implements IChannelMoneyLogService {
 
+  protected final Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName());
+
+  @Autowired
+  private IChannelService channelService;
+
+  @Override
+  @Transactional
+  public boolean changeMoney(ChannelMoneyLog moneyLog) {
+    //查询数据更新对象,用户做脏读乐观锁版本标识别
+    Channel channel = channelService.getById(moneyLog.getChannelId());
+
+    boolean income = checkIncome(moneyLog.getType());
+    int money = 0;
+    if (!income) {
+      //根据收支方向,将金额转负,方便统一计算
+      int negativeVal = (~(moneyLog.getLogMoney() - 1));
+      //判断账户余额是否大于支付金额
+      if(channel.getMoney() < moneyLog.getLogMoney()){
+        LogUtil.error(logger, "账户余额不足,支出失败,money:{0},logMoney:{1}", new Object[]{channel.getMoney(), moneyLog.getLogMoney()});
+        throw new DataOperationException(ErrorCodeEnum.ERROR_CODE_1008);
+      }
+      money = channel.getMoney() + negativeVal;
+      moneyLog.setMoney(money);
+      moneyLog.setLogMoney(negativeVal);
+      moneyLog.setIncomeExpense(ChannelMoneyEnum.EXPENSES);
+    } else {
+      money = channel.getMoney() + moneyLog.getLogMoney();
+      moneyLog.setMoney(money);
+      moneyLog.setIncomeExpense(ChannelMoneyEnum.INCOME);
+    }
+    LogUtil.info(logger, "channelId:{0}, money:{1}", new Object[]{channel.getChannelId() , channel.getMoney()});
+
+    //1、更新商户余额表
+    boolean rtn = channelService.update(new LambdaUpdateWrapper<Channel>().set(Channel::getMoney, money)
+            .set(ChannelMoneyBizTypeEnum.WITHDRAW == moneyLog.getRefType(), Channel::getFrozenMoney, channel.getFrozenMoney() + moneyLog.getLogMoney())
+        .eq(Channel::getChannelId, channel.getChannelId()).eq(Channel::getMoney, channel.getMoney()));
+    Assert.isTrue(rtn, "渠道余额更新失败,channelId:" + channel.getChannelId());
+
+    //2、增加余额流水记录
+    boolean logret = save(moneyLog);
+    if (!logret) {
+      LogUtil.error(logger,"插入渠道账户流水.channelId : " + moneyLog.getChannelId()
+          + "; money: " + moneyLog.getLogMoney());
+      throw new ServiceException(ErrorCodeEnum.ERROR_CODE_1009);
+    }
+    return true;
+  }
+
+  private boolean checkIncome(ChannelMoneyEnum bizType){
+    //判断收支类型是否符合预定义类型
+    if(ChannelMoneyEnum.COMMISSION == bizType){
+      return true;
+    }else if(ChannelMoneyEnum.WITHDRAW == bizType || ChannelMoneyEnum.WITHDRAW_FEE == bizType
+    || ChannelMoneyEnum.PURCHASE == bizType ){
+      return false;
+    } else {
+      throw new DataOperationException(ErrorCodeEnum.ERROR_CODE_1007);
+    }
+  }
 }

+ 30 - 2
mp-service/src/main/java/com/qs/mp/channel/service/impl/ChannelWithdrawServiceImpl.java

@@ -4,12 +4,17 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.qs.mp.channel.domain.Channel;
 import com.qs.mp.channel.domain.ChannelBankCard;
+import com.qs.mp.channel.domain.ChannelMoneyLog;
 import com.qs.mp.channel.domain.ChannelWithdraw;
 import com.qs.mp.channel.mapper.ChannelWithdrawMapper;
 import com.qs.mp.channel.service.IChannelBankCardService;
+import com.qs.mp.channel.service.IChannelMoneyLogService;
 import com.qs.mp.channel.service.IChannelService;
 import com.qs.mp.channel.service.IChannelWithdrawService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qs.mp.common.enums.ChannelMoneyBizTypeEnum;
+import com.qs.mp.common.enums.ChannelMoneyEnum;
+import java.util.Date;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -31,6 +36,9 @@ public class ChannelWithdrawServiceImpl extends ServiceImpl<ChannelWithdrawMappe
   @Autowired
   private IChannelService channelService;
 
+  @Autowired
+  private IChannelMoneyLogService channelMoneyLogService;
+
   @Override
   @Transactional
   public boolean apply(Channel channel, ChannelWithdraw channelWithdraw) {
@@ -51,14 +59,34 @@ public class ChannelWithdrawServiceImpl extends ServiceImpl<ChannelWithdrawMappe
       bankCard.setUserName(channelWithdraw.getUserName());
       channelBankCardService.updateById(bankCard);
     }
-
+    boolean rst = save(channelWithdraw);
     // 冻结账户余额,乐观锁
     channelService.update(new LambdaUpdateWrapper<Channel>()
         .set(Channel::getFrozenMoney, channel.getFrozenMoney() + channelWithdraw.getMoney())
         .set(Channel::getMoney, channel.getMoney() - channelWithdraw.getMoney())
         .eq(Channel::getChannelId, channel.getChannelId()).eq(Channel::getMoney, channel.getMoney()));
 
+    ChannelMoneyLog moneyLog = new ChannelMoneyLog();
+    moneyLog.setChannelId(channel.getChannelId());
+    moneyLog.setType(ChannelMoneyEnum.WITHDRAW);
+    moneyLog.setLogMoney(channelWithdraw.getMoney());
+    moneyLog.setBizTime(new Date());
+    moneyLog.setRefType(ChannelMoneyBizTypeEnum.WITHDRAW);
+    moneyLog.setRefId(String.valueOf(channelWithdraw.getId()));
+    channelMoneyLogService.changeMoney(moneyLog);
+
+    if (channelWithdraw.getChargeAmt() > 0) {
+      // 手续费
+      ChannelMoneyLog feeMoneyLog = new ChannelMoneyLog();
+      feeMoneyLog.setChannelId(channel.getChannelId());
+      feeMoneyLog.setType(ChannelMoneyEnum.WITHDRAW_FEE);
+      feeMoneyLog.setLogMoney(channelWithdraw.getChargeAmt());
+      feeMoneyLog.setBizTime(new Date());
+      feeMoneyLog.setRefType(ChannelMoneyBizTypeEnum.WITHDRAW);
+      feeMoneyLog.setRefId(String.valueOf(channelWithdraw.getId()));
+      channelMoneyLogService.changeMoney(moneyLog);
+    }
     // 创建提现记录
-    return save(channelWithdraw);
+    return rst;
   }
 }

+ 8 - 1
mp-service/src/main/java/com/qs/mp/user/domain/UserTicketOrder.java

@@ -102,9 +102,16 @@ public class UserTicketOrder implements Serializable {
   /**
    * 结佣标识,1代表已结佣 0代表未结佣
    */
-  @TableField("coupon_info")
+  @TableField("comm_status")
   @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
   private CommStatusEnum commStatus;
+
+  /**
+   * 结佣渠道ID
+   */
+  @TableField("channel_id")
+  private Long channelId;
+
   /**
    * 创建时间
    */

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

@@ -50,12 +50,6 @@ public class UserTicketOrderItem implements Serializable {
   @TableField("ticket_id")
   private String ticketId;
 
-  /**
-   * 线下购买渠道ID
-   */
-  @TableField("channel_id")
-  private Long channelId;
-
   /**
    * 创建时间
    */

+ 3 - 3
mp-service/src/main/java/com/qs/mp/user/service/impl/UserTicketOrderItemServiceImpl.java

@@ -26,7 +26,7 @@ public class UserTicketOrderItemServiceImpl extends ServiceImpl<UserTicketOrderI
   @Override
   public UserTicketOrderItem queryFinishedOrderItem(Long userId, String ticketId) {
     List<UserTicketOrderItem> itemList = getBaseMapper().listTicketOrderItemVO(new QueryWrapper<UserTicketOrderItem>().eq("t1.ticket_id", ticketId)
-        .eq("t1.userId", userId).eq("t2.status", UserTicketOrderStatusEnum.FINISHED));
+        .eq("t1.user_id", userId).eq("t2.status", UserTicketOrderStatusEnum.FINISHED));
     if (CollectionUtils.isEmpty(itemList)) {
       return null;
     }
@@ -37,14 +37,14 @@ public class UserTicketOrderItemServiceImpl extends ServiceImpl<UserTicketOrderI
   public List<TicketListVO> listMyTicketVO(Long userId, TicketStatusEnum status) {
 
     return getBaseMapper().listMyTicketVO(new QueryWrapper<UserTicketOrderItem>()
-        .eq("t1.userId", userId).eq("t2.status", UserTicketOrderStatusEnum.FINISHED)
+        .eq("t1.user_id", userId).eq("t2.status", UserTicketOrderStatusEnum.FINISHED)
         .eq("t3.status", status));
   }
 
   @Override
   public int countMyTicket(Long userId, TicketStatusEnum status) {
     return getBaseMapper().countMyTicket(new QueryWrapper<UserTicketOrderItem>()
-        .eq("t1.userId", userId).eq("t2.status", UserTicketOrderStatusEnum.FINISHED)
+        .eq("t1.user_id", userId).eq("t2.status", UserTicketOrderStatusEnum.FINISHED)
         .eq("t3.status", status));
   }
 }

+ 126 - 16
mp-service/src/main/java/com/qs/mp/user/service/impl/UserTicketOrderServiceImpl.java

@@ -9,8 +9,18 @@ import com.qs.mp.admin.domain.Ticket;
 import com.qs.mp.admin.domain.TicketBox;
 import com.qs.mp.admin.service.ITicketBoxService;
 import com.qs.mp.admin.service.ITicketService;
+import com.qs.mp.channel.domain.Channel;
+import com.qs.mp.channel.domain.ChannelCommission;
+import com.qs.mp.channel.domain.ChannelMoneyLog;
+import com.qs.mp.channel.domain.ChannelOrderDetail;
 import com.qs.mp.channel.domain.ChannelUserRel;
+import com.qs.mp.channel.service.IChannelCommissionService;
+import com.qs.mp.channel.service.IChannelMoneyLogService;
+import com.qs.mp.channel.service.IChannelOrderDetailService;
+import com.qs.mp.channel.service.IChannelService;
 import com.qs.mp.channel.service.IChannelUserRelService;
+import com.qs.mp.common.enums.ChannelMoneyBizTypeEnum;
+import com.qs.mp.common.enums.ChannelMoneyEnum;
 import com.qs.mp.common.enums.CommStatusEnum;
 import com.qs.mp.common.enums.MqTopicType;
 import com.qs.mp.common.enums.TicketBoxStatusEnum;
@@ -34,10 +44,10 @@ import com.qs.mp.user.mapper.UserTicketOrderMapper;
 import com.qs.mp.user.service.IUserCouponService;
 import com.qs.mp.user.service.IUserTicketOrderItemService;
 import com.qs.mp.user.service.IUserTicketOrderService;
+import java.math.BigDecimal;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
-import org.apache.pulsar.client.api.PulsarClient;
 import org.apache.pulsar.client.api.PulsarClientException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -69,6 +79,9 @@ public class UserTicketOrderServiceImpl extends
   @Autowired
   private IChannelUserRelService channelUserRelService;
 
+  @Autowired
+  private IChannelOrderDetailService channelOrderDetailService;
+
   @Autowired
   private IUserTicketOrderItemService userTicketOrderItemService;
 
@@ -78,13 +91,22 @@ public class UserTicketOrderServiceImpl extends
   @Autowired
   private PulsarClientService pulsarClientService;
 
+  @Autowired
+  private IChannelService channelService;
+
+  @Autowired
+  private IChannelCommissionService channelCommissionService;
+
+  @Autowired
+  private IChannelMoneyLogService channelMoneyLogService;
+
   @Autowired
   private BizIdGenerator bizIdGenerator;
 
   @Override
   @Transactional
   public String submitOrder(Long userId, TicketOrderSettleVO orderSettleVO) {
-    if (StringUtils.isNotBlank(orderSettleVO.getBoxId())) {
+    if (StringUtils.isBlank(orderSettleVO.getTicketId())) {
       return createOnlineOrder(userId, orderSettleVO);
     }
 
@@ -133,12 +155,13 @@ public class UserTicketOrderServiceImpl extends
     } else {
       userTicketOrder.setStatus(UserTicketOrderStatusEnum.FINISHED);
     }
-    save(userTicketOrder);
-
     // 查询用户的所属经销商,线上票直接查询
     ChannelUserRel channelUserRel = channelUserRelService.getOne(
         new LambdaQueryWrapper<ChannelUserRel>()
             .eq(ChannelUserRel::getUserId, userId));
+    userTicketOrder.setChannelId(null == channelUserRel ? null : channelUserRel.getChannelId());
+    save(userTicketOrder);
+
     for (int i = 0; i < orderSettleVO.getOrderNum(); i++) {
       UserTicketOrderItem orderItem = new UserTicketOrderItem();
       orderItem.setItemId(bizIdGenerator.newId());
@@ -146,7 +169,6 @@ public class UserTicketOrderServiceImpl extends
       orderItem.setUserId(userId);
       orderItem.setBoxId(ticketBox.getBoxId());
       orderItem.setTicketId(null); // 付款成功后再分配具体盲票
-      orderItem.setChannelId(null == channelUserRel ? null : channelUserRel.getChannelId());
       userTicketOrderItemService.save(orderItem);
     }
     return userTicketOrder.getOrderId();
@@ -178,19 +200,24 @@ public class UserTicketOrderServiceImpl extends
       ticketOrder.setStatus(UserTicketOrderStatusEnum.FINISHED);
       ticketOrder.setCommStatus(CommStatusEnum.YES); // 无需结佣,直接置为已结佣
     }
+    // 查询用户的所属经销商,线下票根据票包查询
+    ChannelOrderDetail channelOrderDetail = channelOrderDetailService.getOne(
+        new LambdaQueryWrapper<ChannelOrderDetail>()
+            .eq(ChannelOrderDetail::getPkgId, ticket.getPkgId()));
+    if (null == channelOrderDetail) {
+      LogUtil.error(logger, "线下票,根据票包ID查询购买渠道为空。ticketId:{0}, pkgId{1}",
+          ticket.getTicketId(), ticket.getPkgId());
+    } else {
+      ticketOrder.setChannelId(channelOrderDetail.getChannelId());
+    }
     save(ticketOrder);
 
-    // 查询用户的所属经销商,线上票直接查询
-    ChannelUserRel channelUserRel = channelUserRelService.getOne(
-        new LambdaQueryWrapper<ChannelUserRel>()
-            .eq(ChannelUserRel::getUserId, userId));
     UserTicketOrderItem orderItem = new UserTicketOrderItem();
     orderItem.setItemId(bizIdGenerator.newId());
     orderItem.setOrderId(ticketOrder.getOrderId());
     orderItem.setUserId(userId);
     orderItem.setBoxId(ticket.getBoxId());
     orderItem.setTicketId(ticket.getTicketId());
-    orderItem.setChannelId(null == channelUserRel ? null : channelUserRel.getChannelId());
     userTicketOrderItemService.save(orderItem);
     return ticketOrder.getOrderId();
   }
@@ -279,15 +306,20 @@ public class UserTicketOrderServiceImpl extends
         ticket = ticketService.getById(orderItem.getTicketId());
       }
       // 开幸运数字,更新ticket状态为已激活
-      ticket.setPlainLuckyNum(Integer.valueOf(RSAUtil.decrypt(ticket.getCipherLuckyNum())));
-      ticket.setStatus(TicketStatusEnum.ACTIVATED);
-      boolean rtn = ticketService.updateById(ticket);
+      boolean rtn = ticketService.update(
+          new LambdaUpdateWrapper<Ticket>().set(Ticket::getPlainLuckyNum,
+                  Integer.valueOf(RSAUtil.decrypt(ticket.getCipherLuckyNum())))
+              .set(Ticket::getStatus, TicketStatusEnum.ACTIVATED)
+              .eq(Ticket::getTicketId, ticket.getTicketId()));
       Assert.isTrue(rtn, "支付回调用户购票订单处理,更新盲票状态失败,ticketId:" + ticket.getTicketId());
     }
 
     // 更新订单状态为已完成
-    ticketOrder.setStatus(UserTicketOrderStatusEnum.FINISHED);
-    boolean updateRst = updateById(ticketOrder);
+    boolean updateRst = update(
+        new LambdaUpdateWrapper<UserTicketOrder>().set(UserTicketOrder::getStatus,
+                UserTicketOrderStatusEnum.FINISHED)
+            .eq(UserTicketOrder::getOrderId, ticketOrder.getOrderId())
+            .eq(UserTicketOrder::getStatus, UserTicketOrderStatusEnum.NOT_PAY));
     Assert.isTrue(updateRst, "支付回调用户购票订单处理,更新订单状态失败,orderId:" + ticketOrder.getOrderId());
 
     try {
@@ -300,7 +332,85 @@ public class UserTicketOrderServiceImpl extends
   }
 
   @Override
+  @Transactional
   public boolean commToChannel(String orderId) {
-    return false;
+    UserTicketOrder ticketOrder = getById(orderId);
+    Assert.isTrue(ticketOrder.getCommStatus() == CommStatusEnum.DOING,
+        "结佣处理,结佣状态异常,不是结佣中。orderId=" + orderId);
+
+    if (null != ticketOrder.getChannelId()) {
+      // 线下购票,优先给当前票的经销商渠道分润
+      TicketBox ticketBox = ticketBoxService.getById(ticketOrder.getBoxId());
+      Channel channel = channelService.getById(ticketOrder.getChannelId());
+      ChannelCommission siteCommission = saveSiteCommAmt(ticketOrder, ticketBox, channel);
+      // 经销商账户余额增加
+      changeMoney(channel, siteCommission);
+
+      int sumCommAmt = siteCommission.getCommAmt();
+      // 渠道分润
+      while (channel.getParentId() > 0) {
+        channel = channelService.getById(channel.getParentId());
+        ChannelCommission channelCommission = new ChannelCommission();
+        channelCommission.setChannelId(channel.getChannelId());
+        channelCommission.setOrderId(siteCommission.getOrderId());
+        channelCommission.setBoxId(siteCommission.getBoxId());
+        channelCommission.setSaleAmt(siteCommission.getSaleAmt());
+        channelCommission.setSaleCommRate(siteCommission.getSaleCommRate());
+        channelCommission.setSaleCommAmt(siteCommission.getSaleCommAmt());
+        channelCommission.setCommRate(channel.getCommRate());
+        channelCommission.setCommAmt(new BigDecimal(channelCommission.getSaleCommAmt()).multiply(
+            channelCommission.getCommRate()).intValue() - sumCommAmt);
+        channelCommissionService.save(channelCommission);
+        sumCommAmt += channelCommission.getCommAmt();
+      }
+      // 线下票如果用户没被绑定,则保存经销商用户绑定关系
+      ChannelUserRel channelUserRel = channelUserRelService.getOne(
+          new LambdaQueryWrapper<ChannelUserRel>()
+              .eq(ChannelUserRel::getUserId, ticketOrder.getUserId()));
+      if (null == channelUserRel) {
+        channelUserRel = new ChannelUserRel();
+        channelUserRel.setChannelId(ticketOrder.getChannelId());
+        channelUserRel.setUserId(ticketOrder.getUserId());
+        channelUserRelService.save(channelUserRel);
+      }
+    } else {
+      LogUtil.info(logger, "渠道结佣时,订单对应的渠道不存在,无需结佣。orderId:{0}",
+          ticketOrder.getOrderId());
+    }
+    boolean rst = update(
+        new LambdaUpdateWrapper<UserTicketOrder>().set(UserTicketOrder::getCommStatus,
+                CommStatusEnum.YES)
+            .eq(UserTicketOrder::getOrderId, orderId)
+            .eq(UserTicketOrder::getCommStatus, CommStatusEnum.DOING));
+    Assert.isTrue(rst, "渠道结佣完成,更新订单状态失败。orderId:" + orderId);
+    return true;
+  }
+
+  private void changeMoney(Channel channel, ChannelCommission siteCommission) {
+    ChannelMoneyLog moneyLog = new ChannelMoneyLog();
+    moneyLog.setChannelId(channel.getChannelId());
+    moneyLog.setType(ChannelMoneyEnum.COMMISSION);
+    moneyLog.setLogMoney(siteCommission.getCommAmt());
+    moneyLog.setBizTime(new Date());
+    moneyLog.setRefType(ChannelMoneyBizTypeEnum.COMMISSION);
+    moneyLog.setRefId(String.valueOf(siteCommission.getId()));
+    channelMoneyLogService.changeMoney(moneyLog);
+  }
+
+  private ChannelCommission saveSiteCommAmt(UserTicketOrder ticketOrder, TicketBox ticketBox,
+      Channel channel) {
+    ChannelCommission siteCommission = new ChannelCommission();
+    siteCommission.setChannelId(channel.getChannelId());
+    siteCommission.setOrderId(ticketOrder.getOrderId());
+    siteCommission.setBoxId(ticketOrder.getBoxId());
+    siteCommission.setSaleAmt(ticketOrder.getPayAmt());
+    siteCommission.setSaleCommRate(ticketBox.getSaleCommRate());
+    siteCommission.setSaleCommAmt(new BigDecimal(siteCommission.getSaleAmt()).multiply(
+        siteCommission.getSaleCommRate()).intValue());
+    siteCommission.setCommRate(channel.getCommRate());
+    siteCommission.setCommAmt(new BigDecimal(siteCommission.getSaleCommAmt()).multiply(
+        siteCommission.getCommRate()).intValue());
+    channelCommissionService.save(siteCommission);
+    return siteCommission;
   }
 }

+ 3 - 3
mp-service/src/main/resources/mapper/channel/ChannelCommissionMapper.xml

@@ -19,7 +19,7 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, channel_id, order_id, order_id, sale_amt, sale_comm_rate, sale_comm_amt, comm_rate, comm_amt, created_time, updated_time
+        id, channel_id, order_id, box_id, sale_amt, sale_comm_rate, sale_comm_amt, comm_rate, comm_amt, created_time, updated_time
     </sql>
 
     <!-- 查询子渠道一定时间范围内的佣金金额 -->
@@ -44,8 +44,8 @@
 			GROUP BY t1.order_id
 		) t3
 	</select>
-	
-	
+
+
 	  <!-- 查询子渠道全部的佣金金额 -->
     <select id="getChannelTotalCommAmtCnt" resultType="integer">
 		select IFNULL(SUM(t1.comm_amt),0) as commAmt

+ 7 - 8
mp-service/src/main/resources/mapper/user/UserTicketOrderItemMapper.xml

@@ -9,27 +9,26 @@
         <result column="user_id" property="userId" />
         <result column="box_id" property="boxId" />
         <result column="ticket_id" property="ticketId" />
-        <result column="channel_id" property="channelId" />
         <result column="created_time" property="createdTime" />
         <result column="updated_time" property="updatedTime" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        item_id, order_id, user_id, box_id, ticket_id, channel_id, created_time, updated_time
+        item_id, order_id, user_id, box_id, ticket_id, created_time, updated_time
     </sql>
 
     <select id="listTicketOrderItemVO" resultMap="BaseResultMap">
         select t1.*
-        from mp_ticket_order_item t1
-        left join mp_ticket_order t2 on t1.order_id = t2.order_id
+        from mp_user_ticket_order_item t1
+        left join mp_user_ticket_order t2 on t1.order_id = t2.order_id
             ${ew.customSqlSegment}
     </select>
 
     <select id="listMyTicketVO" resultType="com.qs.mp.admin.domain.vo.TicketListVO">
         select t1.item_id, t3.*, t4.pic_url
-        from mp_ticket_order_item t1
-         left join mp_ticket_order t2 on t1.order_id = t2.order_id
+        from mp_user_ticket_order_item t1
+         left join mp_user_ticket_order t2 on t1.order_id = t2.order_id
          left join mp_ticket t3 on t1.ticket_id = t3.ticket_id
          left join mp_ticket_box t4 on t3.box_id = t4.box_id
             ${ew.customSqlSegment}
@@ -37,8 +36,8 @@
 
     <select id="countMyTicket" resultType="Integer">
         select count(*)
-        from mp_ticket_order_item t1
-         left join mp_ticket_order t2 on t1.order_id = t2.order_id
+        from mp_user_ticket_order_item t1
+         left join mp_user_ticket_order t2 on t1.order_id = t2.order_id
          left join mp_ticket t3 on t1.ticket_id = t3.ticket_id
             ${ew.customSqlSegment}
     </select>

+ 2 - 1
mp-service/src/main/resources/mapper/user/UserTicketOrderMapper.xml

@@ -17,13 +17,14 @@
         <result column="coupon_info" property="couponInfo" />
         <result column="status" property="status" />
         <result column="comm_status" property="commStatus" />
+        <result column="channel_id" property="channelId" />
         <result column="created_time" property="createdTime" />
         <result column="updated_time" property="updatedTime" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        order_id, user_id, title, box_id, order_amt, discount_amt, pay_amt, ticket_num, memo, resource, coupon_info, status, comm_status, created_time, updated_time
+        order_id, user_id, title, box_id, order_amt, discount_amt, pay_amt, ticket_num, memo, resource, coupon_info, status, comm_status, channel_id, created_time, updated_time
     </sql>
 
 </mapper>