积分专区的实现
This commit is contained in:
@@ -4,6 +4,8 @@ import com.buy507.mall.model.OmsOrder;
|
|||||||
import com.buy507.mall.model.OmsOrderExample;
|
import com.buy507.mall.model.OmsOrderExample;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
|
|
||||||
public interface OmsOrderMapper {
|
public interface OmsOrderMapper {
|
||||||
long countByExample(OmsOrderExample example);
|
long countByExample(OmsOrderExample example);
|
||||||
@@ -27,4 +29,6 @@ public interface OmsOrderMapper {
|
|||||||
int updateByPrimaryKeySelective(OmsOrder record);
|
int updateByPrimaryKeySelective(OmsOrder record);
|
||||||
|
|
||||||
int updateByPrimaryKey(OmsOrder record);
|
int updateByPrimaryKey(OmsOrder record);
|
||||||
}
|
|
||||||
|
|
||||||
|
int selectPointsAreaStatus(@Param("orderSn") String orderSn);}
|
||||||
@@ -874,4 +874,14 @@
|
|||||||
settlement_time = #{settlementTime,jdbcType=TIMESTAMP}
|
settlement_time = #{settlementTime,jdbcType=TIMESTAMP}
|
||||||
where id = #{id,jdbcType=BIGINT}
|
where id = #{id,jdbcType=BIGINT}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<select id="selectPointsAreaStatus" resultType="int">
|
||||||
|
<![CDATA[
|
||||||
|
SELECT p.points_area_status
|
||||||
|
FROM pms_product p
|
||||||
|
JOIN oms_order_item oi ON p.product_sn = oi.product_sn
|
||||||
|
JOIN oms_order o ON oi.order_sn = o.order_sn
|
||||||
|
WHERE o.order_sn = #{orderSn}
|
||||||
|
]]>
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -1775,23 +1775,45 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
//TODO
|
//TODO
|
||||||
try {
|
try {
|
||||||
//verifyResult = true;//AlipaySignature.rsaCheckV1(params, alipayPublicKey, charset, signType); mcoo
|
//verifyResult = true;//AlipaySignature.rsaCheckV1(params, alipayPublicKey, charset, signType); mcoo
|
||||||
verifyResult = AlipaySignature.rsaCheckV1(params, alipayPublicKey, charset, signType);
|
verifyResult = AlipaySignature.rsaCheckV1(params, alipayPublicKey, charset, signType);
|
||||||
if (verifyResult) {
|
if (verifyResult) {
|
||||||
// 签名验证通过
|
// 签名验证通过
|
||||||
//String tradeStatus = params.get("trade_status"); 支付宝改版后 没有trade_status
|
//String tradeStatus = params.get("trade_status"); 支付宝改版后 没有trade_status
|
||||||
String outTradeNo = params.get("out_trade_no");
|
String outTradeNo = params.get("out_trade_no");
|
||||||
//if ("TRADE_SUCCESS".equals(tradeStatus) || "TRADE_FINISHED".equals(tradeStatus)) {
|
//if ("TRADE_SUCCESS".equals(tradeStatus) || "TRADE_FINISHED".equals(tradeStatus)) {
|
||||||
// 处理支付成功的业务逻辑
|
// 处理支付成功的业务逻辑
|
||||||
OmsOrderExample example = new OmsOrderExample();
|
OmsOrderExample example = new OmsOrderExample();
|
||||||
example.createCriteria().andOrderSnEqualTo(outTradeNo);
|
example.createCriteria().andOrderSnEqualTo(outTradeNo);
|
||||||
List<OmsOrder> list = orderMapper.selectByExample(example);
|
List<OmsOrder> list = orderMapper.selectByExample(example);
|
||||||
if(list != null && !list.isEmpty()) {
|
if (list != null && !list.isEmpty()) {
|
||||||
OmsOrder order = list.get(0);
|
OmsOrder order = list.get(0);
|
||||||
|
|
||||||
|
//获取积分专区状态
|
||||||
|
int pointsAreaStatus = orderMapper.selectPointsAreaStatus(outTradeNo);
|
||||||
|
//如果是积分专区的商品则进行积分专区相对应的逻辑
|
||||||
|
if (pointsAreaStatus == 1) {
|
||||||
|
//奖励积分是购买的价格的100%
|
||||||
|
BigDecimal rewardPoints = order.getPayAmount();
|
||||||
|
// 获取用户信息
|
||||||
|
UmsMember member = memberMapper.selectByPrimaryKey(order.getMemberId());
|
||||||
|
// 增加用户积分
|
||||||
|
if (member != null) {
|
||||||
|
|
||||||
|
if (member.getIntegration() == null) {
|
||||||
|
member.setIntegration(rewardPoints.intValue());
|
||||||
|
} else {
|
||||||
|
member.setIntegration(member.getIntegration() + rewardPoints.intValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新用户积分
|
||||||
|
memberMapper.updateByPrimaryKey(member);
|
||||||
|
|
||||||
|
}
|
||||||
//订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单
|
//订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单
|
||||||
if (order != null && order.getStatus() == 0) {
|
if (order != null && order.getStatus() == 0) {
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
//提货方式:0->自提;1->物流
|
//提货方式:0->自提;1->物流
|
||||||
if(order.getDeliveryType() == 0) {
|
if (order.getDeliveryType() == 0) {
|
||||||
order.setStatus(2); //已发货
|
order.setStatus(2); //已发货
|
||||||
} else {
|
} else {
|
||||||
order.setStatus(1); //待发货
|
order.setStatus(1); //待发货
|
||||||
@@ -1801,6 +1823,8 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
order.setModifyTime(date);
|
order.setModifyTime(date);
|
||||||
order.setPaymentTime(date);
|
order.setPaymentTime(date);
|
||||||
orderMapper.updateByPrimaryKey(order);
|
orderMapper.updateByPrimaryKey(order);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员分润,升级逻辑
|
* 会员分润,升级逻辑
|
||||||
*/
|
*/
|
||||||
@@ -1809,12 +1833,13 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//}
|
}
|
||||||
|
|
||||||
} catch (AlipayApiException e) {
|
} catch(AlipayApiException e){
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public List<UmsMemberOrderQueue> outOrderInfo() { //优化mcoo
|
public List<UmsMemberOrderQueue> outOrderInfo() { //优化mcoo
|
||||||
UmsMemberOrderQueueExample example = new UmsMemberOrderQueueExample();
|
UmsMemberOrderQueueExample example = new UmsMemberOrderQueueExample();
|
||||||
|
|||||||
Reference in New Issue
Block a user