Commit 19017de3 authored by gaoyingwei's avatar gaoyingwei

修改 下单加报名

parent 2796cce0
......@@ -205,6 +205,7 @@ public class WxPayServiceImpl implements WxPayService {
//redis key: 【order:activity:${aid}:${oid}】 value 【hash】;ttl:-1;hash state-> 【未同步】,status -> 支付中
orderDetail.setState(0);
orderDetail.setStatus(8);
orderDetail.setApplicationStatus("1");
cyRedisServiceImpl.set(RedisCons.ORDER_ACTIVITY +":"+ orderDetail.getGoodsId() + ":" + orderDetail.getBusinessId(),orderDetail);
//发送 mq,exchange:`order_activity` route-key:`order_activity_status` value 【订单】
// rabbitClusterUtil.sendMsg(orderDetail, rabbitMQConfigBean.ORDER_EXCHANGE_NAME,rabbitMQConfigBean.ORDER_STATUS_QUEUE_NAME);
......@@ -247,6 +248,7 @@ public class WxPayServiceImpl implements WxPayService {
//redis key: 【order:activity:${aid}:${oid}】 value 【hash】;ttl:-1;hash state-> 【未同步】,status -> 待支付
orderDetail.setState(0);
orderDetail.setStatus(0);
orderDetail.setApplicationStatus("1");
cyRedisServiceImpl.set(RedisCons.ORDER_ACTIVITY +":"+ orderDetail.getGoodsId() + ":" + orderDetail.getBusinessId(),orderDetail);
//发送 mq,exchange:`order_activity` route-key:`order_activity_status` value 【订单】
// rabbitClusterUtil.sendMsg(orderDetail, rabbitMQConfigBean.ORDER_EXCHANGE_NAME,rabbitMQConfigBean.ORDER_STATUS_QUEUE_NAME);
......@@ -376,13 +378,16 @@ public class WxPayServiceImpl implements WxPayService {
log.error("实际付款金额与订单金额不符");
orderDetail.setState(0);
orderDetail.setStatus(0);
orderDetail.setApplicationStatus("1");
} else {
orderDetail.setState(0);
orderDetail.setStatus(9);
orderDetail.setApplicationStatus("1");
}
} else {
orderDetail.setState(0);
orderDetail.setStatus(0);
orderDetail.setApplicationStatus("1");
}
//redis key: 【order:activity:${aid}:${oid}】 value 【hash】;ttl:-1;hash state-> 【未同步】,status -> 支付中
cyRedisServiceImpl.set(RedisCons.ORDER_ACTIVITY + ":" + orderDetail.getGoodsId() + ":" + orderDetail.getBusinessId(), orderDetail);
......@@ -528,6 +533,7 @@ public class WxPayServiceImpl implements WxPayService {
orderDetail.setStatus(6);
else
orderDetail.setStatus(7);
orderDetail.setApplicationStatus("3");
orderDetail.setState(0);
// //redis key: 【order:activity:${aid}:${oid}】 value 【hash】;ttl:-1;hash state-> 【未同步】,status -> 支付中
cyRedisServiceImpl.set(RedisCons.ORDER_ACTIVITY + ":" + orderDetail.getGoodsId() + ":" + orderDetail.getBusinessId(), orderDetail);
......
......@@ -27,5 +27,7 @@ public interface CmsApplicationRepository extends CyBaseMapper<CmsApplication> {
List<CmsApplication> queryCmsApplication(@Param("entity") CmsApplication cmsApplication);
IPage<CmsApplication> queryCmsApplicationPaged(CyPageInfo cyPageInfo, @Param("entity") CmsApplication cmsApplication);
CmsApplication selectByOrderId(Long orderId);
}
......@@ -78,6 +78,13 @@ public class CmsApplication extends CyIdIncreEntity<CmsApplication> {
private BigDecimal applicationFee;
/**
* @desc 订单id
* @column application_fee
* @default
*/
@TableField("order_id")
private Long orderId;
}
......
......@@ -221,5 +221,9 @@ public class CmsOrder extends CyIdSnowflakeEntity<CmsOrder> {
@Transient
@TableField(exist = false)
private List<OrderActivityDto> dtos;
@Transient
@TableField(exist = false)
private String applicationStatus;
}
......@@ -159,6 +159,7 @@ public class CmsOrderServiceImpl extends ServiceImpl<CmsOrderRepository,CmsOrder
orderInfo.setPrice(BigDecimal.ZERO);
orderInfo.setPayPrice(BigDecimal.ZERO);
orderInfo.setStatus(9);
orderInfo.setApplicationStatus("1");
}
orderInfo.setType(1);
orderInfo.setOrderTime(new Date());
......@@ -216,7 +217,7 @@ public class CmsOrderServiceImpl extends ServiceImpl<CmsOrderRepository,CmsOrder
private void calculatePrice(CmsOrder orderInfo, CmsActivity info) {
BigDecimal price = info.getApplicationFee().multiply(BigDecimal.valueOf(orderInfo.getNum())).setScale(2, BigDecimal.ROUND_DOWN);
orderInfo.setStatus(0);
orderInfo.setApplicationStatus("1");
//查询会员折扣
BigDecimal discount = new BigDecimal("100.00");
// discount = memberDiscount(discount);
......@@ -258,6 +259,7 @@ public class CmsOrderServiceImpl extends ServiceImpl<CmsOrderRepository,CmsOrder
// }
if (orderInfo.getPayPrice().compareTo(BigDecimal.ZERO) <= 0){
orderInfo.setStatus(9);
orderInfo.setApplicationStatus("1");
}
}
......@@ -381,6 +383,7 @@ public class CmsOrderServiceImpl extends ServiceImpl<CmsOrderRepository,CmsOrder
if (status.equals(0) || status.equals(9) || status.equals(11)) { //如果订单是待支付、支付完成才能取消订单
orderDetail.setState(0);
orderDetail.setStatus(1);
orderDetail.setApplicationStatus("2");
cyRedisServiceImpl.set(RedisCons.ORDER_ACTIVITY + ":" + orderInfo.getGoodsId() + ":" + orderInfo.getBusinessId(), orderDetail);
//发送 mq,exchange:`order_activity` route-key:`order_activity_status` value 【订单】
// rabbitClusterUtil.sendMsg(orderDetail, rabbitMQConfigBean.ORDER_EXCHANGE_NAME, rabbitMQConfigBean.ORDER_STATUS_QUEUE_NAME);
......@@ -527,6 +530,7 @@ public class CmsOrderServiceImpl extends ServiceImpl<CmsOrderRepository,CmsOrder
orderDetail.setStatus(6);
else if (orderDetail.getStatus().equals(4))
orderDetail.setStatus(7);
orderDetail.setApplicationStatus("3");
//redis key: 【order:activity:${aid}:${oid}】 value 【hash】;ttl:-1;hash state-> 【未同步】,status -> 退款完成
cyRedisServiceImpl.set(RedisCons.ORDER_ACTIVITY + ":" + orderDetail.getGoodsId() + ":" + orderDetail.getBusinessId(), orderDetail);
//发送 mq,exchange:`order_activity` route-key:`order_activity_status` value 【订单】
......@@ -591,6 +595,7 @@ public class CmsOrderServiceImpl extends ServiceImpl<CmsOrderRepository,CmsOrder
if (orderDetail.getStatus().equals(8)) {
orderDetail.setState(0);
orderDetail.setStatus(9);
orderDetail.setApplicationStatus("1");
//redis key: 【order:activity:${aid}:${oid}】 value 【hash】;ttl:-1;hash state-> 【未同步】,status -> 支付完成
cyRedisServiceImpl.set(RedisCons.ORDER_ACTIVITY + ":" + orderDetail.getGoodsId() + ":" + orderDetail.getBusinessId(), orderDetail);
//发送 mq,exchange:`order_activity` route-key:`order_activity_status` value 【订单】
......@@ -625,6 +630,7 @@ public class CmsOrderServiceImpl extends ServiceImpl<CmsOrderRepository,CmsOrder
if (orderDetail.getStatus().equals(8)) {
orderDetail.setState(0);
orderDetail.setStatus(0);
orderDetail.setApplicationStatus("1");
//redis key: 【order:activity:${aid}:${oid}】 value 【hash】;ttl:-1;hash state-> 【未同步】,status -> 支付完成
cyRedisServiceImpl.set(RedisCons.ORDER_ACTIVITY + ":" + orderDetail.getGoodsId() + ":" + orderDetail.getBusinessId(), orderDetail);
//发送 mq,exchange:`order_activity` route-key:`order_activity_status` value 【订单】
......@@ -667,6 +673,7 @@ public class CmsOrderServiceImpl extends ServiceImpl<CmsOrderRepository,CmsOrder
//redis key: 【order:activity:${aid}:${oid}】 value 【hash】;ttl:-1;hash state-> 【未同步】,status -> 待支付
orderDetail.setState(0);
orderDetail.setStatus(0);
orderDetail.setApplicationStatus("1");
cyRedisServiceImpl.set(RedisCons.ORDER_ACTIVITY +":"+ orderDetail.getGoodsId() + ":" + orderDetail.getBusinessId(),orderDetail);
//发送 mq,exchange:`order_activity` route-key:`order_activity_status` value 【订单】
// rabbitClusterUtil.sendMsg(orderDetail, rabbitMQConfigBean.ORDER_EXCHANGE_NAME,rabbitMQConfigBean.ORDER_STATUS_QUEUE_NAME);
......@@ -800,6 +807,7 @@ public class CmsOrderServiceImpl extends ServiceImpl<CmsOrderRepository,CmsOrder
Integer refundCount = orderRedis.getRefundCount();
orderRedis.setRefundCount(refundCount + 1);
}
orderRedis.setApplicationStatus("1");
//redis key: 【order:activity:${aid}:${oid}】 value 【hash】;ttl:-1;hash state-> 【未同步】,status -> 退款中 (2 3)
cyRedisServiceImpl.set(RedisCons.ORDER_ACTIVITY + ":" + orderRedis.getGoodsId() + ":" + orderRedis.getBusinessId(), orderRedis);
//发送 mq,exchange:`order_activity` route-key:`order_activity_status` value 【订单】
......
......@@ -162,6 +162,7 @@ public class AsyncFactory
orderInfo.setStatus(3);
orderInfo.setRefundCount(1);
}
orderInfo.setApplicationStatus("1");
//redis key: 【order:activity:${aid}:${oid}】 value 【hash】;ttl:-1;hash state-> 【未同步】,status -> 退款中 (2 3)
CySpringBeanComp.getBean(CyRedisServiceImpl.class).set(RedisCons.ORDER_ACTIVITY +":"+ orderInfo.getGoodsId() + ":" + orderInfo.getBusinessId(),orderInfo);
//发送 mq,exchange:`order_activity` route-key:`order_activity_status` value 【订单】
......
......@@ -86,6 +86,7 @@ public class OrderActivityCloseRabbitListener {
if (orderDetail.getState().equals(0) && orderDetail.getStatus().equals(0)) {
//如果订单待支付,则关闭订单
orderDetail.setStatus(10);
orderDetail.setApplicationStatus("2");
orderDetail.setUpdateDate(new Date());
//查询DB -> 是否已落库
CmsOrder info = orderRepository.selectById(orderInfo.getBusinessId());
......
......@@ -10,6 +10,8 @@ import org.rcisoft.app.pay.service.WxPayService;
import org.rcisoft.business.cmsActivity.dao.CmsActivityRepository;
import org.rcisoft.business.cmsActivity.entity.CmsActivity;
import org.rcisoft.business.cmsActivity.service.impl.StockService;
import org.rcisoft.business.cmsApplication.dao.CmsApplicationRepository;
import org.rcisoft.business.cmsApplication.entity.CmsApplication;
import org.rcisoft.business.cmsOrder.dao.CmsOrderRepository;
import org.rcisoft.business.cmsOrder.entity.CmsOrder;
import org.rcisoft.core.exception.CyServiceException;
......@@ -58,6 +60,9 @@ public class OrderSyncSchedule {
@Autowired
private CmsOrderRepository orderInfoRepository;
@Autowired
private CmsApplicationRepository applicationRepository;
@Autowired
private CmsActivityRepository activityInfoRepository;
......@@ -128,6 +133,24 @@ public class OrderSyncSchedule {
//未落库->落库;redis key: 【order:activity:${aid}:${oid}】【未同步】 => 落库
if (info == null) {
orderInfoRepository.insert(orderDetail);
//添加报名信息
CmsApplication application = new CmsApplication();
application.setUserId(orderDetail.getUserId());
application.setActivityId(orderDetail.getGoodsId());
application.setName(orderDetail.getAccount());
// application.setPhone(orderDetail.get);
//0 待支付 1已取消 2退款中 3退款中 4后台退款中 5后台退款中 6退款完成 7后台退款完成 8支付中 9 支付完成 10订单关闭
// if (orderDetail.getStatus().equals(0)||orderDetail.getStatus().equals(2)||orderDetail.getStatus().equals(3)||orderDetail.getStatus().equals(4)||
// orderDetail.getStatus().equals(5)||orderDetail.getStatus().equals(8)||orderDetail.getStatus().equals(9))
// application.setStatus("1");
// else if (orderDetail.getStatus().equals(1)||orderDetail.getStatus().equals(10))
// application.setStatus("2");
// else if (orderDetail.getStatus().equals(6)||orderDetail.getStatus().equals(7))
// application.setStatus("3");
application.setStatus(orderDetail.getApplicationStatus());
application.setApplicationFee(orderDetail.getPayPrice());
application.setOrderId(orderDetail.getBusinessId());
applicationRepository.insert(application);
// //如果有优惠券,进行核销
// if (orderDetail.getCouponId() != null) {
// UserCouponRelative userCouponRelative = new UserCouponRelative();
......@@ -202,6 +225,9 @@ public class OrderSyncSchedule {
boolean isGetLock = false;
orderDetail.setUpdateDate(new Date());
orderInfoRepository.updateById(orderDetail);
CmsApplication application = applicationRepository.selectByOrderId(orderDetail.getBusinessId());
application.setStatus(orderDetail.getApplicationStatus());
applicationRepository.updateById(application);
//积分计算
// BigDecimal price = orderDetail.getPayPrice();
// IntegralAmountRelative relative = integralAmountRelativeRepository.queryIntegralByPrice(price);
......@@ -250,6 +276,9 @@ public class OrderSyncSchedule {
boolean isGetLock = false;
orderDetail.setUpdateDate(new Date());
orderInfoRepository.updateById(orderDetail);
CmsApplication application = applicationRepository.selectByOrderId(orderDetail.getBusinessId());
application.setStatus(orderDetail.getApplicationStatus());
applicationRepository.updateById(application);
//加订单redis锁
RLock redisLock = redissonClient.getLock(RedisCons.ORDER_REDIS + orderDetail.getBusinessId());
try {
......@@ -274,6 +303,9 @@ public class OrderSyncSchedule {
boolean isGetLock = false;
orderDetail.setUpdateDate(new Date());
orderInfoRepository.updateById(orderDetail);
CmsApplication application = applicationRepository.selectByOrderId(orderDetail.getBusinessId());
application.setStatus(orderDetail.getApplicationStatus());
applicationRepository.updateById(application);
//订单优惠券退还
// if (orderDetail.getCouponId() != null) {
// UserCouponRelative userCouponRelative = new UserCouponRelative();
......@@ -346,10 +378,33 @@ public class OrderSyncSchedule {
orderDetail.setUpdateDate(new Date());
//查询DB -> 是否已落库
CmsOrder info = orderInfoRepository.selectById(orderDetail.getBusinessId());
if (info != null)
if (info != null) {
orderInfoRepository.updateById(orderDetail);
else
CmsApplication application = applicationRepository.selectByOrderId(orderDetail.getBusinessId());
application.setStatus("2");
applicationRepository.updateById(application);
} else {
orderInfoRepository.insert(orderDetail);
//添加报名信息
CmsApplication application = new CmsApplication();
application.setUserId(orderDetail.getUserId());
application.setActivityId(orderDetail.getGoodsId());
application.setName(orderDetail.getAccount());
// application.setPhone(orderDetail.get);
//0 待支付 1已取消 2退款中 3退款中 4后台退款中 5后台退款中 6退款完成 7后台退款完成 8支付中 9 支付完成 10订单关闭
// if (orderDetail.getStatus().equals(0)||orderDetail.getStatus().equals(2)||orderDetail.getStatus().equals(3)||orderDetail.getStatus().equals(4)||
// orderDetail.getStatus().equals(5)||orderDetail.getStatus().equals(8)||orderDetail.getStatus().equals(9))
// application.setStatus("1");
// else if (orderDetail.getStatus().equals(1)||orderDetail.getStatus().equals(10))
// application.setStatus("2");
// else if (orderDetail.getStatus().equals(6)||orderDetail.getStatus().equals(7))
// application.setStatus("3");
application.setStatus("2");
application.setApplicationFee(orderDetail.getPayPrice());
application.setOrderId(orderDetail.getBusinessId());
applicationRepository.insert(application);
}
//如果使用了优惠券,则改为未使用
// if (orderDetail.getCouponId() != null) {
// UserCouponRelative userCouponRelative = new UserCouponRelative();
......@@ -421,6 +476,7 @@ public class OrderSyncSchedule {
CmsOrder orderDetail = JSON.parseObject(JSON.toJSONString(detail), CmsOrder.class);
orderDetail.setState(0);
orderDetail.setStatus(9);
orderDetail.setApplicationStatus("1");
//redis key: 【order:activity:${aid}:${oid}】 value 【hash】;ttl:-1;hash state-> 【未同步】,status -> 支付完成
cyRedisServiceImpl.set(RedisCons.ORDER_ACTIVITY + ":" + orderDetail.getGoodsId() + ":" + orderDetail.getBusinessId(), orderDetail);
//发送 mq,exchange:`order_activity` route-key:`order_activity_status` value 【订单】
......@@ -460,6 +516,7 @@ public class OrderSyncSchedule {
//redis key: 【order:activity:${aid}:${oid}】 value 【hash】;ttl:-1;hash state-> 【未同步】,status -> 待支付
orderDetail.setState(0);
orderDetail.setStatus(0);
orderDetail.setApplicationStatus("1");
cyRedisServiceImpl.set(RedisCons.ORDER_ACTIVITY +":"+ orderDetail.getGoodsId() + ":" + orderDetail.getBusinessId(),orderDetail);
//发送 mq,exchange:`order_activity` route-key:`order_activity_status` value 【订单】
// rabbitClusterUtil.sendMsg(orderDetail, rabbitMQConfigBean.ORDER_EXCHANGE_NAME,rabbitMQConfigBean.ORDER_STATUS_QUEUE_NAME);
......@@ -517,6 +574,7 @@ public class OrderSyncSchedule {
Integer refundCount = orderInfo.getRefundCount();
orderInfo.setRefundCount(refundCount + 1);
}
orderInfo.setApplicationStatus("1");
//redis key: 【order:activity:${aid}:${oid}】 value 【hash】;ttl:-1;hash state-> 【未同步】,status -> 退款中 (2 3)
cyRedisServiceImpl.set(RedisCons.ORDER_ACTIVITY +":"+ orderInfo.getGoodsId() + ":" + orderInfo.getBusinessId(),orderInfo);
//发送 mq,exchange:`order_activity` route-key:`order_activity_status` value 【订单】
......@@ -571,6 +629,7 @@ public class OrderSyncSchedule {
orderDetail.setStatus(6);
else
orderDetail.setStatus(7);
orderDetail.setApplicationStatus("1");
//redis key: 【order:activity:${aid}:${oid}】 value 【hash】;ttl:-1;hash state-> 【未同步】,status -> 退款完成
cyRedisServiceImpl.set(RedisCons.ORDER_ACTIVITY + ":" + orderDetail.getGoodsId() + ":" + orderDetail.getBusinessId(), orderDetail);
//发送 mq,exchange:`order_activity` route-key:`order_activity_status` value 【订单】
......
......@@ -128,6 +128,9 @@
</if>
ORDER BY business_id DESC
</select>
<select id="selectByOrderId" resultType="org.rcisoft.business.cmsApplication.entity.CmsApplication">
select * from cms_application where order_id = #{orderId}
</select>
<update id="deleteCmsApplication" parameterType="java.lang.Integer">
update cms_application
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment