From 9b51a95fa8bc9b3a86108c6900e17fc55f8db467 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Mon, 19 May 2025 17:02:07 +0800 Subject: [PATCH] refactor(vip): 优化积分和返佣计算逻辑 --- src/main/resources/mapper/modules/MallOrderInfoMapper.xml | 47 ++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 44 insertions(+), 3 deletions(-) diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml index 9e7f9e6..c310823 100644 --- a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml +++ b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml @@ -108,6 +108,7 @@ <result column="member_id" property="memberId" /> <result column="order_time" property="orderTime" /> <result column="pay_time" property="payTime" /> + <result column="score_amount" property="scoreAmount" /> <result column="amount" property="amount" /> <result column="pay_method" property="payMethod" /> <result column="pay_order_no" property="payOrderNo" /> @@ -156,6 +157,9 @@ <result property="memberInviteId" column="member_invite_id" /> <result property="memberCouponId" column="member_coupon_id" /> <result property="state" column="state" /> + <result property="itemScoreAmount" column="item_score_amount" /> + <result property="itemAmount" column="item_amount" /> + <result property="itemScorePrice" column="item_score_price" /> </collection> </resultMap> @@ -203,11 +207,16 @@ b.cnt, b.price, b.amount, + b.amount as item_amount , + b.score_amount as item_score_amount , + FLOOR((c.original_price * d.static_prop)/100) as item_score_price , b.member_invite_id, b.member_coupon_id, b.is_normal from mall_order_info a - inner join mall_order_item b on a.id=b.order_id + left join mall_order_item b on a.id=b.order_id + left join mall_goods_sku c on c.id=b.sku_id + left join mall_goods d on d.id=b.goods_id where a.id=#{id} </select> @@ -356,6 +365,7 @@ <result column="member_id" property="memberId" /> <result column="order_time" property="orderTime" /> <result column="pay_time" property="payTime" /> + <result column="score_amount" property="scoreAmount" /> <result column="amount" property="amount" /> <result column="pay_method" property="payMethod" /> <result column="pay_order_no" property="payOrderNo" /> @@ -389,19 +399,50 @@ <result column="township" property="township" /> <result column="detail_address" property="detailAddress" /> <result column="express_no" property="expressNo" /> + <collection property="items" ofType="cc.mrbird.febs.mall.entity.MallOrderItem"> + <id property="id" column="item_id" /> + <result property="orderId" column="order_id" /> + <result property="goodsId" column="goods_id" /> + <result property="skuId" column="sku_id" /> + <result property="goodsName" column="goods_name" /> + <result property="itemScoreAmount" column="item_score_amount" /> + <result property="itemAmount" column="item_amount" /> + <result property="itemScorePrice" column="item_score_price" /> + <result property="goodsName" column="goods_name" /> + <result property="styleName" column="style_name" /> + <result property="skuName" column="sku_name" /> + <result property="skuImage" column="sku_image" /> + <result property="cnt" column="cnt" /> + <result property="price" column="price" /> + <result property="amount" column="amount" /> + <result property="isNormal" column="is_normal" /> + <result property="memberInviteId" column="member_invite_id" /> + <result property="memberCouponId" column="member_coupon_id" /> + <result property="state" column="state" /> + </collection> </resultMap> <select id="selectNewApiOrderListInPage" resultMap="NewOrderInfoMap"> select - a.* - ,express.express_no + a.* , + b.* , + b.amount as item_amount , + b.score_amount as item_score_amount , + FLOOR((c.original_price * d.static_prop)/100) as item_score_price , + express.express_no from mall_order_info a left join mall_express_info express on a.id=express.order_id + left join mall_order_item b on a.id=b.order_id + left join mall_goods_sku c on c.id=b.sku_id + left join mall_goods d on d.id=b.goods_id <where> a.del_flag=2 <if test="record.memberId != null"> and a.member_id=#{record.memberId} </if> + <if test="record.query != null and record.query != ''"> + and (b.goods_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.style_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.sku_name like CONCAT('%', CONCAT(#{record.query}, '%'))) + </if> <if test="record.status == 4 and record.status != 0"> and a.status = 4 </if> -- Gitblit v1.9.1