|
|
@@ -25,6 +25,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import io.seata.spring.annotation.GlobalTransactional;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
+import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
|
|
|
import org.springblade.client.entity.CorpsDesc;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.secure.utils.SecureUtil;
|
|
|
@@ -45,10 +46,15 @@ import org.springblade.system.user.entity.User;
|
|
|
import org.springblade.system.user.entity.UserInfo;
|
|
|
import org.springblade.system.user.enums.UserEnum;
|
|
|
import org.springblade.system.user.feign.IUserClient;
|
|
|
+import org.springblade.weChat.feign.IWechatClient;
|
|
|
+import org.springblade.weChat.message.dto.WxMpTemplateDto;
|
|
|
+import org.springblade.weChat.message.entity.WechatMessageConfigurationItem;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
|
|
|
|
+import java.lang.reflect.Method;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.Date;
|
|
|
@@ -77,6 +83,8 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, PjCorpsDe
|
|
|
private final IUserClient userClient;
|
|
|
private final ISysClient sysClient;
|
|
|
|
|
|
+ private final IWechatClient wechatClient;
|
|
|
+
|
|
|
|
|
|
static final int GB_SP_DIFF = 160;
|
|
|
// 存放国标一级汉字不同读音的起始区位码
|
|
|
@@ -985,7 +993,57 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, PjCorpsDe
|
|
|
corpsDesc.setUpdateUser(AuthUtil.getUserId());
|
|
|
baseMapper.updateById(corpsDesc);
|
|
|
}
|
|
|
-
|
|
|
+ }
|
|
|
+ PjShip item = new PjShip();
|
|
|
+ //给角色为财务的人发送消息
|
|
|
+ R<String> clientDeptIds = sysClient.getRoleIds(AuthUtil.getTenantId(), "客服");
|
|
|
+ StringBuilder openIds = new StringBuilder();
|
|
|
+ if (clientDeptIds.isSuccess() && StringUtils.isNotBlank(clientDeptIds.getData())) {
|
|
|
+ R<List<User>> userList = userClient.listUserByRoleId(clientDeptIds.getData(), AuthUtil.getTenantId(), AuthUtil.getDeptId());
|
|
|
+ if (userList.isSuccess() && CollectionUtils.isNotEmpty(userList.getData())) {
|
|
|
+ for (User datum : userList.getData()) {
|
|
|
+ if (ObjectUtils.isNotNull(datum.getOaOpenId())) {
|
|
|
+ openIds.append(datum.getOaOpenId()).append(",");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
|
|
|
+ String date1 = format.format(new Date());
|
|
|
+ System.out.println("=========发送人openIds=========" + openIds);
|
|
|
+ if (ObjectUtils.isNotNull(openIds)) {
|
|
|
+ R<List<WechatMessageConfigurationItem>> res = wechatClient.getTemplateType("1", AuthUtil.getTenantId());
|
|
|
+ if (res.isSuccess() && ObjectUtils.isNotNull(res.getData())) {
|
|
|
+ item.setDate(date1);
|
|
|
+ item.setGoodsNames("商品json");
|
|
|
+ item.setCustomerName("客户名称");
|
|
|
+ List<WxMpTemplateData> data = new ArrayList<>();
|
|
|
+ for (WechatMessageConfigurationItem items : res.getData()) {
|
|
|
+ try {
|
|
|
+ // 根据方法名获取对应的Method对象
|
|
|
+ Method method = item.getClass().getMethod(items.getMethod());
|
|
|
+ // 调用get方法并打印结果
|
|
|
+ Object result = method.invoke(item);
|
|
|
+ System.out.println(result);
|
|
|
+ if (ObjectUtils.isNotNull(result)) {
|
|
|
+ data.add(new WxMpTemplateData(items.getDataValue(), result.toString()));
|
|
|
+ } else {
|
|
|
+ data.add(new WxMpTemplateData(items.getDataValue(), "无"));
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!data.isEmpty()) {
|
|
|
+ WxMpTemplateDto wxMpTemplateDto = new WxMpTemplateDto();
|
|
|
+ wxMpTemplateDto.setOpenid(openIds.substring(0, openIds.length() - 1));
|
|
|
+ wxMpTemplateDto.setTenantId(AuthUtil.getTenantId());
|
|
|
+ wxMpTemplateDto.setType("1");
|
|
|
+ wxMpTemplateDto.setData(data);
|
|
|
+ String rest = wechatClient.sendMessageNew(wxMpTemplateDto);
|
|
|
+ System.out.println("=========发送返回值=========" + rest);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
return R.data(corpsDesc);
|
|
|
}
|