liujie
5 小时以前 281c6016ab0ea5b2eeecb9167d9ee690b6fdac1f
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbOrderServiceImpl.java
@@ -20,24 +20,18 @@
import com.ruoyi.system.utils.wx.WxProperties;
import com.ruoyi.system.vo.MyPushCompanyListVo;
import lombok.extern.slf4j.Slf4j;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.annotation.OrderUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.net.InetAddress;
import java.net.MalformedURLException;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
/**
 * <p>
@@ -57,7 +51,6 @@
    @Resource
    private WxPayService wxPayService;
    @Autowired
    private TbSystemConfigService configService;
@@ -80,7 +73,8 @@
    @Override
    public WxPayMpOrderResult payOrder(TbOrder tbOrder, Long userId) {
        WxPayMpOrderResult result = this.createWxOrderToWxService(tbOrder.getUserId(),tbOrder.getOrderNo(),tbOrder.getPrice(),"购买商品", "");
        TbUser user = userService.getById(userId);
        WxPayMpOrderResult result = this.createWxOrderToWxService(user.getOpenId(),tbOrder.getOrderNo(),tbOrder.getPrice(),"购买商品", "");
        return result;
    }
@@ -110,7 +104,8 @@
        if (order!=null) {
            order.setStatus(4);
            order.setPayTime(new Date());
            order.setOutTradeNo(notifyResult.getTransactionId());
            order.setOutTradeNo(notifyResult.getOutTradeNo());
            order.setTransactionId(notifyResult.getTransactionId());
            TbCompany company = companyService.getById(order.getCompanyId());
            // 生成记录  看是否分佣 金额
            TbUser user = userService.getById(company.getUserId());
@@ -127,7 +122,7 @@
                    BigDecimal userCommissionMoney = divide1.multiply(price).setScale(2, RoundingMode.HALF_UP);
                    order.setCommissionPrice(userCommissionMoney);
                }
                order.setShare_user_id(user.getInviteId());
                order.setShareUserId(user.getInviteId());
                order.setCommissionPlatform(platformCommissionMoney);
            }
            order.updateById();
@@ -156,15 +151,16 @@
            messageService.addMessage("下单成功,请及时发送快递", order.getUserId(),order.getId());
            messageService.addMessage("您发布的订单买家已支付,请尽快处理!", company.getUserId(),order.getId());
            return "<xml> <return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[OK]]></return_msg> </xml>";
        }
        return null;
        return "<xml> <return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[OK]]></return_msg> </xml>";
    }
    @Override
    public void commission(TbOrder order,String userId) {
        String shareUserId = order.getShare_user_id();
        String shareUserId = order.getShareUserId();
        if(StringUtils.isNotEmpty(shareUserId)){
            TbUser shareUser = userService.getById(shareUserId);
            BigDecimal add = shareUser.getBalance().add(order.getCommissionPrice());
@@ -188,9 +184,6 @@
        BigDecimal add = user.getBalance().add(decimal);
        user.setBalance(add);
        user.updateById();
    }
@@ -249,6 +242,7 @@
            wxPayUnifiedOrderRequest.setBody("购买商品");
            wxPayUnifiedOrderRequest.setOutTradeNo(outTradeNo);
            wxPayUnifiedOrderRequest.setTotalFee(amountInFen);// 元转成分
            wxPayUnifiedOrderRequest.setOpenid(openId);
            wxPayUnifiedOrderRequest.setSpbillCreateIp(
                    InetAddress.getLoopbackAddress().getHostAddress());
            wxPayUnifiedOrderRequest.setTradeType("JSAPI");