|
@@ -9,19 +9,22 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.szwl.feign.SzwlFeign;
|
|
|
+import com.szwl.mapper.TCoinOrderMapper;
|
|
|
import com.szwl.model.bean.OrderDaoChuDTO;
|
|
|
import com.szwl.model.bean.WeChatTemplateMsg;
|
|
|
import com.szwl.model.bo.R;
|
|
|
import com.szwl.model.dto.OrderDto;
|
|
|
-import com.szwl.model.entity.*;
|
|
|
-import com.szwl.mapper.TCoinOrderMapper;
|
|
|
+import com.szwl.model.entity.TAdmin;
|
|
|
+import com.szwl.model.entity.TAdminEquipment;
|
|
|
+import com.szwl.model.entity.TCoinOrder;
|
|
|
+import com.szwl.model.entity.TEquipment;
|
|
|
import com.szwl.model.excel.CoinOrderTarget;
|
|
|
import com.szwl.model.excel.NewCoinOrderTarget;
|
|
|
import com.szwl.model.query.OrderDaoChuParam;
|
|
|
import com.szwl.model.query.OrderStatisticsDTO;
|
|
|
import com.szwl.service.TCoinOrderService;
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -66,6 +69,16 @@ public class TCoinOrderServiceImpl extends ServiceImpl<TCoinOrderMapper, TCoinOr
|
|
|
*/
|
|
|
public static final String SC_TEMPLATE_ID = "NNvPtOznN2nSV2g57y7B0tUZ77-bf0XxG4OaUvk5EZA";
|
|
|
|
|
|
+ /**
|
|
|
+ * 申泽订单通知模版ID
|
|
|
+ */
|
|
|
+ public static final String NEW_SZ_TEMPLATE_ID = "Kn37QCyj-JsvKhP9CtNwsZ7-vFkaZZteUXxEobYiIm4";
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 七云订单通知模版ID
|
|
|
+ */
|
|
|
+ public static final String NEW_SC_TEMPLATE_ID = "NNvPtOznN2nSV2g57y7B0lMWuoXe2qjDNJGwj56iRSU";
|
|
|
+
|
|
|
@Override
|
|
|
public List<CoinOrderTarget> findByCoinOrder(TAdmin admin, List<TCoinOrder> coinOrders) {
|
|
|
ArrayList<CoinOrderTarget> list = new ArrayList<>();
|
|
@@ -352,6 +365,61 @@ public class TCoinOrderServiceImpl extends ServiceImpl<TCoinOrderMapper, TCoinOr
|
|
|
sendMessage(accessToken, restTemplate, sendBody);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void newSendWechatMessage(String openId, TEquipment equipment, TCoinOrder coinOrder, String companyType) {
|
|
|
+ String accessToken = "";
|
|
|
+ try {
|
|
|
+ if(StringUtils.isEmpty(companyType) || companyType.equals("0")) {
|
|
|
+ TAdmin admin = R.getDataIfSuccess(szwlFeign.getAdmin("2738"));
|
|
|
+ accessToken = admin.getApiKey();
|
|
|
+ log.info("申泽的accessToken:{}", accessToken);
|
|
|
+ } else {
|
|
|
+ TAdmin admin = R.getDataIfSuccess(szwlFeign.getAdmin("2739"));
|
|
|
+ accessToken = admin.getApiKey();
|
|
|
+ log.info("七云的accessToken:{}", accessToken);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ // 模板参数
|
|
|
+ Map<String, WeChatTemplateMsg> sendMag = new HashMap();
|
|
|
+ // 转换时间为String类型
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ String payTime = format.format(coinOrder.getPayDate());
|
|
|
+ String clientId = equipment.getClientId();
|
|
|
+ // 模版参数
|
|
|
+ if(StringUtils.isNotEmpty(equipment.getName())) {
|
|
|
+ if(equipment.getName().length() > 20) {
|
|
|
+ sendMag.put("thing15", new WeChatTemplateMsg(equipment.getName().substring(0, 15) + "..."));
|
|
|
+ } else {
|
|
|
+ sendMag.put("thing15", new WeChatTemplateMsg(equipment.getName()));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ sendMag.put("thing15", new WeChatTemplateMsg(clientId.substring(clientId.length() - 6)));
|
|
|
+ }
|
|
|
+ String sn = coinOrder.getSn();
|
|
|
+ if (sn.length() > 32) {
|
|
|
+ sendMag.put("character_string8", new WeChatTemplateMsg(sn.substring(0, 28) + "..."));
|
|
|
+ } else {
|
|
|
+ sendMag.put("character_string8", new WeChatTemplateMsg(sn));
|
|
|
+ }
|
|
|
+ sendMag.put("amount29", new WeChatTemplateMsg(coinOrder.getPrice().toString()));
|
|
|
+ // 支付方式
|
|
|
+ sendMag.put("const44", new WeChatTemplateMsg(checkPayType(coinOrder.getPayType())));
|
|
|
+ sendMag.put("time36", new WeChatTemplateMsg(payTime));
|
|
|
+ RestTemplate restTemplate = new RestTemplate();
|
|
|
+ Map<String, Object> sendBody = new HashMap<>();
|
|
|
+ sendBody.put("touser", openId);
|
|
|
+ sendBody.put("topcolor", "#FF0000");
|
|
|
+ sendBody.put("data", sendMag);
|
|
|
+ if(StringUtils.isEmpty(companyType) || companyType.equals("0")) {
|
|
|
+ sendBody.put("template_id", NEW_SZ_TEMPLATE_ID);
|
|
|
+ } else {
|
|
|
+ sendBody.put("template_id", NEW_SC_TEMPLATE_ID);
|
|
|
+ }
|
|
|
+ sendMessage(accessToken, restTemplate, sendBody);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 发送微信消息
|
|
|
* @param accessToken
|
|
@@ -420,4 +488,26 @@ public class TCoinOrderServiceImpl extends ServiceImpl<TCoinOrderMapper, TCoinOr
|
|
|
public List<OrderStatisticsDTO> findTotalByTime(String clientId, Date date1, Date date2) {
|
|
|
return tCoinOrderMapper.findTotalByTime( clientId, date1, date2);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 判断支付方式
|
|
|
+ */
|
|
|
+ public String checkPayType(Integer payType) {
|
|
|
+ if (payType != null) {
|
|
|
+ if (payType == 0) {
|
|
|
+ return "No-Pay";
|
|
|
+ } else if (payType == 1) {
|
|
|
+ return "Coin";
|
|
|
+ } else if (payType == 2) {
|
|
|
+ return "Paper money";
|
|
|
+ } else if (payType == 3) {
|
|
|
+ return "Mixed";
|
|
|
+ } else if (payType == 4) {
|
|
|
+ return "Credit card";
|
|
|
+ } else if (payType == 5) {
|
|
|
+ return "E-PAYMENT";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return "Other";
|
|
|
+ }
|
|
|
}
|