Ver Fonte

Merge branch 'dev' into 'mp-server-test'

Dev

See merge request quanshu/mp-server!416
zhong chunping há 3 anos atrás
pai
commit
bd7e43de74

+ 46 - 7
mp-admin/src/main/java/com/qs/mp/web/controller/api/channel/ChannelMyTicketController.java

@@ -9,10 +9,12 @@ import com.qs.mp.channel.domain.ChannelTicketTransfer;
 import com.qs.mp.channel.domain.param.ChannelMyTicketQueryParam;
 import com.qs.mp.channel.domain.param.ChannelTicketTransferParam;
 import com.qs.mp.channel.domain.vo.ChannelMyTicketVO;
+import com.qs.mp.channel.domain.vo.ChannelTicketTransferDetailVO;
 import com.qs.mp.channel.service.IChannelOrderDetailService;
 import com.qs.mp.channel.service.IChannelService;
 import com.qs.mp.channel.service.IChannelTicketTransferService;
 import com.qs.mp.common.core.domain.AjaxResult;
+import com.qs.mp.common.core.page.TableDataInfo;
 import com.qs.mp.common.enums.ChannelCertifyStatusEnum;
 import com.qs.mp.common.enums.TicketPkgSaleStatusEnum;
 import com.qs.mp.common.utils.StringUtils;
