Prechádzať zdrojové kódy

展示已关联的盲票产品

zhangkaikai 2 rokov pred
rodič
commit
837832948c

+ 31 - 40
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/GoodsMgrController.java

@@ -1,16 +1,12 @@
 package com.qs.mp.web.controller.api.admin;
 
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 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.github.xiaoymin.knife4j.annotations.DynamicParameter;
 import com.github.xiaoymin.knife4j.annotations.DynamicParameters;
-import com.qs.mp.admin.domain.Goods;
-import com.qs.mp.admin.domain.GoodsCard;
-import com.qs.mp.admin.domain.GoodsSku;
-import com.qs.mp.admin.domain.GoodsTagRel;
+import com.qs.mp.admin.domain.*;
 import com.qs.mp.admin.domain.excel.GoodsCardImportExcel;
 import com.qs.mp.admin.domain.excel.GoodsExcel;
 import com.qs.mp.admin.domain.param.GoodsCardQueryParam;
@@ -19,10 +15,9 @@ import com.qs.mp.admin.domain.param.GoodsQueryParam;
 import com.qs.mp.admin.domain.param.GoodsUpdateSortWeightParam;
 import com.qs.mp.admin.domain.vo.GoodsExportVO;
 import com.qs.mp.admin.domain.vo.GoodsVO;
-import com.qs.mp.admin.service.IGoodsCardService;
-import com.qs.mp.admin.service.IGoodsService;
-import com.qs.mp.admin.service.IGoodsSkuService;
-import com.qs.mp.admin.service.IGoodsTagRelService;
+import com.qs.mp.admin.domain.vo.TicketBoxGoodsListVO;
+import com.qs.mp.admin.domain.vo.TicketVO;
+import com.qs.mp.admin.service.*;
 import com.qs.mp.common.annotation.Log;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.core.page.TableDataInfo;
@@ -89,6 +84,9 @@ public class GoodsMgrController extends BaseApiController {
     @Autowired
     private DistributedLocker distributedLocker;
 
+    @Autowired
+    private ITicketAwardsPrizeService ticketAwardsPrizeService;
+
 
     @PostMapping("/card/list")
     @PreAuthorize("@ss.hasPermi('business:goods:query')")
@@ -331,6 +329,30 @@ public class GoodsMgrController extends BaseApiController {
         return AjaxResult.success(goodsVo);
     }
 
+    /**
+     * 查询商品关联盲票
+     */
+    @PostMapping(value = "/detail/relationTicket")
+    @PreAuthorize("@ss.hasPermi('business:goods:query')")
+    @ApiOperation("查询商品关联的上架盲票")
+    @DynamicParameters(properties = {
+            @DynamicParameter(name = "goodsId", value = "商品id", required = true, dataTypeClass = Long.class)
+    })
+    @ApiResponses(
+            @ApiResponse(code = 200, message = "查询成功", response = TicketBox.class)
+    )
+    public AjaxResult detailRelationTicket(@RequestBody JSONObject jsonObject) {
+        String goodsId = jsonObject.getString("goodsId");
+        if (null == goodsId) {
+            return error(ErrorCodeEnum.ERROR_CODE_1001);
+        }
+        QueryWrapper<TicketBoxGoodsListVO> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("t2.ref_id", goodsId);
+        queryWrapper.orderByAsc("FIELD('on', `status`, 'wait', 'doing', 'done', 'off')");
+        List<TicketBox> ticketBoxList = ticketAwardsPrizeService.listTicketDetailRelGoods(queryWrapper);
+        return AjaxResult.success(ticketBoxList);
+    }
+
 
     /**
      * 新增商品信息
@@ -527,37 +549,6 @@ public class GoodsMgrController extends BaseApiController {
         return AjaxResult.success("操作成功");
     }
 
-    /**
-     * 批量上下架商品
-     */
-    @Log(title = "批量上下架商品",businessType = BusinessType.UPDATE)
-    @ApiOperation(value = "批量上下架商品",notes = "批量上下架商品")
-    @PostMapping("/batchStatus")
-    @PreAuthorize("@ss.hasPermi('business:goods:on')")
-    public AjaxResult batchGoodsStatus(@RequestBody JSONObject jsonObject) {
-        JSONArray goodsIdList = jsonObject.getJSONArray("goodsIdList");
-        GoodsStatusEnum status = GoodsStatusEnum.getStatusEnum(jsonObject.getString("status"));
-        if (CollectionUtils.isEmpty(goodsIdList) || null == status) {
-            return error(ErrorCodeEnum.ERROR_CODE_1001);
-        }
-
-        List<Goods> updateGoodsList = new ArrayList<>();
-        for (Object o : goodsIdList) {
-            Goods goods = new Goods();
-            goods.setGoodsId((Long) o);
-            goods.setStatus(status);
-            updateGoodsList.add(goods);
-        }
-
-        try {
-            goodsService.updateBatchById(updateGoodsList);
-            // 关联盲票商品
-        } catch (Exception e) {
-            return AjaxResult.error("操作失败");
-        }
-        return AjaxResult.success("操作成功");
-    }
-
 
     /**
      * 删除商品(假删)

+ 4 - 2
mp-service/src/main/java/com/qs/mp/admin/mapper/TicketAwardsPrizeMapper.java

@@ -5,9 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.qs.mp.admin.domain.TicketAwardsPrize;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qs.mp.admin.domain.TicketBox;
 import com.qs.mp.admin.domain.vo.TicketAwardsPrizeVO;
-import com.qs.mp.channel.domain.ChannelCart;
-import com.qs.mp.channel.domain.vo.ChannelCartVO;
+import com.qs.mp.admin.domain.vo.TicketBoxGoodsListVO;
+
 import java.util.List;
 import org.apache.ibatis.annotations.Param;
 
@@ -26,4 +27,5 @@ public interface TicketAwardsPrizeMapper extends BaseMapper<TicketAwardsPrize> {
    */
   List<TicketAwardsPrize> listByQueryWrapper(@Param(Constants.WRAPPER) QueryWrapper<TicketAwardsPrize> queryWrapper);
 
+  List<TicketBox> listTicketDetailRelGoodsId(@Param(Constants.WRAPPER) QueryWrapper<TicketBoxGoodsListVO> queryWrapper);
 }

