From 7e6bbd05a75b07cb0717812d0b51aad128361012 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 19 May 2022 18:43:42 +0800 Subject: [PATCH] fix some problem --- src/main/resources/mapper/modules/MallGoodsMapper.xml | 212 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 194 insertions(+), 18 deletions(-) diff --git a/src/main/resources/mapper/modules/MallGoodsMapper.xml b/src/main/resources/mapper/modules/MallGoodsMapper.xml index 85a4ea2..ac3fde8 100644 --- a/src/main/resources/mapper/modules/MallGoodsMapper.xml +++ b/src/main/resources/mapper/modules/MallGoodsMapper.xml @@ -2,32 +2,208 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="cc.mrbird.febs.mall.mapper.MallGoodsMapper"> - <select id="selectMallGoodsListQueryInPage" resultType="cc.mrbird.febs.mall.vo.MallGoodsListVo"> + <resultMap id="MallGoodsMap" type="cc.mrbird.febs.mall.entity.MallGoods"> + <id property="id" column="id" /> + <result property="goodsNo" column="goods_no" /> + <result property="goodsName" column="goods_name" /> + <result property="goodsIntrodution" column="goods_introdution" /> + <result property="unit" column="unit" /> + <result property="thumb" column="thumb" /> + <result property="goodsDetails" column="goods_details" /> + <result property="isSale" column="is_sale" /> + <result property="originalPrice" column="original_price" /> + <result property="presentPrice" column="present_price" /> + <result property="categoryId" column="category_id" /> + <result property="volume" column="volume" /> + <result property="stock" column="stock" /> + <result property="score" column="score" /> + <result property="goodsType" column="goods_type" /> + <collection property="styles" ofType="cc.mrbird.febs.mall.entity.MallGoodsStyle"> + <id property="id" column="style_id" /> + <result property="name" column="style_name" /> + <result property="goodsId" column="style_goods_id" /> + <collection property="skus" ofType="cc.mrbird.febs.mall.entity.MallGoodsSku"> + <id property="id" column="sku_id" /> + <result property="skuName" column="sku_name" /> + <result property="skuImage" column="sku_image" /> + <result property="stock" column="sku_stock" /> + <result property="skuVolume" column="sku_volume" /> + <result property="originalPrice" column="sku_original_price" /> + <result property="presentPrice" column="sku_present_price" /> + <result property="styleId" column="sku_style_id"/> + <result property="goodsId" column="sku_goods_id" /> + </collection> + </collection> + </resultMap> + + <select id="selectGoodsDetailById" resultMap="MallGoodsMap"> select - a.id, - a.goods_name, - a.goods_introdution, - a.thumb, - a.original_price, - a.present_price, - sum(b.sku_volume) saleVolume + a.*, + b.id style_id, + b.name style_name, + b.goods_id style_goods_id, + c.id sku_id, + c.sku_name, + c.sku_image, + c.stock sku_stock, + c.sku_volume, + c.original_price sku_original_price, + c.present_price sku_present_price, + c.style_id sku_style_id, + c.goods_id sku_goods_id from mall_goods a - inner join mall_goods_sku b on a.id=b.goods_id - inner join mall_goods_category c on a.category_id=c.id + left join mall_goods_style b on a.id = b.goods_id + left join mall_goods_sku c on b.id=c.style_id + where a.id=#{id} + </select> + + <select id="selectMallGoodsListQueryInPage" resultType="cc.mrbird.febs.mall.vo.MallGoodsListVo"> + select * from ( + select + a.id, + a.goods_name, + a.goods_introdution, + a.thumb, + a.original_price, + a.present_price, + a.score, + a.is_hot, + min(b.present_price) price, + sum(b.sku_volume) saleVolume + from mall_goods a + left join mall_goods_sku b on a.id=b.goods_id + left join mall_goods_category c on a.category_id=c.id + <where> + a.is_sale=1 + <if test="record != null"> + <if test="record.isHot != null and record.isHot != ''"> + and a.is_hot = 1 + </if> + <if test="record.isNormal != null and record.isNormal != ''"> + and a.is_normal = #{record.isNormal} + </if> + <if test="record.goodsType != null and record.goodsType != ''"> + and a.goods_type = #{record.goodsType} + </if> + <if test="record.categoryId != null and record.categoryId != ''"> + and (c.id = #{record.categoryId} or c.parent_id=#{record.categoryId}) + </if> + <if test="record.query != null and record.query != ''"> + and a.goods_name like CONCAT('%', CONCAT(#{record.query}, '%')) + </if> + </if> + </where> + group by a.id + order by a.id desc + ) a + <if test="record.sortType != null"> + <if test="record.sortType == 1"> + order by a.is_hot, a.saleVolume desc, a.id + </if> + <if test="record.sortType == 2"> + order by a.saleVolume desc + </if> + <if test="record.sortType == 3 and record.sort == 'asc'"> + order by a.price + </if> + <if test="record.sortType == 3 and record.sort == 'desc'"> + order by a.price desc + </if> + <if test="record.sortType == 4"> + order by a.id desc + </if> + </if> + </select> + + <select id="selectMallGoodsInPage" resultType="cc.mrbird.febs.mall.vo.AdminMallGoodsVo"> + select + a.id, + a.goods_name, + a.goods_no, + a.goods_introdution, + a.unit, + a.thumb, + a.goods_details, + a.is_sale, + a.original_price, + a.present_price, + a.is_hot, + a.score, + b.name categaryName, + IFNULL(sum(c.sku_volume), a.volume) skuVolume, + IFNULL(sum(c.stock), a.stock) stock + from mall_goods a + left join mall_goods_category b on b.id = a.category_id + left join mall_goods_sku c on c.goods_id = a.id <where> - a.is_sale=1 <if test="record != null"> - <if test="record.isHot != null and record.isHot != ''"> - and a.is_hot = 1 + <if test="record.goodsName != null and record.goodsName != ''"> + and a.goods_name like CONCAT('%', CONCAT(#{record.goodsName}, '%')) </if> - <if test="record.categoryId != null and record.categoryId != ''"> - and (c.category_id = #{record.categoryId} or c.parent_id=#{record.categoryId}) - </if> - <if test="record.query != null and record.query != ''"> - and a.goods_name like CONCAT('%', CONCAT(#{record.query}, '%')) + <if test="record.goodsType != null and record.goodsType != ''"> + and a.goods_type=#{record.goodsType} </if> </if> </where> + group by a.id order by a.created_time desc </select> + + <select id="selectMallGoodsCountByGoodsName" resultType="java.lang.Integer"> + select count(id) from mall_goods a where a.goods_name = #{goodsName} + </select> + + + + <select id="selectMallGoodsCountByGoodsNameAndGoodId" resultType="java.lang.Integer"> + select count(id) from mall_goods a where a.goods_name = #{goodsName} and a.id != #{id} + </select> + + <select id="selectMallGoodsCountByGoodsNo" resultType="java.lang.Integer"> + select count(id) from mall_goods a where a.goods_no = #{goodsNo} + </select> + + <select id="selectMallGoodsCountByGoodsNoAndGoodId" resultType="java.lang.Integer"> + select count(id) from mall_goods a where a.goods_no = #{goodsNo} and a.id != #{id} + </select> + + <select id="selectMallGoodsInfoById" resultType="cc.mrbird.febs.mall.vo.AdminMailGoodsDetailVo"> + select * from mall_goods a where a.id = #{id} + </select> + + <select id="selectGoodsStockAndVolume" resultType="java.util.HashMap"> + select + sum(stock) stock, + sum(sku_volume) volume + from mall_goods_sku + where goods_id=#{id} + </select> + + <select id="selectMallGoodsByCategaryId" resultType="cc.mrbird.febs.mall.entity.MallGoods"> + select * from mall_goods a where a.category_id = #{categaryId} + </select> + + <select id="getMallGoodsUpdateInfoById" resultType="cc.mrbird.febs.mall.vo.AdminMailGoodsUpdateVo"> + select * from mall_goods a where a.id = #{id} + </select> + + <select id="getAllGoodsTree" resultType="cc.mrbird.febs.mall.vo.AdminMallGoodsTreeVo"> + select + a.id goodsId, + a.goods_name goodsName + from mall_goods a + </select> + + <select id="selectOrderGoodsList" resultType="cc.mrbird.febs.mall.entity.MallGoods"> + select a.*,c.order_no from mall_goods a + inner join mall_order_item b on a.id=b.goods_id + inner join mall_order_info c on b.order_id=c.ID + where c.status=4 + <if test="memberId != null"> + and c.member_id=#{memberId} + </if> + <if test="date != null"> + and date_format(c.receving_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d') + </if> + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.1