Parcourir la source

update 置换商品取商品列表中商品

周箭河 il y a 4 ans
Parent
commit
023c1fbdda

+ 15 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/GoodsDao.java

@@ -8,6 +8,7 @@ import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 public interface GoodsDao extends BaseDAO<Integer, Goods> {
 
@@ -168,4 +169,18 @@ public interface GoodsDao extends BaseDAO<Integer, Goods> {
      * @return
      */
     List<Goods> getGoodsByBaseGoodsId(@Param("goodsId") Integer goodsId);
+
+    /**
+     * 获取乐器置换的商品
+     *
+     * @return
+     */
+    List<Goods> getReplacementGoodsPage(Map<String, Object> params);
+
+    /**
+     * 获取乐器置换商品总数
+     * @param params
+     * @return
+     */
+    Integer getReplacementInstrumentCount(Map<String, Object> params);
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Goods.java

@@ -138,6 +138,9 @@ public class Goods {
 	@ApiModelProperty(value = "乐团是否展示")
 	private YesOrNoEnum musicGroupShow;
 
+	@ApiModelProperty(value = "乐器置换是否展示")
+	private YesOrNoEnum replacementShow;
+
 	@ApiModelProperty(value = "库存类型")
 	private StockType stockType;
 
@@ -429,4 +432,11 @@ public class Goods {
 		return ToStringBuilder.reflectionToString(this);
 	}
 
+	public YesOrNoEnum getReplacementShow() {
+		return replacementShow;
+	}
+
+	public void setReplacementShow(YesOrNoEnum replacementShow) {
+		this.replacementShow = replacementShow;
+	}
 }

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ReplacementInstrumentService.java

@@ -1,8 +1,17 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.ReplacementInstrument;
+import com.ym.mec.biz.dal.page.ReplacementInstrumentQueryInfo;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
 public interface ReplacementInstrumentService extends BaseService<Integer, ReplacementInstrument>{
 
+    /**
+     * 获取置换乐器列表
+     * @param queryInfo
+     * @return
+     */
+    PageInfo<Goods> getPageList(ReplacementInstrumentQueryInfo queryInfo);
 }

+ 35 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ReplacementInstrumentServiceImpl.java

@@ -1,22 +1,51 @@
 package com.ym.mec.biz.service.impl;
 
+import com.ym.mec.biz.dal.dao.GoodsDao;
+import com.ym.mec.biz.dal.entity.Goods;
+import com.ym.mec.biz.dal.page.ReplacementInstrumentQueryInfo;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.util.collection.MapUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import com.ym.mec.biz.dal.entity.ReplacementInstrument;
 import com.ym.mec.biz.service.ReplacementInstrumentService;
 import com.ym.mec.biz.dal.dao.ReplacementInstrumentDao;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 @Service
 public class ReplacementInstrumentServiceImpl extends BaseServiceImpl<Integer, ReplacementInstrument> implements ReplacementInstrumentService {
 
-	@Autowired
-	private ReplacementInstrumentDao replacementInstrumentDao;
+    @Autowired
+    private ReplacementInstrumentDao replacementInstrumentDao;
+    @Autowired
+    private GoodsDao goodsDao;
+
+    @Override
+    public BaseDAO<Integer, ReplacementInstrument> getDAO() {
+        return replacementInstrumentDao;
+    }
+
+    @Override
+    public PageInfo<Goods> getPageList(ReplacementInstrumentQueryInfo queryInfo) {
+        PageInfo<Goods> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<String, Object>();
+        MapUtil.populateMap(params, queryInfo);
 
-	@Override
-	public BaseDAO<Integer, ReplacementInstrument> getDAO() {
-		return replacementInstrumentDao;
-	}
+        List<Goods> dataList = new ArrayList<>();
+        int count = goodsDao.getReplacementInstrumentCount(params);
 
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = goodsDao.getReplacementGoodsPage(params);
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
 }

+ 38 - 0
mec-biz/src/main/resources/config/mybatis/GoodsMapper.xml

@@ -38,6 +38,7 @@
         <result column="client_show_" property="clientShow" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="educational_show_" property="educationalShow" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="music_group_show_" property="musicGroupShow" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="replacement_show_" property="replacementShow" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="stock_warning_" property="stockWarning" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     </resultMap>
 
@@ -433,4 +434,41 @@
     <select id="getGoodsByBaseGoodsId" resultMap="Goods">
         SELECT * FROM goods WHERE FIND_IN_SET(#{goodsId}, complement_goods_id_list_)
     </select>
+
+    <!-- 根据分部获取乐器置换的商品-->
+    <select id="getReplacementGoodsPage" resultMap="Goods">
+        SELECT g.*
+        FROM subject_goods_mapper sgm
+        LEFT JOIN goods g ON sgm.goods_category_id_ = g.goods_category_id_
+        WHERE g.replacement_show_ = 1
+        AND g.status_ != 0
+        AND g.type_ = 'INSTRUMENT'
+        <include refid="replacementQuerySql"/>
+        <include refid="global.limit"/>
+    </select>
+
+    <select id="getReplacementInstrumentCount" resultType="int">
+        SELECT COUNT(*)
+        FROM subject_goods_mapper sgm
+        LEFT JOIN goods g ON sgm.goods_category_id_ = g.goods_category_id_
+        WHERE g.replacement_show_ = 1
+        AND g.status_ != 0
+        AND g.type_ = 'INSTRUMENT'
+        <include refid="replacementQuerySql"/>
+        <include refid="global.limit"/>
+    </select>
+
+    <sql id="replacementQuerySql">
+        <where>
+            <if test="subjectId != null">
+                AND sgm.subject_id_ = #{subjectId}
+            </if>
+            <if test="brand != null and brand!=''">
+                AND g.brand_ = #{brand}
+            </if>
+            <if test="specification != null and specification!=''">
+                AND g.specification_ = #{specification}
+            </if>
+        </where>
+    </sql>
 </mapper>

+ 5 - 2
mec-student/src/main/java/com/ym/mec/student/controller/ReplacementInstrumentController.java

@@ -1,5 +1,8 @@
 package com.ym.mec.student.controller;
 
+import com.ym.mec.biz.dal.entity.Goods;
+import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.page.PageInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
@@ -26,12 +29,12 @@ public class ReplacementInstrumentController extends BaseController {
 
     @ApiOperation(value = "分页查询列表")
     @GetMapping("/queryPage")
-    public Object queryPage(ReplacementInstrumentQueryInfo queryInfo) {
+    public HttpResponseResult<PageInfo<Goods>> queryPage(ReplacementInstrumentQueryInfo queryInfo) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        return succeed(replacementInstrumentService.queryPage(queryInfo));
+        return succeed(replacementInstrumentService.getPageList(queryInfo));
     }
 
 }