+ 5 - 2
mp-service/src/main/java/com/qs/mp/admin/service/ITicketAwardsPrizeService.java

@@ -2,12 +2,13 @@ package com.qs.mp.admin.service;
 
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.qs.mp.admin.domain.TicketAwardsPrize;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qs.mp.admin.domain.TicketBox;
 import com.qs.mp.admin.domain.vo.TicketAwardsPrizeVO;
+import com.qs.mp.admin.domain.vo.TicketBoxGoodsListVO;
+
 import java.util.List;
-import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -28,4 +29,6 @@ public interface ITicketAwardsPrizeService extends IService<TicketAwardsPrize> {
    * @return
    */
     List<TicketAwardsPrize> listByQueryWrapper(QueryWrapper<TicketAwardsPrize> queryWrapper);
+
+  List<TicketBox> listTicketDetailRelGoods(QueryWrapper<TicketBoxGoodsListVO> queryWrapper);
 }

+ 7 - 0
mp-service/src/main/java/com/qs/mp/admin/service/impl/TicketAwardsPrizeServiceImpl.java

@@ -3,7 +3,9 @@ package com.qs.mp.admin.service.impl;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qs.mp.admin.domain.TicketAwardsPrize;
+import com.qs.mp.admin.domain.TicketBox;
 import com.qs.mp.admin.domain.vo.TicketAwardsPrizeVO;
+import com.qs.mp.admin.domain.vo.TicketBoxGoodsListVO;
 import com.qs.mp.admin.mapper.TicketAwardsPrizeMapper;
 import com.qs.mp.admin.service.ITicketAwardsPrizeService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -30,6 +32,11 @@ public class TicketAwardsPrizeServiceImpl extends ServiceImpl<TicketAwardsPrizeM
     return getBaseMapper().listByQueryWrapper(queryWrapper);
   }
 
+  @Override
+  public List<TicketBox> listTicketDetailRelGoods(QueryWrapper<TicketBoxGoodsListVO> queryWrapper) {
+    return getBaseMapper().listTicketDetailRelGoodsId(queryWrapper);
+  }
+
   @Override
   public List<TicketAwardsPrizeVO> listPrizeVO(Wrapper<TicketAwardsPrize> queryWrapper) {
     return getBaseMapper().listPrizeVO(queryWrapper);

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

@@ -77,4 +77,11 @@
             left join mp_coupon_pkg t4 on t1.ref_id = t4.id
         ${ew.customSqlSegment}
     </select>
+
+    <select id="listTicketDetailRelGoodsId" resultType="com.qs.mp.admin.domain.TicketBox">
+        select
+        t1.box_id,t1.title,t1.status
+        from mp_ticket_box t1 left join mp_ticket_awards_prize t2 on t1.box_id = t2.box_id
+        ${ew.customSqlSegment}
+    </select>
 </mapper>