|
@@ -4,6 +4,7 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil;
|
|
|
import cn.afterturn.easypoi.excel.entity.ExportParams;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.usky.dxtop.common.core.domain.model.LoginUser;
|
|
@@ -13,20 +14,14 @@ 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.service.DreOrderDetailService;
|
|
|
-import com.usky.dxtop.service.DreOrderService;
|
|
|
+import com.usky.dxtop.service.*;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-import com.usky.dxtop.service.ISysAsyncTaskService;
|
|
|
-import com.usky.dxtop.service.SysFileService;
|
|
|
import com.usky.dxtop.service.api.WxApi;
|
|
|
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.vo.DreOrderExport;
|
|
|
-import com.usky.dxtop.service.vo.DreOrderRequest;
|
|
|
-import com.usky.dxtop.service.vo.OrderExport;
|
|
|
-import com.usky.dxtop.service.vo.OrderRequest;
|
|
|
+import com.usky.dxtop.service.vo.*;
|
|
|
import ma.glasnost.orika.MapperFacade;
|
|
|
import ma.glasnost.orika.MapperFactory;
|
|
|
import ma.glasnost.orika.impl.DefaultMapperFactory;
|
|
@@ -54,7 +49,7 @@ import java.util.stream.Collectors;
|
|
|
public class DreOrderServiceImpl extends ServiceImpl<DreOrderMapper, DreOrder> implements DreOrderService {
|
|
|
|
|
|
|
|
|
- private static final String URL = "https://smartpark.caih.com/vuepay/#/record?id=2";
|
|
|
+ private static final String URL = "https://smartpark.caih.com/vuepay2/#/catering?id=";
|
|
|
|
|
|
@Autowired
|
|
|
private ISysAsyncTaskService sysAsyncTaskService;
|
|
@@ -68,6 +63,9 @@ public class DreOrderServiceImpl extends ServiceImpl<DreOrderMapper, DreOrder> i
|
|
|
@Autowired
|
|
|
private WxApi wxApi;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private DreUserService dreUserService;
|
|
|
+
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public boolean add(DreOrder dreOrder) {
|
|
@@ -75,6 +73,7 @@ public class DreOrderServiceImpl extends ServiceImpl<DreOrderMapper, DreOrder> i
|
|
|
dreOrder.setOrderNumber(orderNumber);
|
|
|
this.save(dreOrder);
|
|
|
dreOrderDetailService.insertList(dreOrder);
|
|
|
+ ((DreOrderServiceImpl) AopContext.currentProxy()).sendWxMessage(dreOrder);
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -97,6 +96,7 @@ public class DreOrderServiceImpl extends ServiceImpl<DreOrderMapper, DreOrder> i
|
|
|
.eq(null != dreOrderRequest.getOrderUserId() && 0 != dreOrderRequest.getOrderUserId(),DreOrder::getOrderUserId,dreOrderRequest.getOrderUserId())
|
|
|
.eq(null != dreOrderRequest.getReceiveUserId() && 0 != dreOrderRequest.getReceiveUserId(),DreOrder::getReceiveUserId,dreOrderRequest.getReceiveUserId())
|
|
|
.eq(null != dreOrderRequest.getSendUserId() && 0 != dreOrderRequest.getSendUserId(),DreOrder::getSendUserId,dreOrderRequest.getSendUserId())
|
|
|
+ .in(CollectionUtils.isNotEmpty(dreOrderRequest.getStatusList()),DreOrder::getOrderStatus,dreOrderRequest.getStatusList())
|
|
|
.orderByDesc(DreOrder::getId);
|
|
|
page = this.page(page,queryWrapper);
|
|
|
return new CommonPage<>(page.getRecords(),page.getTotal(),page.getCurrent(),page.getSize());
|
|
@@ -145,6 +145,7 @@ public class DreOrderServiceImpl extends ServiceImpl<DreOrderMapper, DreOrder> i
|
|
|
log.error("===export spec=== 关闭workbook失败", e);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -187,30 +188,35 @@ public class DreOrderServiceImpl extends ServiceImpl<DreOrderMapper, DreOrder> i
|
|
|
}
|
|
|
|
|
|
|
|
|
+ @Async
|
|
|
+ public void sendWxMessage(DreOrder dreOrder){
|
|
|
+ String url = String.format("%s%s",URL,dreOrder.getId());
|
|
|
+ List<DreUserVO> list = dreUserService.list(null, true);
|
|
|
+ list = list.stream().filter(dreUserVO -> StringUtils.isNotBlank(dreUserVO.getOpenId())).collect(Collectors.toList());
|
|
|
+ if (CollectionUtils.isNotEmpty(list)){
|
|
|
+ for (DreUserVO dreUserVO:list) {
|
|
|
+ String result = wxApi.sendMessageApi(dreUserVO.getOpenId(),getMessageData(dreOrder),wxApi.getToken(WxApi.APP_ID,WxApi.SECRET), WxApi.DISH_TEMPLATE_ID,url);
|
|
|
+ wxApi.againSendMessage(result,dreUserVO.getOpenId(), getMessageData(dreOrder), WxApi.DISH_TEMPLATE_ID, URL,WxApi.APP_ID,WxApi.SECRET);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ public Map<String,Object> getMessageData(DreOrder dreOrder){
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("first",getMap("您好,您有新订单",null));
|
|
|
+ map.put("keyword1",getMap(dreOrder.getOrderNumber(),null));
|
|
|
+ map.put("keyword2",getMap(dreOrder.getOrderUserName(),null));
|
|
|
+ map.put("keyword3",getMap(DateUtils.format(dreOrder.getOrderTime(),null),null));
|
|
|
+ map.put("keyword4",getMap(dreOrder.getAddress(),null));
|
|
|
+ map.put("keyword5",getMap(dreOrder.getMType(),null));
|
|
|
+ return map;
|
|
|
+ }
|
|
|
|
|
|
-// private void sendWxMessage(){
|
|
|
-// String result = wxApi.sendMessageApi(staff.getOpenId(),getMessageData(dish),wxApi.getToken(WxApi.APP_ID,WxApi.SECRET), WxApi.DISH_TEMPLATE_ID,URL);
|
|
|
-// wxApi.againSendMessage(result,staff.getOpenId(), getMessageData(dish), WxApi.DISH_TEMPLATE_ID, URL,WxApi.APP_ID,WxApi.SECRET);
|
|
|
-// }
|
|
|
-//
|
|
|
-// public Map<String,Object> getMessageData(Dish dish){
|
|
|
-// Map<String, Object> map = new HashMap<>();
|
|
|
-// map.put("first",getMap("尊敬的客户,您的订单已支付成功",null));
|
|
|
-// map.put("keyword1",getMap(dish.getSeq(),null));
|
|
|
-// map.put("keyword2",getMap(dish.getShopName(),null));
|
|
|
-// map.put("keyword3",getMap(String.format("%s%s", Arith.div(dish.getAmt().doubleValue(),1,2)," 元"),null));
|
|
|
-// map.put("keyword4",getMap(DateUtils.format(dish.getCreateTime(),null),null));
|
|
|
-// map.put("keyword5",getMap(DateUtils.format(dish.getCreateTime(),null),null));
|
|
|
-// map.put("remark",getMap("如有疑问,请及时在线联系我们的客服!",null));
|
|
|
-// return map;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public Map<String,Object> getMap(Object value,String color){
|
|
|
-// Map<String,Object> map = new HashMap<>();
|
|
|
-// map.put("value",value);
|
|
|
-// map.put("color",color);
|
|
|
-// return map;
|
|
|
-// }
|
|
|
+ public Map<String,Object> getMap(Object value,String color){
|
|
|
+ Map<String,Object> map = new HashMap<>();
|
|
|
+ map.put("value",value);
|
|
|
+ map.put("color",color);
|
|
|
+ return map;
|
|
|
+ }
|
|
|
|
|
|
}
|