Browse Source

已转让盲票详情

cup 3 years ago
parent
commit
81aaeee12b

+ 31 - 11
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("非法调用");
@@ -145,20 +146,39 @@ public class ChannelMyTicketController extends BaseApiController {
     @ApiResponses(
             @ApiResponse(code = 200, message = "成功", response = ChannelMyTicketVO.class)
     )
-    public AjaxResult transferList(){
+    public TableDataInfo transferList(){
         Long transferChannelId = SecurityUtils.getLoginUser().getChannelId();
         if (transferChannelId == null) {
-            return AjaxResult.error("非法调用");
+            throw new RuntimeException("非法调用");
         }
 
         // 开启分页
         startPage();
 
         // 获取我的已转让的盲票列表
-       List<ChannelMyTicketVO> list = channelTicketTransferService.listTransferTicketList(transferChannelId);
-       return AjaxResult.success(list);
+        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;
+}

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

@@ -5,6 +5,7 @@ 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;
@@ -22,4 +23,12 @@ public interface ChannelTicketTransferMapper extends BaseMapper<ChannelTicketTra
      * @return
      */
     List<ChannelMyTicketVO> listTransferTicketList(@Param(Constants.WRAPPER) QueryWrapper<ChannelMyTicketVO> queryWrapper);
+
+    /**
+     * 获取已转让盲票详情
+     * @param queryWrapper
+     * @return
+     */
+    ChannelTicketTransferDetailVO getTicketTransferDetail(@Param(Constants.WRAPPER) QueryWrapper<ChannelTicketTransferDetailVO> queryWrapper);
+
 }

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

@@ -4,6 +4,7 @@ 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;
 
@@ -32,4 +33,12 @@ public interface IChannelTicketTransferService extends IService<ChannelTicketTra
      * @return
      */
     List<ChannelMyTicketVO> listTransferTicketList(Long transferChannelId);
+
+    /**
+     * 根据id和转让人id查询盲票转让详情
+     * @param id
+     * @param transferChannelId
+     * @return
+     */
+    ChannelTicketTransferDetailVO getTicketTransferDetailById(Long id, Long transferChannelId);
 }

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

@@ -7,6 +7,7 @@ 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;
@@ -64,4 +65,12 @@ public class ChannelTicketTransferServiceImpl extends ServiceImpl<ChannelTicketT
         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);
+    }
 }

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

@@ -37,4 +37,17 @@
          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>