Kaynağa Gözat

Merge branch 'master' of http://1.14.104.71:10880/root/ylrz_his_scrm_java into openIm

# Conflicts:
#	fs-doctor-app/src/main/java/com/fs/app/controller/DoctorController.java
#	fs-service/src/main/java/com/fs/company/service/impl/CompanyServiceImpl.java
#	fs-service/src/main/java/com/fs/erp/http/JstErpHttpServiceImpl.java
#	fs-service/src/main/java/com/fs/erp/service/impl/FsJstAftersalePushServiceImpl.java
#	fs-service/src/main/java/com/fs/sop/service/impl/QwSopLogsServiceImpl.java
caoliqin 4 gün önce
ebeveyn
işleme
02fcc720b2
18 değiştirilmiş dosya ile 106 ekleme ve 20 silme
  1. 2 2
      fs-company/src/main/java/com/fs/company/controller/qw/SopUserLogsInfoController.java
  2. 10 13
      fs-doctor-app/src/main/java/com/fs/app/controller/DoctorController.java
  3. 1 1
      fs-qw-task/src/main/java/com/fs/app/taskService/impl/SopLogsTaskServiceImpl.java
  4. 2 0
      fs-service/src/main/java/com/fs/company/service/impl/CompanyServiceImpl.java
  5. 2 0
      fs-service/src/main/java/com/fs/erp/http/JstErpHttpServiceImpl.java
  6. 2 0
      fs-service/src/main/java/com/fs/erp/service/impl/FsJstAftersalePushServiceImpl.java
  7. 1 0
      fs-service/src/main/java/com/fs/gtPush/service/impl/uniPush2ServiceImpl.java
  8. 1 0
      fs-service/src/main/java/com/fs/his/config/AgreementConfig.java
  9. 3 0
      fs-service/src/main/java/com/fs/his/mapper/FsUserMapper.java
  10. 2 0
      fs-service/src/main/java/com/fs/his/service/IFsUserService.java
  11. 16 0
      fs-service/src/main/java/com/fs/his/service/impl/FsHfpayConfigServiceImpl.java
  12. 6 0
      fs-service/src/main/java/com/fs/his/service/impl/FsUserServiceImpl.java
  13. 15 0
      fs-service/src/main/java/com/fs/qw/service/impl/AsyncSopTestService.java
  14. 3 2
      fs-service/src/main/java/com/fs/sop/service/impl/QwSopLogsServiceImpl.java
  15. 2 2
      fs-service/src/main/java/com/fs/utils/FileCacheService.java
  16. 11 0
      fs-user-app/src/main/java/com/fs/app/controller/H5Controller.java
  17. 6 0
      fs-user-app/src/main/java/com/fs/app/controller/UserController.java
  18. 21 0
      fs-user-app/src/main/resources/templates/userRemoveService.html

+ 2 - 2
fs-company/src/main/java/com/fs/company/controller/qw/SopUserLogsInfoController.java

@@ -511,7 +511,7 @@ public class SopUserLogsInfoController extends BaseController
     /**
      * 一键群发sopUserLogsInfo
      */
-    @PreAuthorize("@ss.hasPermi('qw:sopUserLogsInfo:msg')")
+    @PreAuthorize("@ss.hasPermi('qw:sopUserLogsInfo:msgSchedule')")
     @Log(title = "sendUserLogsInfoMsgType", businessType = BusinessType.INSERT,isSaveRequestData=false)
     @PostMapping("/sendUserLogsInfoMsgType")
     @RepeatSubmit
@@ -523,7 +523,7 @@ public class SopUserLogsInfoController extends BaseController
     /**
      * 一键群发sopUserLogsInfo
      */
-    @PreAuthorize("@ss.hasPermi('qw:sopUserLogsInfo:msg')")
+    @PreAuthorize("@ss.hasPermi('qw:sopUserLogsInfo:msgSop')")
     @Log(title = "sendUserLogsInfoMsgSop", businessType = BusinessType.INSERT,isSaveRequestData=false)
     @PostMapping("/sendUserLogsInfoMsgSop")
     @RepeatSubmit

+ 10 - 13
fs-doctor-app/src/main/java/com/fs/app/controller/DoctorController.java

@@ -23,6 +23,7 @@ import com.fs.his.vo.FsDoctorBillListSVO;
 import com.fs.his.vo.FsDoctorExtractListSVO;
 import com.fs.im.config.IMConfig;
 import com.fs.im.service.OpenIMService;
+import com.fs.im.service.OpenIMService;
 import com.fs.sms.service.SmsService;
 import com.fs.system.service.ISysConfigService;
 import com.github.pagehelper.PageHelper;
