Merge remote-tracking branch 'origin/master'

This commit is contained in:
kuang.yife 2023-10-05 23:00:59 +08:00
commit 37b3d0a716
6 changed files with 161 additions and 34 deletions

View File

@ -0,0 +1,44 @@
package com.ghy.web.controller;
import com.ghy.common.dto.DataEntityDTO;
import com.ghy.common.enums.WxMsgEnum;
import com.ghy.common.utils.WechatMsgUtils;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* @Author 但星霖
* @Date 2023-09-28 104256
* 说明
*/
@RestController
@RequestMapping("/mesg/test")
public class MesgTestController {
@GetMapping("/{openId}")
public void edit(@PathVariable("openId") String openId){
try {
// 消息组装
Map<String, Object> paramsNew = new HashMap<>();
// 订单编号
paramsNew.put("character_string1", new DataEntityDTO("12312"));
// 名称
paramsNew.put("thing2", new DataEntityDTO("订单被拒通知"));
// 预约时间
paramsNew.put("data8", new DataEntityDTO(com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date())));
// 师傅姓名
paramsNew.put("name3", new DataEntityDTO("测试"));
// 服务区域
paramsNew.put("thing4", new DataEntityDTO("成都市"));
// 消息推送
WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), openId, WxMsgEnum.TEXT, paramsNew);
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@ -208,7 +208,7 @@ public class OrderController extends BaseController {
List<GoodsStandard> goodsStandards = new ArrayList<>(); List<GoodsStandard> goodsStandards = new ArrayList<>();
// TODO 生成规格 -- orderGoods完成后未会写规格id // TODO 生成规格 -- orderGoods完成后未会写规格id
request.getOrderGoodsStandards().forEach(list->{ request.getOrderGoodsStandards().forEach(list -> {
DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.get(list.getDeptCategoryId()); DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.get(list.getDeptCategoryId());
GoodsStandard standard = new GoodsStandard(); GoodsStandard standard = new GoodsStandard();
standard.setGoodsStandardName(deptGoodsCategory.getGoodsCategoryName()); standard.setGoodsStandardName(deptGoodsCategory.getGoodsCategoryName());
@ -244,9 +244,9 @@ public class OrderController extends BaseController {
// 服务时间 // 服务时间
String[] split = request.getServTime().split("-"); String[] split = request.getServTime().split("-");
try { try {
orderMaster.setExpectTimeStart(DateUtils.parseDate(request.getServDate()+" "+split[0], "yyyy-MM-dd hh:mm")); orderMaster.setExpectTimeStart(DateUtils.parseDate(request.getServDate() + " " + split[0], "yyyy-MM-dd hh:mm"));
orderMaster.setExpectTimeEnd(DateUtils.parseDate(request.getServDate()+" "+split[1], "yyyy-MM-dd hh:mm")); orderMaster.setExpectTimeEnd(DateUtils.parseDate(request.getServDate() + " " + split[1], "yyyy-MM-dd hh:mm"));
}catch (Exception e){ } catch (Exception e) {
} }
orderMasterService.insertOrderMaster(orderMaster); orderMasterService.insertOrderMaster(orderMaster);
@ -270,17 +270,25 @@ public class OrderController extends BaseController {
}); });
// 推送公众号通知数据 // 推送公众号通知数据
try{ try {
Worker assignWorker = workerService.selectById(orderMaster.getWorkerId()); Worker assignWorker = workerService.selectById(orderMaster.getWorkerId());
// 消息组装 // 消息组装
Map<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
params.put("character string1", orderMaster.getCode()); // 订单编号
params.put("character_string1", orderMaster.getCode());
// 名称
params.put("thing2", customer.getName()); params.put("thing2", customer.getName());
params.put("data8", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date())); // 预约时间
params.put("thing4", "有新订单,请及时处理!"); params.put("data8", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", orderMaster.getExpectTimeStart()));
// 师傅姓名
params.put("name3", assignWorker.getName());
// 服务区域
params.put("thing4", orderMaster.getAddress());
// 消息推送
WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), assignWorker.getOpenId(), WxMsgEnum.TEXT, params); WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), assignWorker.getOpenId(), WxMsgEnum.TEXT, params);
}catch (Exception e){ } catch (Exception e) {
// 暂时不做任何操作 // 暂时不做任何操作
logger.error(e.getMessage(), e);
} }
return AjaxResult.success("下单成功"); return AjaxResult.success("下单成功");
} }
@ -439,6 +447,21 @@ public class OrderController extends BaseController {
params.put("thing1", "新订单通知"); params.put("thing1", "新订单通知");
params.put("thing5", "收到师傅派单,请及时处理!"); params.put("thing5", "收到师傅派单,请及时处理!");
wxMsgService.sendWxMsg(acceptWorker.getOpenId(), WxMsgEnum.ORDER_PLAN, params); wxMsgService.sendWxMsg(acceptWorker.getOpenId(), WxMsgEnum.ORDER_PLAN, params);
// 推送公众号通知数据
// 消息组装
Map<String, Object> paramsNew = new HashMap<>();
// 订单编号
paramsNew.put("character_string1", om.getCode());
// 名称
paramsNew.put("thing2", om.getGoodsName());
// 预约时间
paramsNew.put("data8", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", om.getCreateTime()));
// 服务区域
paramsNew.put("thing4", om.getAddress());
// 师傅姓名
paramsNew.put("name3", acceptWorker.getName());
WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), acceptWorker.getOpenId(), WxMsgEnum.TEXT, paramsNew);
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); logger.error(e.getMessage(), e);
} }
@ -531,6 +554,22 @@ public class OrderController extends BaseController {
params.put("time1", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date())); params.put("time1", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date()));
params.put("thing5", "有新订单,请及时处理!"); params.put("thing5", "有新订单,请及时处理!");
wxMsgService.sendWxMsg(worker.getOpenId(), WxMsgEnum.NEW_ORDER, params); wxMsgService.sendWxMsg(worker.getOpenId(), WxMsgEnum.NEW_ORDER, params);
Worker assignWorker = workerService.selectById(orderMaster.getWorkerId());
// 消息组装
Map<String, Object> paramsNew = new HashMap<>();
// 订单编号
paramsNew.put("character_string1", orderMaster.getCode());
// 名称
paramsNew.put("thing2", customer.getName());
// 预约时间
paramsNew.put("data8", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", orderMaster.getExpectTimeStart()));
// 师傅姓名
paramsNew.put("name3", assignWorker.getName());
// 服务区域
paramsNew.put("thing4", orderMaster.getAddress());
// 消息推送
WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), assignWorker.getOpenId(), WxMsgEnum.TEXT, paramsNew);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
@ -813,7 +852,7 @@ public class OrderController extends BaseController {
return AjaxResult.success(response); return AjaxResult.success(response);
} }
public long appMixOrderCount(OrderListRequest orderListRequest){ public long appMixOrderCount(OrderListRequest orderListRequest) {
long count = 0; long count = 0;
// 校验参数 // 校验参数
@ -823,10 +862,10 @@ public class OrderController extends BaseController {
OrderDetail orderDetailReq = new OrderDetail(); OrderDetail orderDetailReq = new OrderDetail();
BeanUtils.copyProperties(orderListRequest, orderDetailReq); BeanUtils.copyProperties(orderListRequest, orderDetailReq);
List<OrderDetail> list = orderDetailService.selectOrderDetailList(orderDetailReq); List<OrderDetail> list = orderDetailService.selectOrderDetailList(orderDetailReq);
count+=list.size(); count += list.size();
List<OrderMaster> allList = new ArrayList<>(); List<OrderMaster> allList = new ArrayList<>();
List<Long> masterIdSet = new ArrayList<Long>(); List<Long> masterIdSet = new ArrayList<Long>();
if(orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1){ if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) {
// 增加主单下子单有超时的 // 增加主单下子单有超时的
OrderMaster param = new OrderMaster(); OrderMaster param = new OrderMaster();
param.setWorkerId(orderListRequest.getWorkerId()); param.setWorkerId(orderListRequest.getWorkerId());
@ -840,7 +879,7 @@ public class OrderController extends BaseController {
ids.append(model.getId()).append(","); ids.append(model.getId()).append(",");
} }
} }
if(ids.length() > 0){ if (ids.length() > 0) {
OrderMaster timeOutMaster = new OrderMaster(); OrderMaster timeOutMaster = new OrderMaster();
timeOutMaster.setOrderMasterIds(ids.substring(0, ids.length() - 1)); timeOutMaster.setOrderMasterIds(ids.substring(0, ids.length() - 1));
allList.addAll(orderMasterService.selectOrderMasterList(timeOutMaster)); allList.addAll(orderMasterService.selectOrderMasterList(timeOutMaster));
@ -864,7 +903,7 @@ public class OrderController extends BaseController {
detailAfterListOfMasterQry.setOrderMasterCode(master.getCode()); detailAfterListOfMasterQry.setOrderMasterCode(master.getCode());
List<OrderDetail> tmpDetailListOfMasters = orderDetailService.selectOrderDetailList(detailAfterListOfMasterQry); List<OrderDetail> tmpDetailListOfMasters = orderDetailService.selectOrderDetailList(detailAfterListOfMasterQry);
List<OrderListResponse> detailListOfMasters = new ArrayList<>(); List<OrderListResponse> detailListOfMasters = new ArrayList<>();
tmpDetailListOfMasters.forEach(model->{ tmpDetailListOfMasters.forEach(model -> {
OrderListResponse response = new OrderListResponse(); OrderListResponse response = new OrderListResponse();
BeanUtils.copyProperties(model, response); BeanUtils.copyProperties(model, response);
detailListOfMasters.add(response); detailListOfMasters.add(response);
@ -879,9 +918,9 @@ public class OrderController extends BaseController {
filteredMasterList.add(master); filteredMasterList.add(master);
} }
} }
count+=filteredMasterList.size(); count += filteredMasterList.size();
} else { } else {
count+=masterList.size(); count += masterList.size();
} }
return count; return count;
@ -905,7 +944,7 @@ public class OrderController extends BaseController {
orderListResponses.addAll(detailList); orderListResponses.addAll(detailList);
List<OrderListResponse> allList = new ArrayList<>(); List<OrderListResponse> allList = new ArrayList<>();
List<Long> masterIdSet = new ArrayList<Long>(); List<Long> masterIdSet = new ArrayList<Long>();
if(orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1){ if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) {
// 增加主单下子单有超时的 // 增加主单下子单有超时的
OrderMaster param = new OrderMaster(); OrderMaster param = new OrderMaster();
param.setWorkerId(orderListRequest.getWorkerId()); param.setWorkerId(orderListRequest.getWorkerId());
@ -919,7 +958,7 @@ public class OrderController extends BaseController {
ids.append(model.getId()).append(","); ids.append(model.getId()).append(",");
} }
} }
if(ids.length() > 0){ if (ids.length() > 0) {
OrderMaster timeOutMaster = new OrderMaster(); OrderMaster timeOutMaster = new OrderMaster();
timeOutMaster.setOrderMasterIds(ids.substring(0, ids.length() - 1)); timeOutMaster.setOrderMasterIds(ids.substring(0, ids.length() - 1));
allList.addAll(this.getMasterList(timeOutMaster)); allList.addAll(this.getMasterList(timeOutMaster));
@ -1431,9 +1470,9 @@ public class OrderController extends BaseController {
OrderCallRecord param = new OrderCallRecord(); OrderCallRecord param = new OrderCallRecord();
param.setOrderId(detail.getId()); param.setOrderId(detail.getId());
List<OrderCallRecord> callList = orderCallRecordService.selectOrderCallRecordList(param); List<OrderCallRecord> callList = orderCallRecordService.selectOrderCallRecordList(param);
if(CollectionUtils.isNotEmpty(callList)){ if (CollectionUtils.isNotEmpty(callList)) {
orderListResponse.setIsCall("02"); orderListResponse.setIsCall("02");
}else { } else {
orderListResponse.setIsCall("1"); orderListResponse.setIsCall("1");
} }

View File

@ -6,10 +6,7 @@ import com.ghy.common.core.controller.BaseController;
import com.ghy.common.core.domain.AjaxResult; import com.ghy.common.core.domain.AjaxResult;
import com.ghy.common.core.page.TableDataInfo; import com.ghy.common.core.page.TableDataInfo;
import com.ghy.common.enums.*; import com.ghy.common.enums.*;
import com.ghy.common.utils.AdapayUtils; import com.ghy.common.utils.*;
import com.ghy.common.utils.ExceptionUtil;
import com.ghy.common.utils.MoneyUtil;
import com.ghy.common.utils.StringUtils;
import com.ghy.common.utils.poi.ExcelUtil; import com.ghy.common.utils.poi.ExcelUtil;
import com.ghy.customer.domain.Customer; import com.ghy.customer.domain.Customer;
import com.ghy.customer.domain.CustomerAddress; import com.ghy.customer.domain.CustomerAddress;
@ -1038,6 +1035,22 @@ public class OrderDetailController extends BaseController {
params.put("thing1", "订单被拒通知"); params.put("thing1", "订单被拒通知");
params.put("thing5", "订单被拒绝,请及时处理!"); params.put("thing5", "订单被拒绝,请及时处理!");
wxMsgService.sendWxMsg(masterWorker.getOpenId(), WxMsgEnum.ORDER_PLAN, params); wxMsgService.sendWxMsg(masterWorker.getOpenId(), WxMsgEnum.ORDER_PLAN, params);
Worker assignWorker = workerService.selectById(om.getWorkerId());
// 消息组装
Map<String, Object> paramsNew = new HashMap<>();
// 订单编号
paramsNew.put("character_string1", om.getCode());
// 名称
paramsNew.put("thing2", "订单被拒通知");
// 预约时间
paramsNew.put("data8", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", om.getExpectTimeStart()));
// 师傅姓名
paramsNew.put("name3", assignWorker.getName());
// 服务区域
paramsNew.put("thing4", om.getAddress());
// 消息推送
WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), assignWorker.getOpenId(), WxMsgEnum.TEXT, paramsNew);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }

View File

@ -45,5 +45,5 @@ public class WxConfig {
* 模版相关 * 模版相关
* 测试模版 * 测试模版
*/ */
private String textTemplateId = null; private String textTemplateId = "lPqo3fXelyh47pFqv9n5RY9acCd0D8po8-xsgfCj8hY";
} }

View File

@ -0,0 +1,32 @@
package com.ghy.common.dto;
import lombok.Data;
/**
* @Author 但星霖
* @Date 2023-09-28 214516
* 说明微信内容消息dto
*/
@Data
public class DataEntityDTO {
/**
* 内容
*/
private String value;
/**
* 字体颜色
*/
private String color;
public DataEntityDTO(String value){
this.value = value;
this.color = "#173177";
}
public DataEntityDTO(String value, String color){
this.value = value;
this.color = color;
}
}

View File

@ -28,6 +28,9 @@ public class WechatMsgUtils {
@Autowired @Autowired
private static WxConfig wxConfig; private static WxConfig wxConfig;
static final String appid = "wx105ce607b514ff2a";
static final String appsecret = "51df6f2d33bf639fa05891af7a69a56e";
/** /**
* 获取token * 获取token
@ -36,7 +39,7 @@ public class WechatMsgUtils {
*/ */
public static String getToken() { public static String getToken() {
// 接口地址拼接参数 // 接口地址拼接参数
String getTokenApi = wxConfig.getGerTokenUrl() + wxConfig.getGrantTypeInToken() + "&appid=" + "wx404f2439a8c24e15" + "&secret=" + "49ade04a817067fe2d65ab2f17afce75"; String getTokenApi = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + appsecret;
String tokenJsonStr = doGetPost(getTokenApi, "GET", null); String tokenJsonStr = doGetPost(getTokenApi, "GET", null);
JSONObject tokenJson = JSONObject.parseObject(tokenJsonStr); JSONObject tokenJson = JSONObject.parseObject(tokenJsonStr);
String token = tokenJson.get("access_token").toString(); String token = tokenJson.get("access_token").toString();
@ -54,25 +57,21 @@ public class WechatMsgUtils {
*/ */
public static void sendWeChatMsg(String token, String userOpenId, WxMsgEnum mesType, Map<String, Object> dataMap) { public static void sendWeChatMsg(String token, String userOpenId, WxMsgEnum mesType, Map<String, Object> dataMap) {
// 接口地址 // 接口地址
String sendMsgApi = wxConfig.getSendMsgUrl() + token; String sendMsgApi = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + token;
//整体参数map //整体参数map
Map<String, Object> paramMap = new HashMap<String, Object>(); Map<String, Object> paramMap = new HashMap<String, Object>();
//根据自己的模板定义内容和颜色
// dataMap.put("first", new DataEntity("详细内容XXXXXXX", "#173177"));
// dataMap.put("keyword1", new DataEntity("私有化部署XXX", "#173177"));
// dataMap.put("keyword2", new DataEntity("2020-08-18XXX", "#173177"));
// dataMap.put("remark", new DataEntity("申请成功XXX", "#173177"));
paramMap.put("touser", userOpenId); paramMap.put("touser", userOpenId);
switch (mesType) { switch (mesType) {
case TEXT: case TEXT:
paramMap.put("template_id", wxConfig.getTextTemplateId()); paramMap.put("template_id", "qfBBrpSq9-JFZFyPo0YRLp3SQTLkIYRFH7A65k6kSVM");
break; break;
default: default:
break; break;
} }
paramMap.put("data", dataMap); paramMap.put("data", dataMap);
String reposont = doGetPost(sendMsgApi, "POST", paramMap); String reposont = doGetPost(sendMsgApi, "POST", paramMap);
log.info("用户:{}消息:{}推送成功。{}", userOpenId, dataMap.toString(), System.currentTimeMillis()); log.info("reposont:{}", reposont);
log.info("用户:{}消息:{}推送返回谁:{}", userOpenId, dataMap.toString(),reposont);
} }
/** /**