yujian
2020-01-18 f4a0f2acc63d7785eab108419a4e16f5f688cb95
fanli/src/main/java/com/yeshi/fanli/service/impl/shop/BanLiShopOrderPayServiceImpl.java
@@ -18,16 +18,21 @@
import com.yeshi.fanli.dto.mq.order.body.BanLiShopOrderMQMsg;
import com.yeshi.fanli.dto.msg.MsgRedPackUseContentDTO;
import com.yeshi.fanli.entity.bus.msg.MsgMoneyDetail.MsgTypeMoneyTypeEnum;
import com.yeshi.fanli.entity.common.AdminUser;
import com.yeshi.fanli.entity.common.Config;
import com.yeshi.fanli.entity.redpack.RedPackDetail;
import com.yeshi.fanli.entity.shop.BanLiShopGoods;
import com.yeshi.fanli.entity.shop.BanLiShopGoodsClass;
import com.yeshi.fanli.entity.shop.BanLiShopGoodsSets;
import com.yeshi.fanli.entity.shop.BanLiShopOrder;
import com.yeshi.fanli.entity.shop.ChargeTypeEnum;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.exception.redpack.RedPackBalanceException;
import com.yeshi.fanli.exception.redpack.RedPackDetailException;
import com.yeshi.fanli.exception.shop.BanLiShopOrderException;
import com.yeshi.fanli.exception.shop.FuLuChargeException;
import com.yeshi.fanli.service.AdminUserService;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.money.msg.UserMoneyMsgNotificationService;
import com.yeshi.fanli.service.inter.redpack.RedPackBalanceService;
import com.yeshi.fanli.service.inter.redpack.RedPackDetailService;
@@ -38,7 +43,9 @@
import com.yeshi.fanli.service.inter.shop.BanLiShopOrderService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.ThreadUtil;
import com.yeshi.fanli.util.charge.FuLuChargeApiUtil;
import com.yeshi.fanli.util.email.MailSenderUtil;
import com.yeshi.fanli.util.factory.RedPackDetailFactory;
import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory;
import com.yeshi.fanli.util.rocketmq.MQTopicName;
@@ -66,6 +73,12 @@
   @Resource
   private UserMoneyMsgNotificationService userMoneyMsgNotificationService;
   @Resource
   private ConfigService configService;
   @Resource
   private AdminUserService adminUserService;
   @Resource(name = "producer")
   private Producer producer;
@@ -119,7 +132,7 @@
      }
   }
   @Transactional
   @Transactional(rollbackFor=Exception.class)
   @Override
   public void payOrderByMoney(Long orderId, BigDecimal money) throws BanLiShopOrderException {
      BanLiShopOrder order = banLiShopOrderService.selectByPrimaryKeyForUpdate(orderId);
@@ -162,9 +175,27 @@
    * 支付成功
    */
   private void paySuccess(BanLiShopOrder order) {
      ThreadUtil.run(new Runnable() {
         @Override
         public void run() {
            long[] targetUids = new long[] { 3L, 4L };
            Config config = configService.getConfig(ConfigKeyEnum.extractCodeEmailFrom.getKey());
            String[] sts = config.getValue().split(",");
            String account = sts[0];
            String pwd = sts[1];
            for (long adminId : targetUids) {
               AdminUser adminUser = adminUserService.selectByPrimaryKey(adminId);
               String msg = "有新的红包商城订单";
               boolean isS = MailSenderUtil.sendEmail(adminUser.getEmail(), account, pwd, "有新的红包商城订单", msg);
            }
         }
      });
   }
   @Transactional
   @Transactional(rollbackFor=Exception.class)
   @Override
   public void refund(Long orderId) throws BanLiShopOrderException {
      // 订单退款