张天森
2023-02-06 2e2bcc55ea6eb6fd63dae451bdd26f4b9875db40
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderServiceImpl.java
@@ -3,6 +3,7 @@
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
@@ -21,12 +22,14 @@
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.utlis.*;
import com.panzhihua.common.utlis.wx.WXPayUtil;
import com.panzhihua.service_community.config.RabbitmqConfig;
import com.panzhihua.service_community.dao.*;
import com.panzhihua.service_community.model.dos.*;
import com.panzhihua.service_community.service.ComShopFlowerOrderService;
import com.panzhihua.service_community.util.WxMaConfiguration;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -34,6 +37,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -81,6 +85,8 @@
    private WxMaConfiguration wxMaConfiguration;
    @Resource
    private UserService userService;
    @Resource
    private RabbitTemplate rabbitTemplate;
    @Value("${hcMin.app.isTest}")
@@ -336,6 +342,12 @@
        } catch (Exception e) {
            log.error("调用微信支付异常,异常原因:" + e.getMessage());
        }
        //发送消息到mq
        rabbitTemplate.convertAndSend("huacheng.shop.order.exchange", "huacheng.shop.order.key", shopOrderVO, message -> {
            //30分钟后
            message.getMessageProperties().setHeader("x-delay", 1800*1000);
            return message;
        });
        return R.ok(shopOrderVO);
    }
@@ -695,10 +707,12 @@
            comShopFlowerOrderOperateDAO.insert(orderOperateDO);
            //一个自提订单算一个货
            ConvenientElevatingPointDO convenientElevatingPointDO = convenientElevatingPointDAO.selectById(shopOrderDO.getPointId());
            convenientElevatingPointDO.setPrepareGoodsNum(convenientElevatingPointDO.getPrepareGoodsNum() - 1);
            convenientElevatingPointDO.setAlreadyGoodsNum(convenientElevatingPointDO.getAlreadyGoodsNum() + 1);
            convenientElevatingPointDAO.updateById(convenientElevatingPointDO);
            if (ComShopFlowerOrderDO.deliveryType.store == shopOrderDO.getDeliveryType()){
                ConvenientElevatingPointDO convenientElevatingPointDO = convenientElevatingPointDAO.selectById(shopOrderDO.getPointId());
                convenientElevatingPointDO.setPrepareGoodsNum(convenientElevatingPointDO.getPrepareGoodsNum() - 1);
                convenientElevatingPointDO.setAlreadyGoodsNum(convenientElevatingPointDO.getAlreadyGoodsNum() + 1);
                convenientElevatingPointDAO.updateById(convenientElevatingPointDO);
            }
            return R.ok();
        } else {
            return R.fail("确认收货失败");
@@ -957,9 +971,11 @@
            if (R.isOk(sysUserVOR)) {
                SysUserVO sysUserVO = JSONObject.parseObject(JSONObject.toJSONString(sysUserVOR.getData()), SysUserVO.class);
                try {
                    DecimalFormat df = new DecimalFormat("#.00");
                    WxUtil.sendNewOrderNotice(sysUserVO.getOpenid(),maService.getAccessToken(),shopOrderDO.getOrderNo(),
                            shopOrderDO.getDeliveryType()==1?"拼单订单":"快递订单",orderGoodsList.get(0).getGoodsName(),
                            shopOrderDO.getTotalAmount().toString(),DateUtil.format(shopOrderDO.getCreateAt(),"yyyy-MM-dd HH:mm"));
                            df.format(shopOrderDO.getTotalAmount()),
                            DateUtil.format(shopOrderDO.getCreateAt(),"yyyy-MM-dd HH:mm"));
                } catch (WxErrorException e) {
                    e.printStackTrace();
                }
@@ -1202,4 +1218,5 @@
        comShopFlowerOrderDeliveryNoListVO.setPage(orderPageVOIPage);
        return R.ok(comShopFlowerOrderDeliveryNoListVO);
    }
}