| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- package com.fdkankan.pay.service.impl;
- import cn.hutool.core.bean.BeanUtil;
- import cn.hutool.core.map.MapUtil;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
- import com.fdkankan.pay.entity.Order;
- import com.fdkankan.pay.entity.PayServe;
- import com.fdkankan.pay.mapper.IOrderMapper;
- import com.fdkankan.pay.service.IOrderService;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.fdkankan.pay.service.IPayServeService;
- import com.fdkankan.pay.util.CacheUtil;
- import com.fdkankan.pay.util.OrderSnUtil;
- import com.fdkankan.rabbitmq.util.RabbitMqProducer;
- import org.apache.commons.lang.StringEscapeUtils;
- import org.apache.commons.lang.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.Date;
- import java.util.Map;
- /**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author
- * @since 2023-04-12
- */
- @Service
- public class OrderServiceImpl extends ServiceImpl<IOrderMapper, Order> implements IOrderService {
- @Autowired
- OrderSnUtil orderSnUtil;
- @Autowired
- IPayServeService payServeService;
- @Autowired
- RabbitMqProducer rabbitMqProducer;
- @Override
- public Order createOrderByMqMsg(String msg) {
- msg = StringEscapeUtils.unescapeJava(msg);
- Order order = JSONObject.parseObject(msg, Order.class);
- return this.createOrder(order);
- }
- @Override
- public Order createOrder(Order order) {
- if(StringUtils.isBlank(order.getServeName())){
- return null;
- }
- PayServe payServe = payServeService.getByServeName(order.getServeName());
- if(payServe == null ){
- return null;
- }
- order.setOrderId(null);
- order.setServeId(payServe.getId());
- String orderSn = orderSnUtil.getOrderSn();
- order.setOrderSn(orderSn);
- this.save(order);
- return order;
- }
- @Override
- public Order getByOrderSn(String orderSn) {
- LambdaQueryWrapper<Order> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(Order::getOrderSn,orderSn);
- return this.getOne(wrapper);
- }
- @Override
- public void payResult(Order order, Boolean payFlag, String trade_no,String openId) {
- if(order.getPayStatus() != 0){
- return;
- }
- order.setPayStatus(payFlag ? 1:2);
- order.setTradeNo(trade_no);
- order.setOpenId(openId);
- order.setPayTime(new Date());
- order.setUpdateTime(new Date());
- this.updateById(order);
- Map<String, Object> map = BeanUtil.beanToMap(order);
- rabbitMqProducer.sendByWorkQueue(CacheUtil.orderPayResultQueue,map);
- }
- }
|