/** * 根据goods_no 和 goods_id 来查询商品信息 * * @param goodsNos * @return */ public List<Goods> getGoodsListByIdandNo(Map<String, List> goodsList);
public ServiceMessage<List<Goods>> getGoodsListByIdandNo( List<Goods> goodsList) { try { if (goodsList == null || goodsList.size() <= 0) { return super.returnParamsError("goodsNoList is null"); } List<String> list1 = new ArrayList<String>(); List<Long> list2 = new ArrayList<Long>(); Map<String, List> map = new HashMap<String, List>(); for (Goods g : goodsList) { list1.add(g.getGoodsNo()); list2.add(g.getGoodsId()); } map.put("list1", list1); map.put("list2", list2); return super.returnCorrectResult(iGoodsMapper .getGoodsListByIdandNo(map)); } catch (Throwable e) { logger.error(e.getMessage(), e); return super.returnException(e); } }
<select id="getGoodsListByIdandNo" resultMap="goodsResultImg" parameterType="java.util.HashMap"> <if test="list1 != null or list2!= null "> select g.*, pi.pro_image_url from goods g left join (select pig.product_id as product_id, pig.image_order, pig.pro_image_url as pro_image_url from product_img pig where pig.image_type = 'list' and pig.image_order = 1) pi on g.product_id = pi.product_id where g.is_delete = 'N' <if test="list1 != null"> and g.goods_no in <foreach item="goodsNo" collection="list1" open="(" close=")" separator=","> #{goodsNo} </foreach> </if> <if test="list2 != null"> and g.goods_id in <foreach item="goodsId" collection="list2" open="(" close=")" separator=","> #{goodsId} </foreach> </if> </if> </select>