Commit 79dde781 authored by shiyu's avatar shiyu

模板信息发送

parent 3e5bc2b1
package com.wwdz.ch.admin.controller; package com.wwdz.ch.admin.controller;
import com.alibaba.fastjson.JSON;
import com.wwdz.ch.admin.annotation.RequiresPermissionsDesc; import com.wwdz.ch.admin.annotation.RequiresPermissionsDesc;
import com.wwdz.ch.admin.service.ItemService; import com.wwdz.ch.admin.service.ItemService;
import com.wwdz.ch.admin.service.SysDistributionOrderService; import com.wwdz.ch.admin.service.SysDistributionOrderService;
...@@ -7,7 +8,10 @@ import com.wwdz.ch.admin.util.AuthSupport; ...@@ -7,7 +8,10 @@ import com.wwdz.ch.admin.util.AuthSupport;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.CoinRequestDto; import com.wwdz.ch.db.dto.request.CoinRequestDto;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto; import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.xxdxxs.service.FormHandler;
import com.xxdxxs.utils.JsonUtils; import com.xxdxxs.utils.JsonUtils;
import com.xxdxxs.validation.Validator;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -32,4 +36,19 @@ public class SysDistributionOrderController { ...@@ -32,4 +36,19 @@ public class SysDistributionOrderController {
Result result = sysDistributionOrderService.findList(dto); Result result = sysDistributionOrderService.findList(dto);
return result; return result;
} }
@ApiOperation(value = "发货")
@PostMapping("/delivery")
public Result delivery(@RequestBody DistributionOrderRequestDto dto) {
logger.info("发货,请求参数:{}", JSON.toJSONString(dto));
Validator validator = new Validator(FormHandler.ofEntity(dto));
validator.set("distributionOrderId", "分销订单号").must().string()
.set("logisticsCode", "快递公司编码").must().string()
.end();
if (!validator.isValid()) {
return Result.failed(validator.getErrorInfo());
}
return sysDistributionOrderService.delivery(dto);
}
} }
...@@ -6,6 +6,8 @@ import com.wwdz.ch.admin.service.SysDistributionOrderService; ...@@ -6,6 +6,8 @@ import com.wwdz.ch.admin.service.SysDistributionOrderService;
import com.wwdz.ch.core.consts.CommConsts; import com.wwdz.ch.core.consts.CommConsts;
import com.wwdz.ch.core.consts.DistributionEnum; import com.wwdz.ch.core.consts.DistributionEnum;
import com.wwdz.ch.core.consts.LogisticsEnum; import com.wwdz.ch.core.consts.LogisticsEnum;
import com.wwdz.ch.core.entity.DeliveryNoticeMsg;
import com.wwdz.ch.core.service.SendMsgService;
import com.wwdz.ch.core.type.PageSearchResult; import com.wwdz.ch.core.type.PageSearchResult;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.CacheUtil; import com.wwdz.ch.core.util.CacheUtil;
...@@ -54,6 +56,9 @@ public class SysDistributionOrderServiceImpl implements SysDistributionOrderServ ...@@ -54,6 +56,9 @@ public class SysDistributionOrderServiceImpl implements SysDistributionOrderServ
@Autowired @Autowired
UserDao userDao; UserDao userDao;
@Autowired
SendMsgService sendMsgService;
@Override @Override
public Result findList(DistributionOrderRequestDto dto) { public Result findList(DistributionOrderRequestDto dto) {
try { try {
...@@ -116,4 +121,64 @@ public class SysDistributionOrderServiceImpl implements SysDistributionOrderServ ...@@ -116,4 +121,64 @@ public class SysDistributionOrderServiceImpl implements SysDistributionOrderServ
} }
return Result.failed(); return Result.failed();
} }
@Override
public Result delivery(DistributionOrderRequestDto dto) {
try {
String distributionOrderId = dto.getDistributionOrderId();
DistributionOrder distributionOrder = distributionOrderDao.findById(distributionOrderId);
if (distributionOrder.getState() != DistributionEnum.DistributionOrderStateEnum.PRE_SEND.getCode()) {
return Result.failed("订单状态错误,不能发货");
}
Date now = new Date();
DistributionOrder orderUpdateDto = new DistributionOrder();
orderUpdateDto.setDistributionOrderId(distributionOrderId);
orderUpdateDto.setLogisticsCode(dto.getLogisticsCode());
orderUpdateDto.setWaybill(dto.getWaybill());
orderUpdateDto.setDeliveryTime(now);
orderUpdateDto.setState(DistributionEnum.DistributionOrderStateEnum.PRE_SIGNED.getCode());
distributionOrderDao.update(orderUpdateDto);
//发货成功,发送模板信息通知分销商和用户
try {
DeliveryNoticeMsg deliveryNoticeMsg = new DeliveryNoticeMsg();
deliveryNoticeMsg.setDistributionOrderId(distributionOrderId);
deliveryNoticeMsg.setWaybill(dto.getWaybill());
deliveryNoticeMsg.setAddress(distributionOrder.getReceiverName() + " " + distributionOrder.getReceiverPhone() + " " + distributionOrder.getReceiverAddress());
SupplierItem supplierItem = supplierItemDao.findById(distributionOrder.getItemId());
deliveryNoticeMsg.setItemName(supplierItem.getName());
deliveryNoticeMsg.setDeliveryTime(now);
//发送给卖家
if (dto.getUserId() == null || distributionOrder.getSellerId().longValue() != dto.getUserId()) {
String sellerOpenId = sendMsgService.getOpenIdByUserId(distributionOrder.getSellerId());
if (com.xxdxxs.utils.StringUtils.hasLength(sellerOpenId)) {
if (distributionOrder.getType().intValue() == DistributionEnum.DistributionTypeEnum.COLLECT.getCode()) {
deliveryNoticeMsg.setShopState(2);
} else {
deliveryNoticeMsg.setShopState(1);
}
sendMsgService.sendDeliveryTempletMsg(sellerOpenId, deliveryNoticeMsg);
} else {
logger.info(">>>>> 卖家id :{}, 获取openid失败 <<<<<", distributionOrder.getSellerId());
}
}
//发送给买家
String buyerOpenId = sendMsgService.getOpenIdByUserId(distributionOrder.getBuyerId());
if (com.xxdxxs.utils.StringUtils.hasLength(buyerOpenId)) {
deliveryNoticeMsg.setShopState(0);
sendMsgService.sendDeliveryTempletMsg(buyerOpenId, deliveryNoticeMsg);
} else {
logger.info(">>>>> 买家openid为空, 发送消息失败 <<<<<");
}
} catch (Exception e) {
logger.info("分销订单发货通知模板信息发送失败:{}", e);
}
return Result.success();
} catch (Exception e) {
logger.info("发货失败 error: {}", e);
}
return Result.failed();
}
} }
...@@ -6,4 +6,12 @@ import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto; ...@@ -6,4 +6,12 @@ import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
public interface SysDistributionOrderService { public interface SysDistributionOrderService {
Result findList(DistributionOrderRequestDto dto); Result findList(DistributionOrderRequestDto dto);
/**
* 订单发货
* @param dto
* @return
*/
Result delivery(DistributionOrderRequestDto dto);
} }
package com.wwdz.ch.wx.entity; package com.wwdz.ch.core.entity;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
......
package com.wwdz.ch.wx.entity; package com.wwdz.ch.core.entity;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
......
package com.wwdz.ch.wx.entity; package com.wwdz.ch.core.entity;
import com.wwdz.ch.core.entity.AbstractSubscribeMsg; import com.wwdz.ch.core.entity.AbstractSubscribeMsg;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
......
package com.wwdz.ch.wx.entity; package com.wwdz.ch.core.entity;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
......
package com.wwdz.ch.wx.entity; package com.wwdz.ch.core.entity;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
......
package com.wwdz.ch.wx.entity; package com.wwdz.ch.core.entity;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
......
package com.wwdz.ch.wx.entity; package com.wwdz.ch.core.entity;
import com.wwdz.ch.core.entity.AbstractSubscribeMsg; import com.wwdz.ch.core.entity.AbstractSubscribeMsg;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
......
package com.wwdz.ch.wx.entity; package com.wwdz.ch.core.entity;
import com.wwdz.ch.core.entity.AbstractSubscribeMsg; import com.wwdz.ch.core.entity.AbstractSubscribeMsg;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
......
package com.wwdz.ch.wx.impl.distribution; package com.wwdz.ch.core.impl;
import com.wwdz.ch.core.api.OfficialAccountApi; import com.wwdz.ch.core.api.OfficialAccountApi;
import com.wwdz.ch.core.entity.ConsignSaleSubscribeMsg; import com.wwdz.ch.core.entity.*;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.OkHttpUtil; import com.wwdz.ch.core.util.OkHttpUtil;
import com.wwdz.ch.db.dao.OfficialAccountSubscribeRecordDao; import com.wwdz.ch.db.dao.OfficialAccountSubscribeRecordDao;
import com.wwdz.ch.db.dao.UserDao; import com.wwdz.ch.db.dao.UserDao;
import com.wwdz.ch.db.domain.OfficialAccountSubscribeRecord; import com.wwdz.ch.db.domain.OfficialAccountSubscribeRecord;
import com.wwdz.ch.db.domain.User; import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.wx.entity.*; import com.wwdz.ch.core.service.SendMsgService;
import com.wwdz.ch.wx.service.distribution.SendMsgService;
import com.xxdxxs.utils.DateUtils; import com.xxdxxs.utils.DateUtils;
import com.xxdxxs.utils.JsonUtils; import com.xxdxxs.utils.JsonUtils;
import com.xxdxxs.utils.StringUtils; import com.xxdxxs.utils.StringUtils;
...@@ -18,11 +17,8 @@ import org.slf4j.LoggerFactory; ...@@ -18,11 +17,8 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Map; import java.util.Map;
/** /**
......
package com.wwdz.ch.wx.service.distribution; package com.wwdz.ch.core.service;
import com.wwdz.ch.core.entity.AbstractSubscribeMsg; import com.wwdz.ch.core.entity.*;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.wx.entity.*;
public interface SendMsgService { public interface SendMsgService {
......
...@@ -17,9 +17,9 @@ import com.wwdz.ch.core.util.TimeUtil; ...@@ -17,9 +17,9 @@ import com.wwdz.ch.core.util.TimeUtil;
import com.wwdz.ch.db.dao.distribution.*; import com.wwdz.ch.db.dao.distribution.*;
import com.wwdz.ch.db.domain.distribution.*; import com.wwdz.ch.db.domain.distribution.*;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto; import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.wwdz.ch.wx.entity.DistributionOrderNoticeMsg; import com.wwdz.ch.core.entity.DistributionOrderNoticeMsg;
import com.wwdz.ch.wx.entity.PayNoticeMsg; import com.wwdz.ch.core.entity.PayNoticeMsg;
import com.wwdz.ch.wx.service.distribution.SendMsgService; import com.wwdz.ch.core.service.SendMsgService;
import com.wwdz.ch.wx.service.distribution.SupplierItemService; import com.wwdz.ch.wx.service.distribution.SupplierItemService;
import com.xxdxxs.utils.JsonUtils; import com.xxdxxs.utils.JsonUtils;
import com.xxdxxs.utils.StringUtils; import com.xxdxxs.utils.StringUtils;
......
...@@ -19,12 +19,12 @@ import com.wwdz.ch.db.domain.distribution.SupplierItem; ...@@ -19,12 +19,12 @@ import com.wwdz.ch.db.domain.distribution.SupplierItem;
import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto; import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto; import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.wwdz.ch.core.api.WxAppletApi; import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.wx.entity.FollowFansMsg; import com.wwdz.ch.core.entity.FollowFansMsg;
import com.wwdz.ch.wx.entity.vo.FollowFansRecordVo; import com.wwdz.ch.wx.entity.vo.FollowFansRecordVo;
import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderVo; import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderVo;
import com.wwdz.ch.wx.service.FollowFansRecordService; import com.wwdz.ch.wx.service.FollowFansRecordService;
import com.wwdz.ch.wx.service.MessageService; import com.wwdz.ch.wx.service.MessageService;
import com.wwdz.ch.wx.service.distribution.SendMsgService; import com.wwdz.ch.core.service.SendMsgService;
import com.xxdxxs.utils.EntityMapper; import com.xxdxxs.utils.EntityMapper;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
......
...@@ -22,7 +22,7 @@ import com.wwdz.ch.core.api.OfficialAccountApi; ...@@ -22,7 +22,7 @@ import com.wwdz.ch.core.api.OfficialAccountApi;
import com.wwdz.ch.core.api.WxAppletApi; import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.wx.constant.CacheCodeConstants; import com.wwdz.ch.wx.constant.CacheCodeConstants;
import com.wwdz.ch.wx.constant.LoginTypeEnum; import com.wwdz.ch.wx.constant.LoginTypeEnum;
import com.wwdz.ch.wx.entity.MessageContentText; import com.wwdz.ch.core.entity.MessageContentText;
import com.wwdz.ch.wx.entity.request.ItemRequestDto; import com.wwdz.ch.wx.entity.request.ItemRequestDto;
import com.wwdz.ch.wx.entity.request.MessageRequestDto; import com.wwdz.ch.wx.entity.request.MessageRequestDto;
import com.wwdz.ch.core.entity.WxCheckMediaRequestDto; import com.wwdz.ch.core.entity.WxCheckMediaRequestDto;
......
...@@ -17,18 +17,15 @@ import com.wwdz.ch.db.domain.MessageContent; ...@@ -17,18 +17,15 @@ import com.wwdz.ch.db.domain.MessageContent;
import com.wwdz.ch.db.domain.MessageRecord; import com.wwdz.ch.db.domain.MessageRecord;
import com.wwdz.ch.db.dto.MessageRecordRequestDto; import com.wwdz.ch.db.dto.MessageRecordRequestDto;
import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto; import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto;
import com.wwdz.ch.wx.entity.MessageContentText; import com.wwdz.ch.core.entity.MessageContentText;
import com.wwdz.ch.wx.entity.request.MessageRequestDto; import com.wwdz.ch.wx.entity.request.MessageRequestDto;
import com.wwdz.ch.wx.entity.vo.FollowFansRecordVo;
import com.wwdz.ch.wx.entity.vo.MessageVo; import com.wwdz.ch.wx.entity.vo.MessageVo;
import com.wwdz.ch.wx.service.FavoritesService; import com.wwdz.ch.wx.service.FavoritesService;
import com.wwdz.ch.wx.service.MessageService; import com.wwdz.ch.wx.service.MessageService;
import com.xxdxxs.entity.Entity;
import com.xxdxxs.service.FormHandler; import com.xxdxxs.service.FormHandler;
import com.xxdxxs.utils.EntityMapper; import com.xxdxxs.utils.EntityMapper;
import com.xxdxxs.utils.JsonUtils; import com.xxdxxs.utils.JsonUtils;
import com.xxdxxs.validation.Validator; import com.xxdxxs.validation.Validator;
import org.apache.logging.log4j.spi.ObjectThreadContextMap;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -37,7 +34,6 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -37,7 +34,6 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.awt.*;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.List; import java.util.List;
......
...@@ -16,11 +16,11 @@ import com.wwdz.ch.db.dao.distribution.*; ...@@ -16,11 +16,11 @@ import com.wwdz.ch.db.dao.distribution.*;
import com.wwdz.ch.db.domain.distribution.*; import com.wwdz.ch.db.domain.distribution.*;
import com.wwdz.ch.db.dto.request.distribution.AuctionRecordRequestDto; import com.wwdz.ch.db.dto.request.distribution.AuctionRecordRequestDto;
import com.wwdz.ch.core.api.WxAppletApi; import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.wx.entity.AuctionOfferNoticeMsg; import com.wwdz.ch.core.entity.AuctionOfferNoticeMsg;
import com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordRowVo; import com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordRowVo;
import com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordVo; import com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordVo;
import com.wwdz.ch.wx.service.distribution.AuctionRecordService; import com.wwdz.ch.wx.service.distribution.AuctionRecordService;
import com.wwdz.ch.wx.service.distribution.SendMsgService; import com.wwdz.ch.core.service.SendMsgService;
import com.xxdxxs.utils.DateUtils; import com.xxdxxs.utils.DateUtils;
import com.xxdxxs.utils.EntityMapper; import com.xxdxxs.utils.EntityMapper;
import org.redisson.api.RLock; import org.redisson.api.RLock;
......
...@@ -21,14 +21,14 @@ import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto; ...@@ -21,14 +21,14 @@ import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto; import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto; import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
import com.wwdz.ch.core.api.WxAppletApi; import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.wx.entity.AuctionOfferNoticeMsg; import com.wwdz.ch.core.entity.AuctionOfferNoticeMsg;
import com.wwdz.ch.wx.entity.DeliveryNoticeMsg; import com.wwdz.ch.core.entity.DeliveryNoticeMsg;
import com.wwdz.ch.wx.entity.SignedNoticeMsg; import com.wwdz.ch.core.entity.SignedNoticeMsg;
import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderDetailVo; import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderDetailVo;
import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderVo; import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderVo;
import com.wwdz.ch.wx.service.distribution.DistributionOrderService; import com.wwdz.ch.wx.service.distribution.DistributionOrderService;
import com.wwdz.ch.wx.service.distribution.DistributorProfitService; import com.wwdz.ch.wx.service.distribution.DistributorProfitService;
import com.wwdz.ch.wx.service.distribution.SendMsgService; import com.wwdz.ch.core.service.SendMsgService;
import com.xxdxxs.utils.DateUtils; import com.xxdxxs.utils.DateUtils;
import com.xxdxxs.utils.EntityMapper; import com.xxdxxs.utils.EntityMapper;
import org.redisson.api.RLock; import org.redisson.api.RLock;
......
...@@ -14,9 +14,9 @@ import com.wwdz.ch.db.domain.distribution.AuctionRecord; ...@@ -14,9 +14,9 @@ import com.wwdz.ch.db.domain.distribution.AuctionRecord;
import com.wwdz.ch.db.domain.distribution.DistributionOrder; import com.wwdz.ch.db.domain.distribution.DistributionOrder;
import com.wwdz.ch.db.domain.distribution.SupplierItem; import com.wwdz.ch.db.domain.distribution.SupplierItem;
import com.wwdz.ch.core.api.WxAppletApi; import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.wx.entity.AuctionOfferNoticeMsg; import com.wwdz.ch.core.entity.AuctionOfferNoticeMsg;
import com.wwdz.ch.wx.service.distribution.DistributionOrderService; import com.wwdz.ch.wx.service.distribution.DistributionOrderService;
import com.wwdz.ch.wx.service.distribution.SendMsgService; import com.wwdz.ch.core.service.SendMsgService;
import com.xxdxxs.utils.DateUtils; import com.xxdxxs.utils.DateUtils;
import org.redisson.api.RLock; import org.redisson.api.RLock;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment