From 69a1b3bf45738f048361ee4ccb6bdc64fce35720 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 12 三月 2025 11:31:46 +0800
Subject: [PATCH] 更新
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncNoticeServiceImpl.java | 159 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 159 insertions(+), 0 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncNoticeServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncNoticeServiceImpl.java
new file mode 100644
index 0000000..9b0200c
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncNoticeServiceImpl.java
@@ -0,0 +1,159 @@
+package com.doumee.service.business.impl.hksync;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.param.BaseListPageResponse;
+import com.doumee.core.haikang.model.param.BaseResponse;
+import com.doumee.core.haikang.model.param.request.*;
+import com.doumee.core.haikang.model.param.respose.*;
+import com.doumee.core.haikang.service.HKService;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.dao.business.dao.MemberMapper;
+import com.doumee.dao.business.model.Member;
+import com.doumee.dao.system.join.NoticesJoinMapper;
+import com.doumee.dao.system.model.Notices;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+
+/**
+ * 娴峰悍璁垮涓氬姟Service瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2023/11/30 15:33
+ */
+@Service
+@Slf4j
+public class HkSyncNoticeServiceImpl extends HkSyncBaseServiceImpl {
+ @Autowired
+ private NoticesJoinMapper noticesJoinMapper;
+ @Autowired
+ private MemberMapper memberMapper;
+
+ @Override
+ public String syncHkNotices(String username){
+ if(Constants.DEALING_HK_NOTICE_LIST){
+ return null;
+ }
+ Constants.DEALING_HK_NOTICE_LIST =true;
+ try {
+ List<String> users = new ArrayList<>();
+ users.add(username);
+
+ List<Integer> userIds = new ArrayList<>();
+ List<Member > userList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
+ .in(Member::getPhone,users)
+ .eq(Member::getType,Constants.TWO)
+ .eq(Member::getIsdeleted,Constants.ZERO));
+ Member tu= getFromUserList(username,userList);
+ if(tu!=null){
+ userIds.add(tu.getId());
+ }else{
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝鏃犳晥璐﹀彿~");
+ }
+ if(userIds.size()>0){
+ //娓呯┖娴峰悍鍏ㄩ儴鐨勪唬鍔炴暟鎹�
+ noticesJoinMapper.delete(new UpdateWrapper<Notices>().lambda()
+ .eq(Notices::getType, Constants.noticesObjectType.hknotice)
+ .in(Notices::getUserId, userIds));
+ }
+ Date date = new Date();
+ List<GetTodoListResponse> allHkList = new ArrayList<>();
+ boolean hasNext = true;
+ int curTotal = 0;
+ int curPage = 1;
+ while (hasNext){
+ //鍒嗛〉閬嶅巻寰幆鏌ヨ鎵�鏈夐棬绂佽澶囨暟鎹�
+ GetTodoListRequest param = new GetTodoListRequest();
+// param.setComId("dfe");//鎺ュ叏閮ㄧ殑浠e姙
+ param.setUserId(username);
+ param.setStatus(1);//鍙煡寰呭鐞嗙殑鏁版嵁
+ param.setPageNo(curPage);
+ param.setLocaleType("zh_CN");
+ param.setPageSize(100);
+ BaseResponse<BaseListPageResponse<GetTodoListResponse>> response = HKService.getTodoListPage(param);
+ if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝娴峰悍鍚屾鏁版嵁澶辫触~");
+ }
+ BaseListPageResponse<GetTodoListResponse> r = response.getData();
+ curTotal += 100;
+ if(curTotal >= r.getTotal()){
+ hasNext = false;
+ }
+ if(r.getList() == null || r.getList().size()==0){
+ hasNext =false;
+ }else{
+ allHkList.addAll(r.getList());
+ }
+ curPage++;
+ }
+
+
+ if(allHkList!=null && allHkList.size()>0){
+ List<Notices> list = new ArrayList<>();
+ for(GetTodoListResponse data :allHkList){
+ Member u = getFromUserList(data.getUserId(),userList);
+ if(u==null){
+ continue;
+ }
+ userIds.add(u.getId());
+ JSONObject param = new JSONObject();
+
+ param.put("componentId","dfe");
+ param.put("msgType","tlnc");
+ param.put("componentMenuId", data.getMenuCode());
+ JSONObject c = new JSONObject();
+ c.put("method","dealTlncMsg");
+ c.put("argument", data);
+ param.put("callback",c);
+ Notices notices = new Notices();
+ notices.setCreateDate(DateUtil.getISO8601DateByStr(data.getMsgCreateTimeIso()));
+ notices.setUserId(u.getId());
+ notices.setStatus(Constants.ZERO);
+ notices.setSendacopy(Constants.ZERO);
+ //涓氬姟鐘舵�佷俊鎭� 0 =寰呭鐞�;1=宸插悓鎰�/宸插鐞�;2=宸叉嫆缁�/宸查��鍥�;3=宸茶浆浜�;4=宸叉挙閿�
+ notices.setParam1(JSONObject.toJSONString(data));
+ notices.setParam2(Constants.ZERO+"");
+ notices.setTitle(data.getMsgTitle());
+ if(notices.getCreateDate() == null){
+ notices.setCreateDate(date);
+ }
+ notices.setIsdeleted(Constants.ZERO);
+ notices.setParam4(data.getMsgCreateTimeIso());
+ notices.setParam3(data.getMsgCreateTime());
+ notices.setParam5(JSONObject.toJSONString(param));
+ notices.setType(Constants.noticesObjectType.hknotice);
+ list.add(notices);
+ }
+ if(list.size()>0){
+ noticesJoinMapper.insert(list);//鎵归噺鎻掑叆璁板綍
+ }
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }finally {
+ Constants.DEALING_HK_NOTICE_LIST =false;
+ }
+ return null;
+ }
+
+ private Member getFromUserList(String userId, List<Member> userList) {
+ if(userList!=null ){
+ for(Member u :userList){
+ if(StringUtils.equals(u.getPhone(),userId)){
+ return u;
+ }
+ }
+ }
+ return null;
+ }
+
+
+}
--
Gitblit v1.9.3