Browse Source

Merge branch 'fu-dev' of uskycloud/usky-cloud into master

gez 1 month ago
parent
commit
1ed2f18425

+ 4 - 1
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/MceContentServiceImpl.java

@@ -11,6 +11,7 @@ import com.usky.system.service.config.websocket.HttpClientUtils;
 import com.usky.system.service.vo.SendWeChatMessageRequestVO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
@@ -29,11 +30,13 @@ public class MceContentServiceImpl extends AbstractCrudService<MceContentMapper,
     @Autowired
     private MceMbuserService mceMbuserService;
 
+    @Value("${appUrl}")
+    private String appUrl;
+
     //异步多线程调用
     @Async("asyncServiceExecutor")
     public void sendApp(JSONObject mceReceiveVO, String cids, Integer mceReceiveId, Integer sendType){
         if (sendType.equals(0)){
-            String appUrl = "https://fc-mp-85a26092-1305-4bf1-998f-b609512c8f7b.next.bspapp.com/uniPushMessage";
             JsonObject jsonObject = new JsonObject();
             JsonObject jsonObject1 = new JsonObject();
             jsonObject1.addProperty("infoType", mceReceiveVO.get("infoType").toString());

+ 36 - 17
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/MceReceiveServiceImpl.java

@@ -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);
+                                        }
                                     }
                                 }
                             }