<select id="queryGoodsByGoodsNoPcweb" parameterType="List" resultMap="simpleProductExtLucene"> select g.goods_no, wp.PRODUCT_ID, p.product_name, p.drug_treatment, p.drug_prescription_type, p.product_least_order || ‘‘ as "product_least_order", p.order_limit_amount || ‘‘ as "order_limit_amount", wg.goods_id, g.goods_name, g.market_price || ‘‘ as "market_price", g.sale_amount, g.click_amount, nvl(g.available_stock,0) || ‘‘ as "available_stock", pc.pro_catalog_id || ‘‘ as "pro_catalog_id", pi.pro_image_url, tag.tag_id || ‘‘ as "tag_id", tag.tag_icon_url, <![CDATA[ (case when exists ( select 1 from ec_promote_rule_goods_new npg right join ec_promote_rule_new np on npg.promote_rule_id = np.promote_rule_id where npg.goods_id = wg.goods_id and np.promote_client = ‘wap‘ and np.is_enable = ‘Y‘ and to_char(sysdate, ‘yyyy-mm-dd hh24:mi:dd‘) between np.begin_time and np.end_time ) then ‘Y‘ else ‘N‘ end) as MOBILE_SPECIAL, ]]> pc.full_index, to_number(case when wg.discount_state = ‘enable‘ <!-- and wg.member_ranks = ‘0‘ --> and to_char(sysdate, ‘yyyy-mm-dd hh24:mi:dd‘) between wg.begin_time and wg.end_time and wg.discount_price is not null and wg.discount_price != 0 then wg.discount_price when g.discount_state = ‘enable‘ <!-- and g.member_ranks = ‘0‘ --> and to_char(sysdate, ‘yyyy-mm-dd hh24:mi:dd‘) between g.begin_time and g.end_time and g.discount_price is not null and g.discount_price != 0 then g.discount_price else g.ec_price end) || ‘ ‘ as ec_price, (case when wg.discount_state = ‘enable‘ and to_char(sysdate, ‘yyyy-mm-dd hh24:mi:dd‘) between wg.begin_time and wg.end_time then wg.promote_phrase when g.discount_state = ‘enable‘ and to_char(sysdate, ‘yyyy-mm-dd hh24:mi:dd‘) between g.begin_time and g.end_time then g.promote_phrase else ‘‘ end) as promote_phrase, pc.pro_catalog_name, wp.product_keyword, wp.PRODUCT_CHN_NO, pb.product_brand_name, nvl(wp.product_order,0) product_order from product wp left join product p on p.product_id = wp.product_id and p.is_delete = ‘N‘ left join goods wg on wp.product_id = wg.product_id and wg.is_delete = ‘N‘ and wg.is_default = ‘Y‘ left join goods g on g.goods_id = wg.goods_id and g.is_delete = ‘N‘ and g.is_default = ‘Y‘ left join product_catalog pc on pc.pro_catalog_id = wp.pro_catalog_id and pc.is_delete = ‘N‘ left join product_brand pb on pb.product_brand_id = wp.product_brand_id and pb.is_delete = ‘N‘ left join ( select min(pt.tag_id) as tag_id, min(ptd.goods_id) as goods_id, min(pt.tag_icon_url) as tag_icon_url from product_tag_def ptd, product_tag pt where ptd.tag_id = pt.tag_id and pt.is_delete = ‘N‘ and pt.tag_type = ‘icon‘ group by ptd.goods_id ) tag on tag.goods_id = wg.goods_id left join ( select pig.product_id as product_id, min(pig.image_order), min(pig.pro_image_url) as pro_image_url from wap_product_img pig where pig.image_type = ‘small‘ group by pig.product_id) pi on wp.product_id = pi.product_id where wp.is_delete = ‘N‘ and p.is_onsale = ‘Y‘ and wg.is_delete = ‘N‘ and wg.is_default = ‘Y‘ and wp.pro_catalog_id is not null and wp.product_code NOT like ‘AJ%‘ and g.goods_no in <foreach collection="list" item="listItem" index="index" open="(" separator="," close=")" > #{listItem,jdbcType=VARCHAR} </foreach> </select>
<select id="queryGoodsByGoodsNoMobile" parameterType="List" resultMap="simpleProductExtLucene"> select g.goods_no, wp.PRODUCT_ID, p.product_name, p.drug_treatment, p.drug_prescription_type, p.product_least_order || ‘‘ as "product_least_order", p.order_limit_amount || ‘‘ as "order_limit_amount", wg.goods_id, g.goods_name, g.market_price || ‘‘ as "market_price", g.sale_amount, g.click_amount, nvl(g.available_stock,0) || ‘‘ as "available_stock", pc.pro_catalog_id || ‘‘ as "pro_catalog_id", pi.pro_image_url, tag.tag_id || ‘‘ as "tag_id", tag.tag_icon_url, <![CDATA[ (case when exists ( select 1 from ec_promote_rule_goods_new npg right join ec_promote_rule_new np on npg.promote_rule_id = np.promote_rule_id where npg.goods_id = wg.goods_id and np.promote_client = ‘wap‘ and np.is_enable = ‘Y‘ and to_char(sysdate, ‘yyyy-mm-dd hh24:mi:dd‘) between np.begin_time and np.end_time ) then ‘Y‘ else ‘N‘ end) as MOBILE_SPECIAL, ]]> pc.full_index, to_number(case when wg.discount_state = ‘enable‘ <!-- and wg.member_ranks = ‘0‘ --> and to_char(sysdate, ‘yyyy-mm-dd hh24:mi:dd‘) between wg.begin_time and wg.end_time and wg.discount_price is not null and wg.discount_price != 0 then wg.discount_price when g.discount_state = ‘enable‘ <!-- and g.member_ranks = ‘0‘ --> and to_char(sysdate, ‘yyyy-mm-dd hh24:mi:dd‘) between g.begin_time and g.end_time and g.discount_price is not null and g.discount_price != 0 then g.discount_price else g.ec_price end) || ‘ ‘ as ec_price, (case when wg.discount_state = ‘enable‘ and to_char(sysdate, ‘yyyy-mm-dd hh24:mi:dd‘) between wg.begin_time and wg.end_time then wg.promote_phrase when g.discount_state = ‘enable‘ and to_char(sysdate, ‘yyyy-mm-dd hh24:mi:dd‘) between g.begin_time and g.end_time then g.promote_phrase else ‘‘ end) as promote_phrase, pc.pro_catalog_name, wp.product_keyword, wp.PRODUCT_CHN_NO, pb.product_brand_name, nvl(wp.product_order,0) product_order from wap_product wp left join product p on p.product_id = wp.product_id and p.is_delete = ‘N‘ left join wap_goods wg on wp.product_id = wg.product_id and wg.is_delete = ‘N‘ and wg.is_default = ‘Y‘ left join goods g on g.goods_id = wg.goods_id and g.is_delete = ‘N‘ and g.is_default = ‘Y‘ left join product_catalog pc on pc.pro_catalog_id = wp.pro_catalog_id and pc.is_delete = ‘N‘ left join product_brand pb on pb.product_brand_id = wp.product_brand_id and pb.is_delete = ‘N‘ left join ( select min(pt.tag_id) as tag_id, min(ptd.goods_id) as goods_id, min(pt.tag_icon_url) as tag_icon_url from product_tag_def ptd, product_tag pt where ptd.tag_id = pt.tag_id and pt.is_delete = ‘N‘ and pt.tag_type = ‘icon‘ group by ptd.goods_id ) tag on tag.goods_id = wg.goods_id left join ( select pig.product_id as product_id, min(pig.image_order), min(pig.pro_image_url) as pro_image_url from wap_product_img pig where pig.image_type = ‘small‘ group by pig.product_id) pi on wp.product_id = pi.product_id where wp.is_delete = ‘N‘ and p.is_onsale = ‘Y‘ and wg.is_delete = ‘N‘ and wg.is_default = ‘Y‘ and wp.pro_catalog_id is not null and wp.product_code NOT like ‘AJ%‘ and g.goods_no in <foreach collection="list" item="listItem" index="index" open="(" separator="," close=")" > #{listItem,jdbcType=VARCHAR} </foreach> </select>
public List<Map<String, Object>> queryGoodsByGoodsNoPcweb(List<String> goodsNos);
public ServiceMessage<List<Map<String, Object>>> queryGoodsListByGoodsNoList(List<String> goodsNoList, SiteType siteType) { try { if (goodsNoList == null || goodsNoList.size() < 1) { return super.returnParamsError("接收到的goodsNoList(" + goodsNoList + ")为空"); } else if (goodsNoList.get(0) == null || "".equals(goodsNoList.get(0).trim())) { return super.returnParamsError("接收到的goodsNoList(" + goodsNoList.get(0) + ")元素为空"); } else if (siteType == null) { return super.returnParamsError("接收到的SiteType(" + siteType + ")元素为空"); } List<Map<String, Object>> goodsList = null; if (SiteType.PCWEB.equals(siteType)) { goodsList = goodsMapper.queryGoodsByGoodsNoPcweb(goodsNoList); } else if (SiteType.MOBILE.equals(siteType)) { goodsList = goodsMapper.queryGoodsByGoodsNoMobile(goodsNoList); } return super.returnCorrectResult(goodsList); } catch (Throwable e) { return super.returnException(e); } }
时间: 2024-09-30 21:14:57