Jelajahi Sumber

扫码签到,增加角色查询,消息接口修改,增加岗位消息发送

wy 2 tahun lalu
induk
melakukan
d26a390f7b

+ 3 - 0
ibps-common-root/modules/msg-biz/src/main/java/com/lc/ibps/common/msg/persistence/dao/InnerMessageQueryDao.java

@@ -7,6 +7,7 @@ import com.lc.ibps.api.base.page.Page;
 import com.lc.ibps.api.base.query.QueryFilter;
 import com.lc.ibps.base.framework.persistence.dao.IQueryDao;
 import com.lc.ibps.common.msg.persistence.entity.InnerMessagePo;
+import com.lc.ibps.org.party.persistence.entity.PartyPositionPo;
 
 /**
  * 内部消息  查询DAO接口。
@@ -26,4 +27,6 @@ public interface InnerMessageQueryDao extends IQueryDao<String,InnerMessagePo>{
 	List<InnerMessagePo> queryReceiveMsgByUserId(Map<String, Object> params, Page page);
 
 	List<InnerMessagePo> queryMsg(QueryFilter queryFilter);
+
+	List<InnerMessagePo> findByPosition(String userId,String positionId);
 }

+ 24 - 1
ibps-common-root/modules/msg-biz/src/main/java/com/lc/ibps/common/msg/persistence/dao/impl/InnerMessageQueryDaoImpl.java

@@ -1,8 +1,11 @@
 package com.lc.ibps.common.msg.persistence.dao.impl;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import com.lc.ibps.org.party.persistence.entity.PartyPositionPo;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import com.lc.ibps.api.base.constants.IdentityConstants;
@@ -61,5 +64,25 @@ public class InnerMessageQueryDaoImpl extends MyBatisQueryDaoImpl<String, InnerM
 		queryFilter.addParamsFilter("systemOwner", InnerMessagePo.SYSTEM_OWNER);
 		return this.queryByQueryFilter("queryMsg", queryFilter);
 	}
-}
+
+	 @Override
+	 public List<InnerMessagePo> findByPosition(String userId,String positionId) {
+		 HashMap<String,Object> params = new HashMap<>();
+		// params.put("userId",userId);
+		 //遍历岗位查询
+		// StringBuffer buffer = new StringBuffer();
+		 String[] split = positionId.split(",");
+		 params.put("split",split);
+//		 for(int i=0;i<split.length;i++){
+//			if(i==split.length-1){
+//				buffer.append("'%"+ split[i] +"%'");
+//			}else{
+//				buffer.append("'%"+ split[i] +"%' or b.receiver_id_ like ");
+//			}
+//		 }
+//		 params.put("position",buffer);
+//		 System.out.println(params);
+		 return this.findByKey("findByPosition",params);
+	 }
+ }
 

+ 3 - 0
ibps-common-root/modules/msg-biz/src/main/java/com/lc/ibps/common/msg/repository/InnerMessageRepository.java

@@ -20,6 +20,9 @@ public interface InnerMessageRepository extends IRepository<String, InnerMessage
 
 	List<InnerMessagePo> queryMsgByUserId(String userId,Map<String, Object> params,Page page);
 
+
+
+	List<InnerMessagePo> findByPosition(String userId);
 	/**
 	 * 获得未读消息数
 	 *

+ 24 - 0
ibps-common-root/modules/msg-biz/src/main/java/com/lc/ibps/common/msg/repository/impl/InnerMessageRepositoryImpl.java

@@ -6,6 +6,10 @@ import java.util.Map;
 
 import javax.annotation.Resource;
 
+import com.lc.ibps.base.web.context.ContextUtil;
+import com.lc.ibps.cloud.entity.APIResult;
+import com.lc.ibps.org.api.IPartyPositionService;
+import com.lc.ibps.org.party.persistence.entity.PartyPositionPo;
 import org.springframework.stereotype.Repository;
 
 import com.lc.ibps.api.base.model.PartyEntity;
@@ -31,6 +35,8 @@ public class InnerMessageRepositoryImpl extends AbstractRepository<String, Inner
 	private InnerMessageQueryDao innerMessageQueryDao;
 	@Resource
 	private IPartyEntityService partyEntityService;
+
+	private static IPartyPositionService partyPositionService = AppUtil.getBean(IPartyPositionService.class);
 	
 	@Override
 	public InnerMessage newInstance() {
@@ -99,6 +105,23 @@ public class InnerMessageRepositoryImpl extends AbstractRepository<String, Inner
 		return innerMessageQueryDao.queryReceiveMsgByUserId(params, page);
 	}
 
+	@Override
+	public List<InnerMessagePo> findByPosition(String userId) {
+		String id = ContextUtil.getCurrentUserId();
+		//根据id查询所以的岗位
+		APIResult<List<PartyPositionPo>> byUserId = partyPositionService.findByUserId(id);
+		List<PartyPositionPo> data = byUserId.getData();
+		String positionId = new String();
+		for(int i =0;i<data.size();i++){
+			if(i==data.size()-1){
+				positionId=positionId + data.get(i).getId();
+			}else{
+				positionId=positionId + data.get(i).getId()+",";
+			}
+		}
+		return innerMessageQueryDao.findByPosition(userId,positionId);
+	}
+
 	@Override
 	public int getCountMsgByUserId(String userId) {
 		Map<String, Object> params = new HashMap<String, Object>();
@@ -107,6 +130,7 @@ public class InnerMessageRepositoryImpl extends AbstractRepository<String, Inner
 		return queryMsgByUserId(userId, params, null).size();
 	}
 
+
 	@Override
 	public List<InnerMessagePo> queryMsg(QueryFilter queryFilter) {
 		return innerMessageQueryDao.queryMsg(queryFilter);

+ 2 - 0
ibps-comp-root/modules/comp-message-server/src/main/java/com/lc/ibps/cloud/message/provider/InnerMessageProvider.java

@@ -208,6 +208,8 @@ public class InnerMessageProvider  extends GenericProvider implements IInnerMess
 			Map<String,Object> params =  new HashMap<String,Object>();		
 			params.put("isRead", InnerMessagePo.IS_NOT_READ);
 			List<InnerMessagePo> messageList = innerMessageRepository.queryMsgByUserId(ContextUtil.getCurrentUserId(), params, page);
+			List<InnerMessagePo> mess =innerMessageRepository.findByPosition(ContextUtil.getCurrentUserId());
+			messageList.addAll(mess);
 			for (InnerMessagePo po : messageList) {
 				po.setDurationTime(	DateUtil.timeAgo(po.getCreateTime()));
 			}

+ 24 - 0
ibps-model-root/modules/msg-model/src/main/resources/com/lc/ibps/msg/persistence/mapping/InnerMessage.map.xml

@@ -143,4 +143,28 @@
 			ORDER BY CREATE_TIME_ DESC
 		</if>
 	</select>
+
+	<select id="findByPosition" resultType="com.lc.ibps.common.msg.persistence.entity.InnerMessagePo">
+		SELECT
+		a.id_ id,SUBJECT_ SUBJECT ,OWNER_ID_ ownerId,OWNER_ ownerName ,MESSAGE_TYPE_  messageType,CREATE_TIME_ createTime,CANREPLY_ canreply,
+		IS_PUBLIC_  isPublic,FILE_MSG_ fileMsg,RECEIVER_TIME_  receiverTime ,TABLE_ID_ tableId , TABLE_NAME_ tableName , TASK_ID_ taskId, CONTENT_ content
+		FROM ibps_msg_inner a JOIN ibps_msg_receiver b ON a.id_ = b.MSG_ID_ LEFT JOIN ibps_msg_read c ON a.id_ = c.msg_id_
+		<if test="split !=null and split.length>0 ">
+		where
+			<foreach collection="split" item="item" index="index" separator="OR">
+				b.receiver_id_ LIKE CONCAT('%',#{item},'%')
+		</foreach>
+		</if>
+		ORDER BY a.create_time_ DESC
+	</select>
+
+
+
+
+
+
+
+
+
+
 </mapper>

+ 4 - 0
ibps-model-root/modules/org-model/src/main/resources/com/lc/ibps/org/party/persistence/mapping/PartyEmployee.map.xml

@@ -562,4 +562,8 @@
 			</if>
 			ORDER BY CREATE_TIME_ DESC
 	</select>
+
+	<select id="findByNameAndMo" resultMap="PartyEmployee">
+		select id_ from ibps_party_employee where name_ = #{name} and mobile_ = #{mobile}
+	</select>
 </mapper>

+ 3 - 2
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/wx/dao/UserRole.java → ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/wx/dao/UserRoleMapper.java

@@ -1,12 +1,13 @@
 package com.lc.ibps.wx.dao;
 
+import com.lc.ibps.wx.entity.UserRole;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
 @Mapper
-public interface UserRole {
-    List<com.lc.ibps.wx.entity.UserRole> findByUserId(@Param("userId") String userId);
+public interface UserRoleMapper {
+   List<UserRole> findByUserId(@Param("userId") String userId);
 
 }

+ 3 - 3
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/wx/services/impl/UserRoleServiceImps.java

@@ -1,6 +1,6 @@
 package com.lc.ibps.wx.services.impl;
 
-import com.lc.ibps.wx.dao.UserRole;
+import com.lc.ibps.wx.dao.UserRoleMapper;
 import com.lc.ibps.wx.services.UserRoleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -11,11 +11,11 @@ import java.util.List;
 public class UserRoleServiceImps implements UserRoleService {
 
     @Autowired
-    private UserRole userRole;
+    private UserRoleMapper userRoleMapper;
 
     @Override
     public String findUserRole(String userid) {
-        List<com.lc.ibps.wx.entity.UserRole> userRoleList = userRole.findByUserId(userid);
+        List<com.lc.ibps.wx.entity.UserRole> userRoleList = userRoleMapper.findByUserId(userid);
         String str = new String();
         for (int i = 0;i<userRoleList.size();i++){
             if(i==userRoleList.size()-1){

+ 18 - 5
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/wx/services/impl/wxServicesImpl.java

@@ -5,7 +5,6 @@ import cn.hutool.core.util.IdUtil;
 import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.esotericsoftware.minlog.Log;
 import com.lc.ibps.cloud.entity.APIPageList;
 import com.lc.ibps.cloud.entity.APIRequest;
 import com.lc.ibps.cloud.entity.APIResult;
@@ -15,7 +14,6 @@ import com.lc.ibps.org.party.persistence.entity.PartyEmployeePo;
 import com.lc.ibps.sysdata.dao.UpdateDataTableDao;
 import com.lc.ibps.wx.dao.FileAttachmentMapper;
 import com.lc.ibps.wx.dao.HyqdDao;
-import com.lc.ibps.wx.dao.UserRole;
 import com.lc.ibps.wx.dao.WxyhDao;
 import com.lc.ibps.wx.entity.*;
 import com.lc.ibps.wx.services.UserRoleService;
@@ -24,7 +22,6 @@ import com.lc.ibps.wx.services.wxServices;
 
 
 import lombok.extern.slf4j.Slf4j;
-import lombok.val;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
@@ -33,7 +30,6 @@ import org.springframework.web.bind.annotation.*;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Optional;
 import java.util.concurrent.TimeUnit;
 
 
@@ -64,6 +60,8 @@ public class wxServicesImpl implements wxServices {
     @Autowired
     FileAttachmentMapper fileAttachmentMapper;
 
+
+    //直接签到
     public APIResult<Void> openId(@RequestParam String code, @RequestParam String state) {
         APIResult<Void> apiResult = new APIResult<>();
         log.info("签到:",code+"  "+state);
@@ -99,6 +97,21 @@ public class wxServicesImpl implements wxServices {
             hyqd.setHuiYiChangJing(state);
             hyqd.setShouJi(wxUser.getShouJi());
             hyqd.setQianDaoShiJian(DateUtil.now()); //存放签到时间
+            //获取系统用户添加签到表
+            APIRequest request = new APIRequest(1,10);
+            request.addParameters("Q^NAME_^SL",map.get("name").toString());
+            request.addParameters("Q^MOBILE_^SL",map.get("mobile").toString());
+            APIResult<APIPageList<PartyEmployeePo>> query = employeeServiceClient.query(request);
+            List<PartyEmployeePo> result = query.getData().getDataResult();
+            PartyEmployeePo employeePo = result.get(0);
+            hyqd.setBuMen(employeePo.getPositions());//部门
+            String role = userRoleService.findUserRole(employeePo.getId());
+            hyqd.setGangWeiJiaoSe(!role.isEmpty() ? role:""); //角色
+            UserSituation user = userSituationService.findByUserId(hyqd.getId());
+            FileAttachment file = fileAttachmentMapper.findByid(user.getQianZiTuWen());
+            hyqd.setQianZiTuWen(!file.getId().isEmpty()?file.getId():"");//签字图文
+            hyqd.setTuWenMingCheng(!file.fileName.isEmpty()?file.fileName:"");//图文名称
+
             hyqdDao.add(hyqd);
             apiResult.setMessage("签到成功!");
             apiResult.setState(JcjdConfig.successful);
@@ -159,7 +172,7 @@ public class wxServicesImpl implements wxServices {
      */
 
 
-
+    //注册并签到
     public APIResult<Void> addWxUser(@RequestBody String data){
         APIResult<Void> apiResult = new APIResult<>();
         System.out.println(data);

+ 1 - 1
ibps-provider-root/modules/provider-business/src/main/resources/com/lc/ibps/klimsibps/mapping/UserRole.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.lc.ibps.wx.dao.UserRole">
+<mapper namespace="com.lc.ibps.wx.dao.UserRoleMapper">
     <!--<cache type="net.oschina.j2cache.mybatis.J2CacheAdapter"/>-->
     <resultMap id="UserRole" type="com.lc.ibps.wx.entity.UserRole">
         <id property="id" column="ID_" jdbcType="VARCHAR"/>