@@ -112,7 +113,6 @@ public class DoctorController extends  AppBaseController {
         //获取管理员token
         String userId = userIdMap.get("userId");
         String adminToken = openIMService.getAdminToken();
-
         JSONObject requestBody = new JSONObject();
         // 解析响应
         if (StringUtil.isNotEmpty(adminToken)) {
@@ -121,7 +121,7 @@ public class DoctorController extends  AppBaseController {
             requestBody = new JSONObject();
             userIds.add(userId);
             requestBody.put("checkUserIDs", userIds);
-            String body = HttpRequest.post(IMConfig.URL+"/user/account_check")
+            String body = HttpRequest.post("https://web.im.cdwjyyh.com/api/user/account_check")
                     .header("operationID", String.valueOf(System.currentTimeMillis()))
                     .header("token", adminToken)
                     .body(requestBody.toString())
@@ -129,13 +129,12 @@ public class DoctorController extends  AppBaseController {
                     .body();
             JSONObject jsonObject = new JSONObject(body);
             JSONArray results = jsonObject.getJSONObject("data").getJSONArray("results");
-            System.out.println("查询用户结果:"+results);
             if (results != null && results.length() > 0) {
                 JSONObject resultObj = results.getJSONObject(0);
                 int accountStatus = resultObj.getInt("accountStatus");
                 //未注册自动注册
                 if (accountStatus==0){
-                    String s = userId.replaceFirst("^"+"D", "");
+                    String s = userId.replaceFirst("^D", "");
                     FsDoctor fsDoctor = doctorService.selectFsDoctorByDoctorId(Long.parseLong(s));
                     if (null==fsDoctor){
                         return R.error("用户不存在");
@@ -144,30 +143,28 @@ public class DoctorController extends  AppBaseController {
                     HashMap<String, String> map = new HashMap<>();
                     map.put("userID",userId);
                     map.put("nickname",fsDoctor.getDoctorName());
-                    map.put("faceURL",StringUtils.isEmpty(fsDoctor.getAvatar())?"https://cos.his.cdwjyyh.com/fs/20240926/420728ee06e54575ba82665dedb4756b.png":fsDoctor.getAvatar());
+                    map.put("faceURL",fsDoctor.getAvatar());
                     users.add(map);
                     requestBody = new JSONObject();
-                    //userIds.add(userId);
+                    userIds.add(userId);
                     requestBody.put("users", users);
-                    String body1 = HttpRequest.post(IMConfig.URL+"/user/user_register")
+                    HttpRequest.post("https://web.im.cdwjyyh.com/api/user/user_register")
                             .header("operationID", String.valueOf(System.currentTimeMillis()))
                             .header("token", adminToken).body(requestBody.toString()).execute().body();
-                    log.info("注册结果:"+body1);
                 }
             } else {
                 return R.error("返回结果为空");
             }
+           /* HashMap<String, String> tokenMap = new HashMap<>();
+            tokenMap.put("platformID","1");
+            tokenMap.put("userID",userId);*/
             requestBody = new JSONObject();
             requestBody.put("platformID",5);
             requestBody.put("userID",userId);
-            String body1 = HttpRequest.post(IMConfig.URL+"/auth/get_user_token")
+            String body1 = HttpRequest.post("https://web.im.cdwjyyh.com/api/auth/get_user_token")
                     .header("operationID", String.valueOf(System.currentTimeMillis()))
                     .header("token", adminToken)
                     .body(requestBody.toString()).execute().body();
-            System.out.println("operationID"+System.currentTimeMillis());
-            System.out.println("adimtoken"+adminToken);
-            System.out.println("IPad地址"+IMConfig.URL+"/api/auth/get_user_token");
-            System.out.println("json接送内容:"+body1);
             JSONObject userJson = new JSONObject(body1);
             JSONObject userData = userJson.getJSONObject("data");
             String userToken = userData.getString("token");

+ 1 - 1
fs-qw-task/src/main/java/com/fs/app/taskService/impl/SopLogsTaskServiceImpl.java

@@ -93,7 +93,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
 
 
     // Batch size for database inserts, configurable via application.properties
-    private final int BATCH_SIZE = 1000;
+    private final int BATCH_SIZE = 500;
 
     @Autowired
     private IFsCourseLinkService courseLinkService;

+ 2 - 0
fs-service/src/main/java/com/fs/company/service/impl/CompanyServiceImpl.java

@@ -35,7 +35,9 @@ import com.fs.system.domain.SysConfig;
 import com.fs.system.mapper.SysConfigMapper;
 import com.fs.system.service.ISysConfigService;
 import com.google.gson.Gson;
+import com.hc.openapi.tool.util.ObjectUtils;
 import org.apache.commons.collections4.CollectionUtils;
+;
 import org.apache.commons.lang3.ObjectUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

+ 2 - 0
fs-service/src/main/java/com/fs/erp/http/JstErpHttpServiceImpl.java

@@ -13,8 +13,10 @@ import com.fs.erp.dto.*;
 import com.fs.erp.service.impl.JstTokenService;
 import com.fs.erp.utils.SignUtil;
 import com.fs.ybPay.dto.RefundOrderDTO;
+import com.hc.openapi.tool.util.ObjectUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;

+ 2 - 0
fs-service/src/main/java/com/fs/erp/service/impl/FsJstAftersalePushServiceImpl.java

@@ -3,6 +3,7 @@ package com.fs.erp.service.impl;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSON;
 import com.fs.common.utils.ExceptionUtil;
+import com.fs.common.utils.StringUtils;
 import com.fs.erp.constant.AfterSalesOrderStatusEnum;
 import com.fs.erp.constant.TaskStatusEnum;
 import com.fs.erp.domain.FsJstAftersalePush;
@@ -20,6 +21,7 @@ import com.fs.his.service.IFsStoreOrderItemService;
 import com.fs.ybPay.dto.RefundOrderDTO;
 import lombok.extern.slf4j.Slf4j;
 
+
 import org.apache.commons.lang3.StringUtils;
 import org.apache.http.util.Asserts;
 import org.springframework.beans.factory.annotation.Autowired;

+ 1 - 0
fs-service/src/main/java/com/fs/gtPush/service/impl/uniPush2ServiceImpl.java

@@ -2,6 +2,7 @@ package com.fs.gtPush.service.impl;
 
 import cn.hutool.http.HttpUtil;
 import cn.hutool.json.JSONUtil;
+import com.fasterxml.jackson.core.JsonProcessingException;
 import com.alibaba.fastjson.JSON;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fs.common.core.domain.R;

+ 1 - 0
fs-service/src/main/java/com/fs/his/config/AgreementConfig.java

@@ -11,4 +11,5 @@ public class AgreementConfig implements Serializable {
     String userHealth;
     String vipService;
     String vipAutomaticService;
+    String userRemoveService;
 }

+ 3 - 0
fs-service/src/main/java/com/fs/his/mapper/FsUserMapper.java

@@ -408,4 +408,7 @@ public interface FsUserMapper
     List<FsUser> selectFsUserListLimit(FsUser fsUser);
 
     List<FindUsersByDTO> findUsersByParam(FindUserByParam param);
+
+    @Update("update fs_user set status = 0,phone = null,union_id = null,is_del = 1 where user_id = #{userId}")
+    void removeUser(Long userId);
 }

+ 2 - 0
fs-service/src/main/java/com/fs/his/service/IFsUserService.java

@@ -221,4 +221,6 @@ public interface IFsUserService
     List<FsUser> getUserListLimit(FsUser fsUser);
 
     void handleFsUserWx(FsUser user, LoginMaWxParam param, WxMaJscode2SessionResult session);
+
+    R removeUser(Long id);
 }

+ 16 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsHfpayConfigServiceImpl.java

@@ -1,8 +1,11 @@
 package com.fs.his.service.impl;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.fs.common.utils.DateUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fs.common.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.fs.his.mapper.FsHfpayConfigMapper;
@@ -51,6 +54,12 @@ public class FsHfpayConfigServiceImpl extends ServiceImpl<FsHfpayConfigMapper, F
     @Override
     public int insertFsHfpayConfig(FsHfpayConfig fsHfpayConfig)
     {
+        if(StringUtils.isNotEmpty(fsHfpayConfig.getAppId())) {
+            FsHfpayConfig config = baseMapper.selectOne(Wrappers.<FsHfpayConfig>lambdaQuery()
+                    .eq(FsHfpayConfig::getAppId, fsHfpayConfig.getAppId()));
+            if(config != null)
+                throw new RuntimeException("appId已存在");
+        }
         fsHfpayConfig.setCreateTime(DateUtils.getNowDate());
         return baseMapper.insertFsHfpayConfig(fsHfpayConfig);
     }
@@ -64,6 +73,13 @@ public class FsHfpayConfigServiceImpl extends ServiceImpl<FsHfpayConfigMapper, F
     @Override
     public int updateFsHfpayConfig(FsHfpayConfig fsHfpayConfig)
     {
+        if(StringUtils.isNotEmpty(fsHfpayConfig.getAppId())) {
+            FsHfpayConfig config = baseMapper.selectOne(Wrappers.<FsHfpayConfig>lambdaQuery()
+                    .eq(FsHfpayConfig::getAppId, fsHfpayConfig.getAppId())
+                    .ne(FsHfpayConfig::getId, fsHfpayConfig.getId()));
+            if(config != null)
+                throw new RuntimeException("appId已存在");
+        }
         fsHfpayConfig.setUpdateTime(DateUtils.getNowDate());
         return baseMapper.updateFsHfpayConfig(fsHfpayConfig);
     }

+ 6 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsUserServiceImpl.java

@@ -1285,4 +1285,10 @@ public class FsUserServiceImpl implements IFsUserService
         }
     }
 
+    @Override
+    public R removeUser(Long id) {
+        fsUserMapper.removeUser(id);
+        return R.ok();
+    }
+
 }

+ 15 - 0
fs-service/src/main/java/com/fs/qw/service/impl/AsyncSopTestService.java

@@ -501,6 +501,21 @@ public class AsyncSopTestService {
     public void  asyncSendMsgBySopAppLink(Long externalId,String linkTile,String linkDescribe,String link){
 //        push2Service.pushSopAppLinkMsgByExternal(externalId,linkTile,linkDescribe,link);
     }
+    /**
+     * 异步录入 发送有app的客户 之 正常sop版
+     */
+    @Async("scheduledExecutorService")
+    public void  asyncSendMsgBySopAppLinkNormalIM(List<QwSopTempSetting.Content.Setting> setting,String cropId,Long companyUserId,Long fsUserId){
+
+        setting.forEach(item->{
+            try {
+                push2Service.pushSopAppLinkMsgByExternalIM(cropId,item.getLinkTitle(),item.getLinkDescribe(),item.getLinkImageUrl(),item.getAppLinkUrl(),companyUserId,fsUserId);
+            } catch (JsonProcessingException e) {
+                e.printStackTrace();
+            }
+        });
+
+    }
 
     /**
      * 异步录入 发送有app的客户 之 正常sop版

+ 3 - 2
fs-service/src/main/java/com/fs/sop/service/impl/QwSopLogsServiceImpl.java

@@ -1095,8 +1095,9 @@ public class QwSopLogsServiceImpl extends ServiceImpl<QwSopLogsMapper, QwSopLogs
 
                                 //有app的异步推送消息
                                 if (!setting.isEmpty()) {
-                                    //asyncSopTestService.asyncSendMsgBySopAppLinkNormal(setting, Long.parseLong(log.getExternalId()));
+                                    //asyncSopTestService.asyncSendMsgBySopAppLinkNormal(setting, param.getExternalId());
                                     asyncSopTestService.asyncSendMsgBySopAppLinkNormalIM(setting, param.getCorpId(),qwUser.getCompanyUserId(),log.getFsUserId());
+
                                 }
 
                                 if (log.getExpiryTime() == null) {
@@ -2042,7 +2043,7 @@ public class QwSopLogsServiceImpl extends ServiceImpl<QwSopLogsMapper, QwSopLogs
                     log.setRemark(remark);
                     log.setReceivingStatus(0L);
                     log.setSendTime(sendTime);
-                    log.setSort(nowSort);
+                    log.setSort(30000001);
                 }
                 updateQueue.add(log);
             }

+ 2 - 2
fs-service/src/main/java/com/fs/utils/FileCacheService.java

@@ -12,10 +12,10 @@ import java.nio.file.Paths;
 @Service
 public class FileCacheService {
 
-    @Value("${getTuiImg}")
+    @Value("${getTuiImg:''}")
     private String getTuiImg;
 
-    @Value("${getTuiFont}")
+    @Value("${getTuiFont:''}")
     private String getTuiFont;
 
     @Value("${tuiImgCache:0}")

+ 11 - 0
fs-user-app/src/main/java/com/fs/app/controller/H5Controller.java

@@ -75,5 +75,16 @@ public class H5Controller
         return mv;
     }
 
+    @GetMapping("/userRemoveService")
+    public ModelAndView userRemoveService( )
+    {
+        String json=configService.selectConfigByKey("his.agreementConfig");
+        AgreementConfig config= JSONUtil.toBean(json, AgreementConfig.class);
+        ModelAndView mv=new ModelAndView();
+        mv.addObject("userRemoveService", config.getUserRemoveService());
+        mv.setViewName("userRemoveService");
+        return mv;
+    }
+
 
 }

+ 6 - 0
fs-user-app/src/main/java/com/fs/app/controller/UserController.java

@@ -348,4 +348,10 @@ public class UserController extends  AppBaseController {
         }
     }
 
+    @Login
+    @ApiOperation("注销用户")
+    @PostMapping("/removeUser/{id}")
+    public R removeUser(@PathVariable("id") Long id ){
+        return userService.removeUser(id);
+    }
 }

+ 21 - 0
fs-user-app/src/main/resources/templates/userRemoveService.html

@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:th="http://www.thymeleaf.org">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+    <title >用户注销协议</title>
+    <link  rel="stylesheet"/>
+    <style>
+        body{
+            background-color:#F8F8F8;
+        }
+    </style>
+<body>
+<div th:utext="${userRemoveService}" ></div>
+<script th:inline="javascript">
+
+</script>
+
+</body>
+</html>