提交 f2856021 authored 作者: luojie's avatar luojie

修改运费模板计算,新增物流短信

上级 483f0976
...@@ -30,6 +30,10 @@ public class TbCfExpressTemplateEntity implements Serializable { ...@@ -30,6 +30,10 @@ public class TbCfExpressTemplateEntity implements Serializable {
* 快递费 * 快递费
*/ */
private BigDecimal expressFee; private BigDecimal expressFee;
/**
* 快递费
*/
private BigDecimal continuationFee;
/** /**
* 国家编号 * 国家编号
*/ */
...@@ -118,6 +122,14 @@ public class TbCfExpressTemplateEntity implements Serializable { ...@@ -118,6 +122,14 @@ public class TbCfExpressTemplateEntity implements Serializable {
return createTime; return createTime;
} }
public BigDecimal getContinuationFee() {
return continuationFee;
}
public void setContinuationFee(BigDecimal continuationFee) {
this.continuationFee = continuationFee;
}
@Override @Override
public boolean equals(Object obj) { public boolean equals(Object obj) {
if(obj==null) if(obj==null)
...@@ -138,4 +150,5 @@ public class TbCfExpressTemplateEntity implements Serializable { ...@@ -138,4 +150,5 @@ public class TbCfExpressTemplateEntity implements Serializable {
return templateId.hashCode(); return templateId.hashCode();
} }
} }
...@@ -33,7 +33,10 @@ public class TbCfItemOrderREntity implements Serializable { ...@@ -33,7 +33,10 @@ public class TbCfItemOrderREntity implements Serializable {
private Integer orderStatus; private Integer orderStatus;
private Integer deliveryFlag; private Integer deliveryFlag;
/**
* 是否已发送短信
*/
private Integer isSend;
private Date deliveryTime; private Date deliveryTime;
private Date closeTime; private Date closeTime;
...@@ -130,4 +133,12 @@ public class TbCfItemOrderREntity implements Serializable { ...@@ -130,4 +133,12 @@ public class TbCfItemOrderREntity implements Serializable {
public void setUpdateTime(Date updateTime) { public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime; this.updateTime = updateTime;
} }
public Integer getIsSend() {
return isSend;
}
public void setIsSend(Integer isSend) {
this.isSend = isSend;
}
} }
...@@ -725,13 +725,14 @@ public class TbCfOrderServiceImpl implements TbCfOrderService { ...@@ -725,13 +725,14 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
itemsPrice = itemsPrice.add(itemSourcePrice.multiply(itemNum)); itemsPrice = itemsPrice.add(itemSourcePrice.multiply(itemNum));
//计算运费 //计算运费
BigDecimal expressCost = getExpressTemplate(tbCfCartItemDetailVo.getItemCategory()); BigDecimal expressCost = getExpressTemplate(tbCfCartItemDetailVo.getItemCategory());
BigDecimal continuationFee=getContinuationFee(tbCfCartItemDetailVo.getItemCategory());
//expressCost = expressCost.multiply(itemNum); //expressCost = expressCost.multiply(itemNum);
if("1".equals(itemNum)){ if("1".equals(itemNum)){
expressCost = expressCost.multiply(itemNum); expressCost = expressCost.multiply(itemNum);
}else{ }else{
BigDecimal a= BigDecimal.valueOf(1); BigDecimal a= BigDecimal.valueOf(1);
BigDecimal dj = expressCost.multiply(itemNum.subtract(a)); BigDecimal dj = continuationFee.multiply(itemNum.subtract(a));
expressCost =(dj.divide(BigDecimal.valueOf(2),0,BigDecimal.ROUND_UNNECESSARY)).add(expressCost); expressCost =dj.add(expressCost);
} }
totalExpressCost = totalExpressCost.add(expressCost); totalExpressCost = totalExpressCost.add(expressCost);
} }
...@@ -760,7 +761,16 @@ public class TbCfOrderServiceImpl implements TbCfOrderService { ...@@ -760,7 +761,16 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
TbCfExpressTemplateEntity tbCfExpressTemplateEntity = tbCfExpressTemplateDao.queryObject(templateId); TbCfExpressTemplateEntity tbCfExpressTemplateEntity = tbCfExpressTemplateDao.queryObject(templateId);
return tbCfExpressTemplateEntity.getExpressFee(); return tbCfExpressTemplateEntity.getExpressFee();
} }
/**
* 获取运费 TODO 运费模板可改为缓存
*
* @param templateId
* @return
*/
private BigDecimal getContinuationFee(String templateId) {
TbCfExpressTemplateEntity tbCfExpressTemplateEntity = tbCfExpressTemplateDao.queryObject(templateId);
return tbCfExpressTemplateEntity.getContinuationFee();
}
/** /**
* 验证订单优惠券 * 验证订单优惠券
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
<result property="templateId" column="template_id"/> <result property="templateId" column="template_id"/>
<result property="templateTitle" column="template_title"/> <result property="templateTitle" column="template_title"/>
<result property="itemCategoryId" column="item_category_id"/> <result property="itemCategoryId" column="item_category_id"/>
<result property="continuationFee" column="continuation_fee"/>
<result property="expressFee" column="express_fee"/> <result property="expressFee" column="express_fee"/>
<result property="countryCode" column="country_code"/> <result property="countryCode" column="country_code"/>
<result property="createTime" column="create_time"/> <result property="createTime" column="create_time"/>
...@@ -18,6 +19,7 @@ ...@@ -18,6 +19,7 @@
`template_title`, `template_title`,
`item_category_id`, `item_category_id`,
`express_fee`, `express_fee`,
`continuation_fee`,
`country_code`, `country_code`,
`create_time` `create_time`
from tb_cf_express_template from tb_cf_express_template
...@@ -30,6 +32,7 @@ ...@@ -30,6 +32,7 @@
`template_title`, `template_title`,
`item_category_id`, `item_category_id`,
`express_fee`, `express_fee`,
`continuation_fee`,
`country_code`, `country_code`,
`create_time` `create_time`
from tb_cf_express_template from tb_cf_express_template
...@@ -64,6 +67,7 @@ ...@@ -64,6 +67,7 @@
`template_title`, `template_title`,
`item_category_id`, `item_category_id`,
`express_fee`, `express_fee`,
`continuation_fee`,
`country_code`, `country_code`,
`create_time`) `create_time`)
values( values(
...@@ -71,6 +75,7 @@ ...@@ -71,6 +75,7 @@
#{templateTitle}, #{templateTitle},
#{itemCategoryId}, #{itemCategoryId},
#{expressFee}, #{expressFee},
#{continuationFee},
#{countryCode}, #{countryCode},
#{createTime}) #{createTime})
</insert> </insert>
...@@ -81,6 +86,7 @@ ...@@ -81,6 +86,7 @@
<if test="templateTitle != null">`template_title` = #{templateTitle}, </if> <if test="templateTitle != null">`template_title` = #{templateTitle}, </if>
<if test="itemCategoryId != null">`item_category_id` = #{itemCategoryId}, </if> <if test="itemCategoryId != null">`item_category_id` = #{itemCategoryId}, </if>
<if test="expressFee != null">`express_fee` = #{expressFee}, </if> <if test="expressFee != null">`express_fee` = #{expressFee}, </if>
<if test="`continuation_fee`, != null">`continuation_fee` = #{`continuation_fee`,}, </if>
<if test="countryCode != null">`country_code` = #{countryCode}, </if> <if test="countryCode != null">`country_code` = #{countryCode}, </if>
<if test="createTime != null">`create_time` = #{createTime}</if> <if test="createTime != null">`create_time` = #{createTime}</if>
</set> </set>
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
<result property="deliveryTime" column="delivery_time"/> <result property="deliveryTime" column="delivery_time"/>
<result property="closeTime" column="close_time"/> <result property="closeTime" column="close_time"/>
<result property="updateTime" column="update_time"/> <result property="updateTime" column="update_time"/>
<result property="isSend" column="is_send"/>
</resultMap> </resultMap>
<select id="queryObject" resultType="com.diaoyun.zion.chinafrica.entity.TbCfItemOrderREntity"> <select id="queryObject" resultType="com.diaoyun.zion.chinafrica.entity.TbCfItemOrderREntity">
...@@ -25,6 +26,7 @@ ...@@ -25,6 +26,7 @@
`delivery_flag`, `delivery_flag`,
`delivery_time`, `delivery_time`,
`close_time`, `close_time`,
`is_send`,
`update_time` `update_time`
from tb_cf_item_order_r from tb_cf_item_order_r
where order_item_id = #{id} where order_item_id = #{id}
...@@ -40,6 +42,7 @@ ...@@ -40,6 +42,7 @@
`delivery_flag`, `delivery_flag`,
`delivery_time`, `delivery_time`,
`close_time`, `close_time`,
`is_send`,
`update_time` `update_time`
from tb_cf_item_order_r from tb_cf_item_order_r
WHERE 1=1 WHERE 1=1
...@@ -77,6 +80,7 @@ ...@@ -77,6 +80,7 @@
`delivery_flag`, `delivery_flag`,
`delivery_time`, `delivery_time`,
`close_time`, `close_time`,
`is_send`,
`update_time`) `update_time`)
values( values(
#{orderItemId}, #{orderItemId},
...@@ -87,6 +91,7 @@ ...@@ -87,6 +91,7 @@
#{deliveryFlag}, #{deliveryFlag},
#{deliveryTime}, #{deliveryTime},
#{closeTime}, #{closeTime},
#{isSend},
#{updateTime}) #{updateTime})
</insert> </insert>
...@@ -97,27 +102,19 @@ ...@@ -97,27 +102,19 @@
<if test="orderId != null">`order_id` = #{orderId}, </if> <if test="orderId != null">`order_id` = #{orderId}, </if>
<if test="enableFlag != null">`enable_flag` = #{enableFlag},</if> <if test="enableFlag != null">`enable_flag` = #{enableFlag},</if>
<if test="orderStatus != null">`order_status` = #{orderStatus},</if> <if test="orderStatus != null">`order_status` = #{orderStatus},</if>
<if test="deliveryFlag != null">`delivery_flag`= #{deliveryFlag},</if> <if test="deliveryFlag != null">`delivery_flag` = #{deliveryFlag},</if>
<if test="deliveryTime != null">`delivery_time`= #{deliveryTime},</if> <if test="deliveryTime != null">`delivery_time` = #{deliveryTime},</if>
<if test="closeTime != null">`close_time`= #{closeTime},</if> <if test="closeTime != null">`close_time` = #{closeTime},</if>
<if test="isSend != null">`is_send` = #{isSend},</if>
<if test="updateTime != null">`update_time` = #{updateTime}</if> <if test="updateTime != null">`update_time` = #{updateTime}</if>
</set> </set>
where order_item_id = #{orderItemId} where order_item_id = #{orderItemId}
</update> </update>
<update id="updates" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfItemOrderREntity"> <select id="getItemNum" resultType="int">
update tb_cf_item_order_r select t2.item_num from tb_cf_item_order_r t1 left join tb_cf_item_detail t2 on t1.item_id=t2.item_id where t1.order_item_id=#{ordersId}
<set> </select>
<if test="itemId != null">`item_id` = #{itemId}, </if>
<if test="enableFlag != null">`enable_flag` = #{enableFlag},</if>
<if test="orderStatus != null">`order_status` = #{orderStatus},</if>
<if test="deliveryFlag != null">`delivery_flag`= #{deliveryFlag},</if>
<if test="deliveryTime != null">`delivery_time`= #{deliveryTime},</if>
<if test="closeTime != null">`close_time`= #{closeTime},</if>
<if test="updateTime != null">`update_time` = #{updateTime}</if>
</set>
where order_id = #{orderId}
</update>
<delete id="delete"> <delete id="delete">
delete from tb_cf_item_order_r where order_item_id = #{value} delete from tb_cf_item_order_r where order_item_id = #{value}
...@@ -129,34 +126,60 @@ ...@@ -129,34 +126,60 @@
#{orderItemId} #{orderItemId}
</foreach> </foreach>
</delete> </delete>
<select id="getOrderId" resultType="String">
select order_id from tb_cf_item_order_r i where i.order_item_id=#{ordersId}
</select>
<select id="getItemId" resultType="String">
select item_id from tb_cf_item_order_r i where i.order_item_id=#{ordersId}
</select>
<!--批量保存--> <update id="updateDeliveryTime" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfItemOrderREntity">
<insert id="saveBatch" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfItemOrderREntity"> update tb_cf_item_order_r r
insert into tb_cf_item_order_r( <set>
`order_item_id`, <if test="deliveryTime != null">r.delivery_time = #{deliveryTime}, </if>
`item_id`, </set>
`order_id`, where r.order_item_id = #{orderItemId} and r.delivery_time is null
`enable_flag`, </update>
`order_status`,
`delivery_flag`, <select id="getOrderItemId" resultType="com.diaoyun.zion.chinafrica.entity.TbCfItemOrderREntity">
`delivery_time`, select * from tb_cf_item_order_r where order_id=#{orderId} and item_id=#{itemId}
`close_time`, </select>
`update_time`)
values <select id="getOrderStatus">
<foreach collection="list" item="item" index="index" separator=","> select order_status from tb_cf_item_order_r where order_item_id=#{ordersId}
( </select>
#{item.orderItemId},
#{item.itemId}, <select id="findOrderStatus" >
#{item.orderId}, select order_status from tb_cf_item_order_r where order_id=#{orderId}
#{item.enableFlag}, </select>
#{item.orderStatus},
#{item.deliveryFlag}, <!--根据快递单号id,修改物流状态为已入中国仓库 -->
#{item.deliveryTime}, <update id="updateExpressStatus">
#{item.closeTime}, UPDATE tb_cf_order o,tb_cf_platform_order p,tb_cf_item_order_r i
#{item.updateTime} SET i.delivery_flag = 20
) WHERE o.order_id=p.order_id and i.order_id=o.order_id and i.delivery_flag=10 and p.p_express_number in
<foreach collection="array" item="sids" open="(" separator="," close=")">
#{sids}
</foreach> </foreach>
</update>
</insert> <!--根据快递单号id,修改物流状态为已入非洲仓库 -->
<update id="updateExpressStatuss">
UPDATE tb_cf_order o,tb_cf_platform_order p,tb_cf_item_order_r i
SET i.delivery_flag = 40
WHERE o.order_id=p.order_id and i.order_id=o.order_id and i.delivery_flag=20 and i.is_send=0 and p.p_express_number in
<foreach collection="array" item="sids" open="(" separator="," close=")">
#{sids}
</foreach>
</update>
<!--根据快递单号id,修改物流状态为已签收 -->
<update id="updateExpressStatusDelivery">
UPDATE tb_cf_order o,tb_cf_platform_order p,tb_cf_item_order_r i
SET i.delivery_flag = 50,i.order_status=50
WHERE o.order_id=p.order_id and i.order_id=o.order_id and i.delivery_flag=40 and p.p_express_number in
<foreach collection="array" item="sids" open="(" separator="," close=")">
#{sids}
</foreach>
</update>
</mapper> </mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论