| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.text.DecimalFormat; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | |
| | | private WxMaConfiguration wxMaConfiguration; |
| | | @Resource |
| | | private UserService userService; |
| | | @Resource |
| | | private RabbitTemplate rabbitTemplate; |
| | | |
| | | |
| | | @Value("${hcMin.app.isTest}") |
| | |
| | | } 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); |
| | | } |
| | | |
| | |
| | | ComShopFlowerOrderGoodsVO orderGoodsVO = new ComShopFlowerOrderGoodsVO(); |
| | | BeanUtils.copyProperties(orderGoods, orderGoodsVO); |
| | | // 根据商品规格id查询商品规格 |
| | | ComShopFlowerGoodsAttrDO goodsAttrDO = comShopFlowerGoodsAttrDAO.selectById(orderGoods.getGoodsAttrId()); |
| | | if (goodsAttrDO != null) { |
| | | orderGoodsVO.setGoodsAttr(goodsAttrDO.getGoodsAttrName()); |
| | | } |
| | | // ComShopFlowerGoodsAttrDO goodsAttrDO = comShopFlowerGoodsAttrDAO.selectById(orderGoods.getGoodsAttrId()); |
| | | // if (goodsAttrDO != null) { |
| | | orderGoodsVO.setGoodsAttr(orderGoods.getGoodsAttrName()); |
| | | // } |
| | | orderGoodsVO.setNum(orderGoods.getAmount()); |
| | | orderGoodsVO.setGoodsPic(orderGoods.getGoodsAttrPic()); |
| | | orderGoodsVO.setPrice(orderGoods.getGoodsAttrPrice()); |
| | |
| | | //查询自提点信息 |
| | | ConvenientElevatingPointDO convenientElevatingPointDO = convenientElevatingPointDAO.selectOne(new LambdaQueryWrapper<ConvenientElevatingPointDO>().eq(ConvenientElevatingPointDO::getWechatAccount, phone)); |
| | | if (isNull(convenientElevatingPointDO)) { |
| | | return R.ok(); |
| | | return R.ok("订单不在该自提点"); |
| | | } |
| | | Long pointDOId = convenientElevatingPointDO.getId(); |
| | | shopOrderDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopFlowerOrderDO>().eq(ComShopFlowerOrderDO::getId, orderId).eq(ComShopFlowerOrderDO::getPointId, pointDOId)); |
| | |
| | | orderGoodsVO.setGoodsPic(orderGoods.getGoodsAttrPic()); |
| | | orderGoodsVO.setPrice(orderGoods.getGoodsAttrPrice()); |
| | | // 查询商品信息判断商品状态 |
| | | ComShopFlowerGoodsDO goodsDO = comShopFlowerGoodsDAO.selectById(orderGoods.getGoodsId()); |
| | | /* ComShopFlowerGoodsDO goodsDO = comShopFlowerGoodsDAO.selectById(orderGoods.getGoodsId()); |
| | | if (goodsDO == null || goodsDO.getDeleteStatus().equals(ComShopFlowerGoodsDO.deleteStatus.yes) |
| | | || goodsDO.getDeleteStatus().equals(ComShopFlowerGoodsDO.status.recovery)) { |
| | | orderGoodsVO.setGoodsStatus(ComShopFlowerOrderGoodsVO.goodsStatus.ysc); |
| | |
| | | orderGoodsVO.setGoodsStatus(ComShopFlowerOrderGoodsVO.goodsStatus.yxj); |
| | | } else if (goodsDO.getStatus().equals(ComShopFlowerGoodsDO.status.sell)) { |
| | | orderGoodsVO.setGoodsStatus(ComShopFlowerOrderGoodsVO.goodsStatus.csz); |
| | | } |
| | | }*/ |
| | | |
| | | // 根据商品规格id查询商品规格 |
| | | ComShopFlowerGoodsAttrDO goodsAttrDO = comShopFlowerGoodsAttrDAO.selectById(orderGoods.getGoodsAttrId()); |
| | | if (goodsAttrDO != null) { |
| | | orderGoodsVO.setGoodsAttr(goodsAttrDO.getGoodsAttrName()); |
| | | } |
| | | // ComShopFlowerGoodsAttrDO goodsAttrDO = comShopFlowerGoodsAttrDAO.selectById(orderGoods.getGoodsAttrId()); |
| | | orderGoodsVO.setGoodsAttr(orderGoods.getGoodsAttrName()); |
| | | orderGoodsVOS.add(orderGoodsVO); |
| | | sbr.append(orderGoods.getGoodsName()).append(" "); |
| | | }); |
| | |
| | | } |
| | | |
| | | // 操作日志 |
| | | List<ComShopFlowerOrderOperateDO> listOperLog = |
| | | /* List<ComShopFlowerOrderOperateDO> listOperLog = |
| | | comShopFlowerOrderOperateDAO.selectList(new LambdaQueryWrapper<ComShopFlowerOrderOperateDO>() |
| | | .eq(ComShopFlowerOrderOperateDO::getOrderNo, shopOrderDO.getOrderNo())); |
| | | List<ComShopFlowerOrderOperateVO> listOperLogVO = new ArrayList<>(listOperLog.size()); |
| | |
| | | BeanUtils.copyProperties(logDO, copyVO); |
| | | listOperLogVO.add(copyVO); |
| | | }); |
| | | orderVO.setLogs(listOperLogVO); |
| | | orderVO.setLogs(listOperLogVO);*/ |
| | | Long pointId = shopOrderDO.getPointId(); |
| | | if (null != pointId) { |
| | | ConvenientElevatingPointDO convenientElevatingPointDO = convenientElevatingPointDAO.selectById(pointId); |
| | |
| | | } |
| | | } |
| | | //设置退款金额 |
| | | ComShopFlowerRefundOrderDO comShopFlowerRefundOrderDO = comShopFlowerRefundOrderDAO.selectOne(new LambdaQueryWrapper<ComShopFlowerRefundOrderDO>().eq(ComShopFlowerRefundOrderDO::getOrderId, shopOrderDO.getOrderNo())); |
| | | ComShopFlowerRefundOrderDO comShopFlowerRefundOrderDO = comShopFlowerRefundOrderDAO.selectOne(new LambdaQueryWrapper<ComShopFlowerRefundOrderDO>().eq(ComShopFlowerRefundOrderDO::getOrderId, shopOrderDO.getId())); |
| | | if (nonNull(comShopFlowerRefundOrderDO)) { |
| | | orderVO.setRefundAmount(comShopFlowerRefundOrderDO.getRefundAmount()); |
| | | orderVO.setRefundTime(comShopFlowerRefundOrderDO.getRefundTime()); |
| | | } |
| | | |
| | | //如果状态时取消状态,更新时间为去取消时间 |
| | | if (shopOrderDO.getStatus() == ComShopFlowerOrderDO.status.yqx) { |
| | | orderVO.setCancelTime(shopOrderDO.getUpdateAt()); |
| | | } |
| | | //判断是否可以退款 订单是否已超过15天 是否已有退款订单 |
| | | int count = comShopFlowerRefundOrderDAO.selectCountRefundNowByOrderId(orderId); |
| | | if (count > 0){ |
| | | orderVO.setRefundable(2); |
| | | }else { |
| | | if (null == orderVO.getReceivingTime()){ |
| | | orderVO.setRefundable(2); |
| | | }else { |
| | | //收货时间往前推15天和当前时间做比较 |
| | | Date date = DateUtils.addDay(orderVO.getReceivingTime(), 15); |
| | | if(date.before(new Date())){ |
| | | orderVO.setRefundable(2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | return R.ok(orderVO); |
| | | } |
| | |
| | | orderOperateDO.setOperationBy("用户"); |
| | | } |
| | | comShopFlowerOrderOperateDAO.insert(orderOperateDO); |
| | | |
| | | //一个自提订单算一个货 |
| | | 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("确认收货失败"); |
| | |
| | | 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(); |
| | | } |
| | |
| | | comShopFlowerOrderDeliveryNoListVO.setPage(orderPageVOIPage); |
| | | return R.ok(comShopFlowerOrderDeliveryNoListVO); |
| | | } |
| | | |
| | | } |