积分专区的实现

This commit is contained in:
2025-02-17 14:15:26 +08:00
parent d781eaa358
commit 6da09d93fd
3 changed files with 52 additions and 13 deletions

View File

@@ -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);}

View File

@@ -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>

View File

@@ -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();