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

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

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