|
@@ -21,6 +21,7 @@ import com.usky.system.mapper.MceReceiveMapper;
|
|
|
import com.usky.system.mapper.SysUserMapper;
|
|
|
import com.usky.system.service.*;
|
|
|
import com.usky.common.mybatis.core.AbstractCrudService;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
@@ -35,6 +36,7 @@ import java.util.*;
|
|
|
* @author han
|
|
|
* @since 2024-05-09
|
|
|
*/
|
|
|
+@Slf4j
|
|
|
@Service
|
|
|
public class MceReceiveServiceImpl extends AbstractCrudService<MceReceiveMapper, MceReceive> implements MceReceiveService {
|
|
|
@Autowired
|
|
@@ -237,20 +239,22 @@ public class MceReceiveServiceImpl extends AbstractCrudService<MceReceiveMapper,
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void add(String mceReceive){
|
|
|
+ public void add(String mceReceive) {
|
|
|
JSONObject mceReceiveVO = JSONObject.parseObject(mceReceive);
|
|
|
- String infoTypeName = sysDictDataService.selectDictLabel("message_type",mceReceiveVO.get("infoType").toString());
|
|
|
+ String infoTypeName = sysDictDataService.selectDictLabel("message_type", mceReceiveVO.get("infoType").toString());
|
|
|
if (!mceReceiveVO.containsKey("infoTypeName")) {
|
|
|
- mceReceiveVO.put("infoTypeName",infoTypeName);
|
|
|
+ mceReceiveVO.put("infoTypeName", infoTypeName);
|
|
|
}
|
|
|
+
|
|
|
List<SysUser> list = userMapper.tenantIdUserList(SecurityUtils.getTenantId());
|
|
|
MceContent mceContent = new MceContent();
|
|
|
Integer contentId = 0;
|
|
|
+
|
|
|
if (CollectionUtils.isNotEmpty(list)) {
|
|
|
List<Integer> userIds = new ArrayList<>();
|
|
|
for (int g = 0; g < list.size(); g++) {
|
|
|
userIds.add(list.get(g).getUserId().intValue());
|
|
|
- if (mceReceiveVO.get("userName").equals(list.get(g).getUserName())){
|
|
|
+ if (mceReceiveVO.get("userName").equals(list.get(g).getUserName())) {
|
|
|
mceContent.setInfoTitle(mceReceiveVO.get("infoTitle").toString());
|
|
|
mceContent.setInfoContent(mceReceiveVO.get("infoContent").toString());
|
|
|
mceContent.setInfoType(mceReceiveVO.get("infoType").toString());
|
|
@@ -262,24 +266,27 @@ public class MceReceiveServiceImpl extends AbstractCrudService<MceReceiveMapper,
|
|
|
contentId = mceContent.getId();
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
List<Integer> userIds1;
|
|
|
if (mceReceiveVO.containsKey("userIds")) {
|
|
|
userIds1 = convertObjectToList(mceReceiveVO.get("userIds"));
|
|
|
userIds.retainAll(userIds1);
|
|
|
}
|
|
|
+
|
|
|
LambdaQueryWrapper<MceMbuser> lambdaQuery3 = Wrappers.lambdaQuery();
|
|
|
- lambdaQuery3.in(MceMbuser::getUserId,userIds);
|
|
|
+ lambdaQuery3.in(MceMbuser::getUserId, userIds);
|
|
|
List<MceMbuser> list3 = mceMbuserService.list(lambdaQuery3);
|
|
|
+
|
|
|
for (int i = 0; i < list.size(); i++) {
|
|
|
- if (CollectionUtils.isNotEmpty(list3)){
|
|
|
+ if (CollectionUtils.isNotEmpty(list3)) {
|
|
|
for (int j = 0; j < list3.size(); j++) {
|
|
|
- if (list.get(i).getUserId().equals(list3.get(j).getUserId())){
|
|
|
+ if (list.get(i).getUserId().equals(list3.get(j).getUserId())) {
|
|
|
MceReceive mceReceive1 = new MceReceive();
|
|
|
mceReceive1.setReceiverId(list.get(i).getUserId().intValue());
|
|
|
mceReceive1.setContentId(contentId);
|
|
|
mceReceive1.setReadFlag(0);
|
|
|
mceReceive1.setInfoType(mceReceiveVO.get("infoType").toString());
|
|
|
- mceReceive1.setModuleId((int)mceReceiveVO.get("id"));
|
|
|
+ mceReceive1.setModuleId((int) mceReceiveVO.get("id"));
|
|
|
if (mceReceiveVO.containsKey("userName")) {
|
|
|
mceReceive1.setIssuerName(mceReceiveVO.get("userName").toString());
|
|
|
}
|
|
@@ -287,25 +294,37 @@ public class MceReceiveServiceImpl extends AbstractCrudService<MceReceiveMapper,
|
|
|
mceReceive1.setCreateBy(mceReceiveVO.get("userName").toString());
|
|
|
mceReceive1.setCreateTime(LocalDateTime.now());
|
|
|
mceReceive1.setTenantId(list.get(i).getTenantId());
|
|
|
- if (mceReceiveVO.get("userName").equals(list.get(i).getUserName())){
|
|
|
+ if (mceReceiveVO.get("userName").equals(list.get(i).getUserName())) {
|
|
|
mceReceive1.setDeptId(list.get(i).getDeptId().intValue());
|
|
|
}
|
|
|
this.save(mceReceive1);
|
|
|
Integer mceReceiveId = mceReceive1.getId();
|
|
|
+
|
|
|
LambdaQueryWrapper<MceSetting> lambdaQuery = Wrappers.lambdaQuery();
|
|
|
- lambdaQuery.eq(MceSetting::getCreateBy,list.get(i).getUserName());
|
|
|
+ lambdaQuery.eq(MceSetting::getCreateBy, list.get(i).getUserName());
|
|
|
List<MceSetting> list1 = mceSettingService.list(lambdaQuery);
|
|
|
- if (CollectionUtils.isNotEmpty(list1)){
|
|
|
+
|
|
|
+ if (CollectionUtils.isNotEmpty(list1)) {
|
|
|
JSONObject appMode = JSONObject.parseObject(list1.get(0).getAppMode());
|
|
|
JSONObject wcMode = JSONObject.parseObject(list1.get(0).getWcMode());
|
|
|
- if (appMode.get(mceReceiveVO.get("infoType").toString()).equals(true)){
|
|
|
- if (list.get(i).getUserId().equals(list3.get(j).getUserId()) && StringUtils.isNotBlank(list3.get(j).getCids())){
|
|
|
- mceContentService.sendApp(mceReceiveVO,list3.get(j).getCids(),0,0);
|
|
|
+
|
|
|
+ if (appMode.get(mceReceiveVO.get("infoType").toString()).equals(true)) {
|
|
|
+ if (list.get(i).getUserId().equals(list3.get(j).getUserId()) && StringUtils.isNotBlank(list3.get(j).getCids())) {
|
|
|
+ try {
|
|
|
+ mceContentService.sendApp(mceReceiveVO, list3.get(j).getCids(), 0, 0);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("Failed to send app message for userId: {}, error: {}", list3.get(j).getUserId(), e.getMessage(), e);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- if (wcMode.get(mceReceiveVO.get("infoType").toString()).equals(true)){
|
|
|
- if (list.get(i).getUserId().equals(list3.get(j).getUserId()) && StringUtils.isNotBlank(list3.get(j).getOpenid())){
|
|
|
- mceContentService.sendApp(mceReceiveVO,list3.get(j).getOpenid(),mceReceiveId,1);
|
|
|
+
|
|
|
+ if (wcMode.get(mceReceiveVO.get("infoType").toString()).equals(true)) {
|
|
|
+ if (list.get(i).getUserId().equals(list3.get(j).getUserId()) && StringUtils.isNotBlank(list3.get(j).getOpenid())) {
|
|
|
+ try {
|
|
|
+ mceContentService.sendApp(mceReceiveVO, list3.get(j).getOpenid(), mceReceiveId, 1);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("Failed to send WeChat message for userId: {}, error: {}", list3.get(j).getUserId(), e.getMessage(), e);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|