Przeglądaj źródła

优惠券关联门店列表

cup 2 lat temu
rodzic
commit
b4d22acc95

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

@@ -9,6 +9,7 @@ import com.qs.mp.admin.domain.Ticket;
 import com.qs.mp.admin.domain.vo.TicketListVO;
 import com.qs.mp.admin.service.ICouponChannelService;
 import com.qs.mp.admin.service.IGoodsService;
+import com.qs.mp.channel.domain.Channel;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.core.page.TableDataInfo;
 import com.qs.mp.common.enums.*;
@@ -18,6 +19,7 @@ import com.qs.mp.user.domain.UserCoin;
 import com.qs.mp.user.domain.UserCoinLog;
 import com.qs.mp.user.domain.UserCoupon;
 import com.qs.mp.user.domain.UserPrizeStorage;
+import com.qs.mp.user.domain.param.CouponChannelQueryParam;
 import com.qs.mp.user.domain.param.UserPrizeStorageQueryParam;
 import com.qs.mp.user.domain.param.UserPrizeStorageUpdateParam;
 import com.qs.mp.user.domain.vo.UserCouponVO;
@@ -38,6 +40,7 @@ import java.util.Map;
 
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
+import java.util.stream.Collectors;
 import lombok.AllArgsConstructor;
 import ma.glasnost.orika.MapperFacade;
 import org.springframework.beans.BeanUtils;
@@ -148,6 +151,31 @@ public class UserMineController extends BaseApiController {
         return AjaxResult.error("优惠券不存在");
     }
 
+
+    @PostMapping("/coupon/channel/list")
+    @ApiOperation("优惠券关联门店列表")
+    @ApiResponses(
+        @ApiResponse(code = 200, message = "成功", response = Channel.class)
+    )
+    public TableDataInfo listCouponChannel(@RequestBody CouponChannelQueryParam param) {
+        Long userId = SecurityUtils.getLoginUser().getUserId();
+        if (param.getCouponId() == null) {
+            return getErrorDataTable("优惠券id不能为空");
+        }
+        startPage();
+        QueryWrapper<CouponChannel> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("t1.coupon_id", param.getCouponId());
+
+        queryWrapper.eq(null != param.getProvinceId(), "t2.province_id", param.getProvinceId());
+        queryWrapper.eq(null != param.getCityId(), "t2.city_id", param.getCityId());
+        queryWrapper.eq(null != param.getAreaId(), "t2.area_id", param.getAreaId());
+
+        List<Channel> channelList =  couponChannelService.listCouponChannelByQueryWrapper(queryWrapper);
+
+        return getDataTable(channelList);
+    }
+
+
     /**
      * 我的盲豆
      */

+ 11 - 0
mp-service/src/main/java/com/qs/mp/admin/mapper/CouponChannelMapper.java

@@ -1,7 +1,12 @@
 package com.qs.mp.admin.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.qs.mp.admin.domain.CouponChannel;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qs.mp.channel.domain.Channel;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * @auther quanshu
@@ -10,4 +15,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface CouponChannelMapper extends BaseMapper<CouponChannel> {
 
+    /**
+     * 根据条件查询优惠券关联的门店列表
+     * @param queryWrapper
+     * @return
+     */
+    List<Channel> listCouponChannelByQueryWrapper(@Param(Constants.WRAPPER) QueryWrapper<CouponChannel> queryWrapper);
 }

+ 9 - 0
mp-service/src/main/java/com/qs/mp/admin/service/ICouponChannelService.java

@@ -1,7 +1,10 @@
 package com.qs.mp.admin.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qs.mp.admin.domain.CouponChannel;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qs.mp.channel.domain.Channel;
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +16,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ICouponChannelService extends IService<CouponChannel> {
 
+    /**
+     * 根据条件查询优惠券关联的门店列表
+     * @param queryWrapper
+     * @return
+     */
+    List<Channel> listCouponChannelByQueryWrapper(QueryWrapper<CouponChannel> queryWrapper);
 }

+ 8 - 0
mp-service/src/main/java/com/qs/mp/admin/service/impl/CouponChannelServiceImpl.java

@@ -1,9 +1,12 @@
 package com.qs.mp.admin.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qs.mp.admin.domain.CouponChannel;
 import com.qs.mp.admin.mapper.CouponChannelMapper;
 import com.qs.mp.admin.service.ICouponChannelService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qs.mp.channel.domain.Channel;
+import java.util.List;
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,4 +20,9 @@ import org.springframework.stereotype.Service;
 @Service
 public class CouponChannelServiceImpl extends ServiceImpl<CouponChannelMapper, CouponChannel> implements ICouponChannelService {
 
+
+    @Override
+    public List<Channel> listCouponChannelByQueryWrapper(QueryWrapper<CouponChannel> queryWrapper) {
+        return getBaseMapper().listCouponChannelByQueryWrapper(queryWrapper);
+    }
 }

+ 28 - 0
mp-service/src/main/java/com/qs/mp/user/domain/param/CouponChannelQueryParam.java

@@ -0,0 +1,28 @@
+package com.qs.mp.user.domain.param;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author Cup
+ * @date 2022/7/28
+ */
+@ApiModel("优惠券关联门店查询入参类")
+@Data
+public class CouponChannelQueryParam {
+
+    @ApiModelProperty("优惠券ID")
+    private Long couponId;
+
+    @ApiModelProperty("省ID")
+    private Long provinceId;
+
+    @ApiModelProperty("城市ID")
+    private Long cityId;
+
+    @ApiModelProperty("区ID")
+    private Long areaId;
+
+}

+ 7 - 0
mp-service/src/main/resources/mapper/admin/CouponChannelMapper.xml

@@ -16,4 +16,11 @@
         id, coupon_id, channel_id, created_time, updated_time
     </sql>
 
+    <select id="listCouponChannelByQueryWrapper" resultType="com.qs.mp.channel.domain.Channel">
+        select t2.*
+        from mp_coupon_channel t1
+         left join mp_channel t2 on t1.channel_id = t2.channel_id
+        ${ew.customSqlSegment}
+    </select>
+
 </mapper>