|
@@ -7,21 +7,21 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.usky.dxtop.common.core.domain.model.LoginUser;
|
|
import com.usky.dxtop.common.core.domain.model.LoginUser;
|
|
import com.usky.dxtop.common.core.page.CommonPage;
|
|
import com.usky.dxtop.common.core.page.CommonPage;
|
|
import com.usky.dxtop.common.exception.CustomException;
|
|
import com.usky.dxtop.common.exception.CustomException;
|
|
import com.usky.dxtop.common.utils.*;
|
|
import com.usky.dxtop.common.utils.*;
|
|
-import com.usky.dxtop.common.utils.uuid.UUID;
|
|
|
|
-import com.usky.dxtop.model.*;
|
|
|
|
import com.usky.dxtop.mapper.DreOrderMapper;
|
|
import com.usky.dxtop.mapper.DreOrderMapper;
|
|
|
|
+import com.usky.dxtop.model.*;
|
|
import com.usky.dxtop.service.*;
|
|
import com.usky.dxtop.service.*;
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
import com.usky.dxtop.service.api.WxApi;
|
|
import com.usky.dxtop.service.api.WxApi;
|
|
import com.usky.dxtop.service.emun.AsyncResultType;
|
|
import com.usky.dxtop.service.emun.AsyncResultType;
|
|
-import com.usky.dxtop.service.emun.OrderPayType;
|
|
|
|
-import com.usky.dxtop.service.emun.OrderSceneCode;
|
|
|
|
import com.usky.dxtop.service.emun.OrderStatus;
|
|
import com.usky.dxtop.service.emun.OrderStatus;
|
|
-import com.usky.dxtop.service.vo.*;
|
|
|
|
|
|
+import com.usky.dxtop.service.vo.DreOrderExport;
|
|
|
|
+import com.usky.dxtop.service.vo.DreOrderRequest;
|
|
|
|
+import com.usky.dxtop.service.vo.DreUserVO;
|
|
|
|
+import com.usky.dxtop.service.vo.OrderExport;
|
|
import ma.glasnost.orika.MapperFacade;
|
|
import ma.glasnost.orika.MapperFacade;
|
|
import ma.glasnost.orika.MapperFactory;
|
|
import ma.glasnost.orika.MapperFactory;
|
|
import ma.glasnost.orika.impl.DefaultMapperFactory;
|
|
import ma.glasnost.orika.impl.DefaultMapperFactory;
|
|
@@ -66,6 +66,11 @@ public class DreOrderServiceImpl extends ServiceImpl<DreOrderMapper, DreOrder> i
|
|
@Autowired
|
|
@Autowired
|
|
private DreUserService dreUserService;
|
|
private DreUserService dreUserService;
|
|
|
|
|
|
|
|
+ private static final String ORDER_PREFIX = "DX-";
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private DreOrderNoticeLogService dreOrderNoticeLogService;
|
|
|
|
+
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Override
|
|
@Override
|
|
public boolean add(DreOrder dreOrder) {
|
|
public boolean add(DreOrder dreOrder) {
|
|
@@ -214,14 +219,34 @@ public class DreOrderServiceImpl extends ServiceImpl<DreOrderMapper, DreOrder> i
|
|
String url = String.format("%s%s",URL,dreOrder.getId());
|
|
String url = String.format("%s%s",URL,dreOrder.getId());
|
|
List<DreUserVO> list = dreUserService.list(null, true);
|
|
List<DreUserVO> list = dreUserService.list(null, true);
|
|
list = list.stream().filter(dreUserVO -> StringUtils.isNotBlank(dreUserVO.getOpenId())).collect(Collectors.toList());
|
|
list = list.stream().filter(dreUserVO -> StringUtils.isNotBlank(dreUserVO.getOpenId())).collect(Collectors.toList());
|
|
|
|
+ List<DreOrderNoticeLog> dreOrderNoticeLogs = new ArrayList<>();
|
|
if (CollectionUtils.isNotEmpty(list)){
|
|
if (CollectionUtils.isNotEmpty(list)){
|
|
for (DreUserVO dreUserVO:list) {
|
|
for (DreUserVO dreUserVO:list) {
|
|
- String result = wxApi.sendMessageApi(dreUserVO.getOpenId(),getMessageData(dreOrder),wxApi.getToken(WxApi.APP_ID,WxApi.SECRET), WxApi.DRE_ORDER_INSERT,url);
|
|
|
|
- wxApi.againSendMessage(result,dreUserVO.getOpenId(), getMessageData(dreOrder), WxApi.DRE_ORDER_INSERT, URL,WxApi.APP_ID,WxApi.SECRET);
|
|
|
|
|
|
+ DreOrderNoticeLog dreOrderNoticeLog = generateNoticeLog(dreOrder, dreUserVO);
|
|
|
|
+ String result;
|
|
|
|
+ try {
|
|
|
|
+ result = wxApi.sendMessageApi(dreUserVO.getOpenId(),getMessageData(dreOrder),wxApi.getToken(WxApi.APP_ID,WxApi.SECRET), WxApi.DRE_ORDER_INSERT,url);
|
|
|
|
+ result = wxApi.againSendMessage(result,dreUserVO.getOpenId(), getMessageData(dreOrder), WxApi.DRE_ORDER_INSERT, URL,WxApi.APP_ID,WxApi.SECRET);
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ dreOrderNoticeLog.setSendStatus(1);
|
|
|
|
+ result = e.getMessage();
|
|
|
|
+ }
|
|
|
|
+ dreOrderNoticeLog.setSendResult(result);
|
|
|
|
+ dreOrderNoticeLogs.add(dreOrderNoticeLog);
|
|
}
|
|
}
|
|
|
|
+ dreOrderNoticeLogService.saveBatch(dreOrderNoticeLogs);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public DreOrderNoticeLog generateNoticeLog(DreOrder dreOrder, DreUserVO dreUserVO){
|
|
|
|
+ DreOrderNoticeLog dreOrderNoticeLog = new DreOrderNoticeLog();
|
|
|
|
+ dreOrderNoticeLog.setOrderId(dreOrder.getId().intValue());
|
|
|
|
+ dreOrderNoticeLog.setNotcieTime(new Date());
|
|
|
|
+ dreOrderNoticeLog.setNoticeUserId(dreUserVO.getSId().intValue());
|
|
|
|
+ dreOrderNoticeLog.setNoticeUserName(dreUserVO.getName());
|
|
|
|
+ return dreOrderNoticeLog;
|
|
|
|
+ }
|
|
|
|
+
|
|
public Map<String,Object> getMessageData(DreOrder dreOrder){
|
|
public Map<String,Object> getMessageData(DreOrder dreOrder){
|
|
Map<String, Object> map = new HashMap<>();
|
|
Map<String, Object> map = new HashMap<>();
|
|
map.put("first",getMap("您好,您有新订单",null));
|
|
map.put("first",getMap("您好,您有新订单",null));
|
|
@@ -243,14 +268,8 @@ public class DreOrderServiceImpl extends ServiceImpl<DreOrderMapper, DreOrder> i
|
|
|
|
|
|
|
|
|
|
public static String generateOrderNumber(){
|
|
public static String generateOrderNumber(){
|
|
- Random random = new Random();
|
|
|
|
- String result="";
|
|
|
|
- for (int i=0;i<4;i++)
|
|
|
|
- {
|
|
|
|
- result+=random.nextInt(10);
|
|
|
|
- }
|
|
|
|
String format = DateUtils.format(new Date(), DateUtils.YYYYMMDDHHMMSS);
|
|
String format = DateUtils.format(new Date(), DateUtils.YYYYMMDDHHMMSS);
|
|
- return String.format("%s%s",result,format);
|
|
|
|
|
|
+ return String.format("%s%s",ORDER_PREFIX,format);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|