@@ -52,28 +54,27 @@ public class ChannelMyTicketController extends BaseApiController {
     @ApiResponses(
             @ApiResponse(code = 200, message = "成功", response = ChannelMyTicketVO.class)
     )
-    public AjaxResult list(@RequestBody ChannelMyTicketQueryParam channelMyTicketQueryParam) {
+    public TableDataInfo list(@RequestBody ChannelMyTicketQueryParam channelMyTicketQueryParam) {
         Long channelId = SecurityUtils.getLoginUser().getChannelId();
         if (channelId == null) {
-            return AjaxResult.error("非法调用");
+            throw new RuntimeException("非法调用");
         }
 
         startPage();
         // 获取我的盲票列表
         List<ChannelMyTicketVO> list =  channelOrderDetailService.listMyTicket(channelId, channelMyTicketQueryParam);
-
-        return AjaxResult.success(list);
+        return getDataTable(list);
     }
 
-    @PostMapping("/channel/mobile")
+    @PostMapping("/channel/mobile/{mobile}")
     @ApiOperation("根据手机号获取经销商信息")
     @ApiImplicitParams(
-            @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String", paramType = "query")
+            @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String", paramType = "path")
     )
     @ApiResponses(
             @ApiResponse(code = 200, message = "成功", response = Channel.class)
     )
-    public AjaxResult channelInfoByMobile(@RequestParam String mobile) {
+    public AjaxResult channelInfoByMobile(@PathVariable("mobile") String mobile) {
         Long channelId = SecurityUtils.getLoginUser().getChannelId();
         if (channelId == null) {
             return AjaxResult.error("非法调用");
@@ -140,6 +141,44 @@ public class ChannelMyTicketController extends BaseApiController {
 
 
 
+    @PostMapping("/transfer/list")
+    @ApiOperation("已转让盲票列表")
+    @ApiResponses(
+            @ApiResponse(code = 200, message = "成功", response = ChannelMyTicketVO.class)
+    )
+    public TableDataInfo transferList(){
+        Long transferChannelId = SecurityUtils.getLoginUser().getChannelId();
+        if (transferChannelId == null) {
+            throw new RuntimeException("非法调用");
+        }
+
+        // 开启分页
+        startPage();
+
+        // 获取我的已转让的盲票列表
+        List<ChannelMyTicketVO> list = channelTicketTransferService.listTransferTicketList(transferChannelId);
+        return getDataTable(list);
+    }
+
 
+    @PostMapping("/transfer/detail/{id}")
+    @ApiOperation("转让盲票详情")
+    @ApiImplicitParams(
+            @ApiImplicitParam(name = "id", value = "转让详情id", required = true, dataType = "Long", paramType = "query")
+    )
+    @ApiResponses(
+            @ApiResponse(code = 200, message = "成功", response = ChannelTicketTransferDetailVO.class)
+    )
+    public AjaxResult detail(@PathVariable("id") Long id) {
+        Long transferChannelId = SecurityUtils.getLoginUser().getChannelId();
+
+        if (transferChannelId == null) {
+            return AjaxResult.error("非法调用");
+        }
+
+        ChannelTicketTransferDetailVO channelTicketTransferDetailVO =  channelTicketTransferService.getTicketTransferDetailById(id, transferChannelId);
+
+        return AjaxResult.success(channelTicketTransferDetailVO);
+    }
 
 }

+ 32 - 0
mp-service/src/main/java/com/qs/mp/channel/domain/vo/ChannelTicketTransferDetailVO.java

@@ -0,0 +1,32 @@
+package com.qs.mp.channel.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 盲票转让详情出参类
+ * @author Cup
+ * @date 2022/4/21
+ */
+@ApiModel("盲票转让详情出参类")
+@Data
+public class ChannelTicketTransferDetailVO {
+
+    @ApiModelProperty("盲票名称")
+    private String title;
+
+    @ApiModelProperty("票包编号")
+    private String pkgNo;
+
+    @ApiModelProperty("门店名称")
+    private String siteName;
+
+    @ApiModelProperty("手机号")
+    private String mobile;
+
+    @ApiModelProperty("转让时间")
+    private Date createdTime;
+}

+ 21 - 0
mp-service/src/main/java/com/qs/mp/channel/mapper/ChannelTicketTransferMapper.java

@@ -1,7 +1,14 @@
 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.ChannelTicketTransfer;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qs.mp.channel.domain.vo.ChannelMyTicketVO;
+import com.qs.mp.channel.domain.vo.ChannelTicketTransferDetailVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @auther quanshu
@@ -10,4 +17,18 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ChannelTicketTransferMapper extends BaseMapper<ChannelTicketTransfer> {
 
+    /**
+     * 获取已转让盲票列表
+     * @param queryWrapper
+     * @return
+     */
+    List<ChannelMyTicketVO> listTransferTicketList(@Param(Constants.WRAPPER) QueryWrapper<ChannelMyTicketVO> queryWrapper);
+
+    /**
+     * 获取已转让盲票详情
+     * @param queryWrapper
+     * @return
+     */
+    ChannelTicketTransferDetailVO getTicketTransferDetail(@Param(Constants.WRAPPER) QueryWrapper<ChannelTicketTransferDetailVO> queryWrapper);
+
 }

+ 18 - 0
mp-service/src/main/java/com/qs/mp/channel/service/IChannelTicketTransferService.java

@@ -3,6 +3,10 @@ package com.qs.mp.channel.service;
 import com.qs.mp.channel.domain.ChannelTicketTransfer;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qs.mp.channel.domain.param.ChannelTicketTransferParam;
+import com.qs.mp.channel.domain.vo.ChannelMyTicketVO;
+import com.qs.mp.channel.domain.vo.ChannelTicketTransferDetailVO;
+
+import java.util.List;
 
 /**
  * <p>
@@ -23,4 +27,18 @@ public interface IChannelTicketTransferService extends IService<ChannelTicketTra
      */
     boolean transferTicket(Long transferChannelId, ChannelTicketTransferParam channelTicketTransferParam);
 
+    /**
+     * 获取已转让盲票列表
+     * @param transferChannelId     转让人id
+     * @return
+     */
+    List<ChannelMyTicketVO> listTransferTicketList(Long transferChannelId);
+
+    /**
+     * 根据id和转让人id查询盲票转让详情
+     * @param id
+     * @param transferChannelId
+     * @return
+     */
+    ChannelTicketTransferDetailVO getTicketTransferDetailById(Long id, Long transferChannelId);
 }

+ 21 - 0
mp-service/src/main/java/com/qs/mp/channel/service/impl/ChannelTicketTransferServiceImpl.java

@@ -1,10 +1,13 @@
 package com.qs.mp.channel.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.qs.mp.channel.domain.ChannelOrderDetail;
 import com.qs.mp.channel.domain.ChannelTicketTransfer;
 import com.qs.mp.channel.domain.param.ChannelTicketTransferParam;
+import com.qs.mp.channel.domain.vo.ChannelMyTicketVO;
+import com.qs.mp.channel.domain.vo.ChannelTicketTransferDetailVO;
 import com.qs.mp.channel.mapper.ChannelTicketTransferMapper;
 import com.qs.mp.channel.service.IChannelOrderDetailService;
 import com.qs.mp.channel.service.IChannelTicketTransferService;
@@ -13,6 +16,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
+
 /**
  * <p>
  * 经销商盲票转让信息表 服务实现类
@@ -52,4 +57,20 @@ public class ChannelTicketTransferServiceImpl extends ServiceImpl<ChannelTicketT
 
         return true;
     }
+
+    @Override
+    public List<ChannelMyTicketVO> listTransferTicketList(Long transferChannelId) {
+        QueryWrapper<ChannelMyTicketVO> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("t.transfer_channel_id", transferChannelId);
+        queryWrapper.orderByDesc("t.created_time");
+        return this.baseMapper.listTransferTicketList(queryWrapper);
+    }
+
+    @Override
+    public ChannelTicketTransferDetailVO getTicketTransferDetailById(Long id, Long transferChannelId) {
+        QueryWrapper<ChannelTicketTransferDetailVO> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("t1.id", id);
+        queryWrapper.eq("t1.transfer_channel_id", transferChannelId);
+        return this.baseMapper.getTicketTransferDetail(queryWrapper);
+    }
 }

+ 32 - 0
mp-service/src/main/resources/mapper/channel/ChannelTicketTransferMapper.xml

@@ -18,4 +18,36 @@
         id, transfer_channel_id, channel_id, box_id, pkg_id, created_time, updated_time
     </sql>
 
+    <select id="listTransferTicketList" resultType="com.qs.mp.channel.domain.vo.ChannelMyTicketVO">
+        SELECT t.id,
+               t1.channel_id,
+               t1.box_id,
+               t1.pkg_id,
+               t1.created_time,
+               t2.pkg_no,
+               t2.sale_status,
+               t2.sale_qty,
+               t2.pkg_unit,
+               t3.title,
+               t3.pic_url,
+               t3.face_price
+        FROM mp_channel_ticket_transfer t
+         Left JOIN mp_channel_order_detail t1 ON t.pkg_id = t1.pkg_id
+         LEFT JOIN mp_ticket_package t2 ON t1.pkg_id = t2.pkg_id
+         LEFT JOIN mp_ticket_box t3 ON t2.box_id = t3.box_id
+        ${ew.customSqlSegment}
+    </select>
+
+    <select id="getTicketTransferDetail" resultType="com.qs.mp.channel.domain.vo.ChannelTicketTransferDetailVO">
+        SELECT t4.title,
+               t3.pkg_no,
+               t2.site_name,
+               t2.mobile,
+               t1.created_time
+        FROM mp_channel_ticket_transfer t1
+         LEFT JOIN mp_channel t2 ON t1.channel_id = t2.channel_id
+         LEFT JOIN mp_ticket_package t3 ON t1.pkg_id = t3.pkg_id
+         LEFT JOIN mp_ticket_box t4 ON t1.box_id = t4.box_id
+        ${ew.customSqlSegment}
+    </select>
 </mapper>