liupeng 4 lat temu
rodzic
commit
6d1e988299

+ 1 - 1
code/sapparent/sapcms/src/main/java/org/fouram/controller/TaskController.java

@@ -31,7 +31,7 @@ public class TaskController extends BaseController {
 	@ResponseBody
 	public Object syncWeixinUser() {
 		try {
-			syncSapUserToWxService.execute();
+			syncSapUserToWxService.taskBiz();
 			return AppUtil.success();
 		} catch (Exception e) {
 			LoggerUtil.error(e);

+ 1 - 0
code/sapparent/sapservice/src/main/java/org/fouram/entity/WxUser.java

@@ -18,6 +18,7 @@ public class WxUser implements Serializable {
 	private static final long serialVersionUID = 1L;
 
 	private String userId;
+	private String email;
 	private String name;
 	private Long departId;
 	private Long firstDepartId;

+ 1 - 1
code/sapparent/sapservice/src/main/java/org/fouram/mapper/SapUserMapper.xml

@@ -21,7 +21,7 @@
 			thirdOrgId=#{thirdOrgId},fourthOrgId=#{fourthOrgId},
 			firstOrgName=#{firstOrgName},secondOrgName=#{secondOrgName},
 			thirdOrgName=#{thirdOrgName},fourthOrgName=#{fourthOrgName},
-			position=#{position},formatPosition=#{formatPosition},wxPosition=#{wxPosition},
+			position=#{position},formatPosition=#{formatPosition},
 			mobile=#{mobile},formatMobile=#{formatMobile},
 			businessPhone=#{businessPhone},formatBusinessPhone=#{formatBusinessPhone},
 			gender=#{gender},email=#{email},formatEmail=#{formatEmail},

+ 7 - 6
code/sapparent/sapservice/src/main/java/org/fouram/mapper/WxUserMapper.xml

@@ -6,10 +6,10 @@
 	</select>
 
 	<insert id="save">
-		insert into wx_user(userId,name,departId,firstDepartName,firstDepartId,
-			secondDepartName,secondDepartId,sapExists,delFlag) 
-		values (#{userId},#{name},#{departId},#{firstDepartName},#{firstDepartId},
-			#{secondDepartName},#{secondDepartId},'0','0')
+		insert into wx_user(userId,name,email,departId,firstDepartName,firstDepartId,
+			secondDepartName,secondDepartId,departIds,position,sapExists,delFlag) 
+		values (#{userId},#{name},#{email},#{departId},#{firstDepartName},#{firstDepartId},
+			#{secondDepartName},#{secondDepartId},#{departIds},#{position},'0','0')
 	</insert>
 	
 	<update id="updateAllDelete">
@@ -18,9 +18,10 @@
 	
 	<update id="update">
 		update wx_user 
-		set name=#{name},departId=#{departId},firstDepartName=#{firstDepartName},
+		set name=#{name},email=#{email},departId=#{departId},firstDepartName=#{firstDepartName},
 			firstDepartId=#{firstDepartId},secondDepartName=#{secondDepartName},
-			secondDepartId=#{secondDepartId},delFlag=0
+			secondDepartId=#{secondDepartId},departIds=#{departIds},
+			position=#{position},delFlag=0
 		where userId=#{userId}
 	</update>
 	

+ 2 - 2
code/sapparent/sapservice/src/main/java/org/fouram/service/SapUserService.java

@@ -42,8 +42,8 @@ public class SapUserService extends BaseService {
 	@Autowired
 	private SapPersonalService sapPersonalService;
 
-	private static boolean isTestWXSync = true;
-	private static boolean isTestMobile = false;
+	private static boolean isTestWXSync = false;
+	private static boolean isTestMobile = true;
 
 	public void saveOrUpdateSapUsers() throws Exception {
 		HttpHeaders headers = getHttpHeaders();

+ 22 - 23
code/sapparent/sapservice/src/main/java/org/fouram/service/SyncSapUserToWxService.java

@@ -4,10 +4,7 @@ import java.util.List;
 
 import org.apache.commons.lang3.StringUtils;
 import org.fouram.core.base.service.BaseService;
-import org.fouram.core.plugin.weixin.cp.util.WXCpMessageUtil;
 import org.fouram.core.plugin.weixin.cp.util.WXCpUserUtil;
-import org.fouram.core.util.DateUtil;
-import org.fouram.core.util.LoggerUtil;
 import org.fouram.entity.SapUser;
 import org.fouram.enums.DelFlagEnum;
 import org.fouram.enums.SapUserResultEnum;
@@ -21,28 +18,30 @@ import me.chanjar.weixin.cp.bean.WxCpUser;
 public class SyncSapUserToWxService extends BaseService {
 
 	@Autowired
+	private WxUserService wxUserService;
+	@Autowired
 	private SapUserService sapUserService;
-
+	
 	@Transactional
-	public void execute() throws Exception {
-		// 1.更新所有数据无效
+	public void taskBiz() throws Exception {
+		// 1.更新微信用户
+		wxUserService.saveUsers();
+		// 2.更新所有数据无效
 		sapUserService.updateAllDelFlag(DelFlagEnum.UNABLE.getCode());
-		// 2.保存SAP用户数据
+		// 3.保存SAP用户数据
 		sapUserService.saveOrUpdateSapUsers();
-		// 3.根据SAP用户数据情况更新result字段
+		// 4.根据SAP用户数据情况更新result字段
 		sapUserService.updateResultByCondition();
-		// 4.更新用户头像
+		// 5.更新用户头像
 		this.updateAvatar();
-		// 5.发送禁用企业微信账号信息
-		this.sendQuitUserMsg();
 
 		// 部分数据插入微信未成功,处理数据后,重新插入
-		List<SapUser> unSyncSapUsers = sapUserService.selectUnSyncList();
-		LoggerUtil.info("部分未成功插入数据->" + unSyncSapUsers.size());
-		for (SapUser sapUser : unSyncSapUsers) {
-			sapUserService.updateSyncWxResult(sapUser.getPersonId());
-		}
-		LoggerUtil.info("同步结束->" + DateUtil.getTime());
+//		List<SapUser> unSyncSapUsers = sapUserService.selectUnSyncList();
+//		LoggerUtil.info("部分未成功插入数据->" + unSyncSapUsers.size());
+//		for (SapUser sapUser : unSyncSapUsers) {
+//			sapUserService.updateSyncWxResult(sapUser.getPersonId());
+//		}
+//		LoggerUtil.info("同步结束->" + DateUtil.getTime());
 	}
 
 	// 更新用户头像
@@ -58,10 +57,10 @@ public class SyncSapUserToWxService extends BaseService {
 	}
 
 	// 发送禁用企业微信账号信息
-	private void sendQuitUserMsg() throws Exception {
-		List<SapUser> unableSapUsers = sapUserService.selectListByDelFlag(DelFlagEnum.UNABLE.getCode());
-		if (unableSapUsers.size() > 0) {
-			WXCpMessageUtil.sendQuitUserMsg("离职用户" + unableSapUsers.size() + "个,请确认");
-		}
-	}
+//	private void sendQuitUserMsg() throws Exception {
+//		List<SapUser> unableSapUsers = sapUserService.selectListByDelFlag(DelFlagEnum.UNABLE.getCode());
+//		if (unableSapUsers.size() > 0) {
+//			WXCpMessageUtil.sendQuitUserMsg("离职用户" + unableSapUsers.size() + "个,请确认");
+//		}
+//	}
 }

+ 12 - 5
code/sapparent/sapservice/src/main/java/org/fouram/service/WxUserService.java

@@ -24,15 +24,18 @@ public class WxUserService extends BaseService {
 
 	public void saveUsers() throws Exception {
 		update("WxUserMapper.updateAllDelete", null);
-		
+
 		List<WxCpUser> users = WXCpUserUtil.listAllUser();
 		List<WxDepart> departs = null;
 		WxUser wxUser = null;
 		WxUser dbUser = null;
 		String userId = null;
+		StringBuffer sb = null;
 		for (WxCpUser user : users) {
+			sb = new StringBuffer();
 			userId = user.getUserId();
-			wxUser = WxUser.builder().userId(userId).name(user.getName()).departId(user.getDepartIds()[0]).build();
+			wxUser = WxUser.builder().userId(userId).email(user.getEmail()).name(user.getName())
+					.departId(user.getDepartIds()[0]).build();
 			departs = getUserDepart(wxUser.getDepartId());
 			if (departs.size() > 0) {
 				wxUser.setFirstDepartName(departs.get(0).getName());
@@ -43,7 +46,11 @@ public class WxUserService extends BaseService {
 				wxUser.setSecondDepartId(departs.get(1).getId());
 			}
 			wxUser.setPosition(user.getPosition());
-			wxUser.setDepartIds(user.getDepartIds().toString().replace("[", ",").replace("]", ",").replace(" ", ""));
+			sb.append(",");
+			for(Long departId : user.getDepartIds()) {
+				sb.append(departId).append(",");
+			}
+			wxUser.setDepartIds(sb.toString());
 			dbUser = selectById(userId);
 			if (dbUser == null) {
 				save("WxUserMapper.save", wxUser);
@@ -53,7 +60,7 @@ public class WxUserService extends BaseService {
 			}
 		}
 	}
-	
+
 	public WxUser selectById(String userId) throws Exception {
 		return (WxUser) findObject("WxUserMapper.selectById", userId);
 	}
@@ -64,7 +71,7 @@ public class WxUserService extends BaseService {
 		}
 		return userDepartMap.get(departId);
 	}
-	
+
 	@SuppressWarnings("unchecked")
 	public List<String> selectAllUserIds() throws Exception {
 		return (List<String>) findList("WxUserMapper.selectAllUserIds", null);

+ 7 - 7
code/sapparent/sapservice/src/main/resources/env/develop/jdbc.properties

@@ -1,9 +1,9 @@
-jdbc_url=jdbc:mysql://118.25.182.250:3306/cmc_sap?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&failOverReadOnly=false
-jdbc_driverClassName=com.mysql.jdbc.Driver
-jdbc_username=cmc
-jdbc_password=123456
-
-#jdbc_url=jdbc:mysql://localhost:3306/sap?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&failOverReadOnly=false
+#jdbc_url=jdbc:mysql://118.25.182.250:3306/cmc_sap?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&failOverReadOnly=false
 #jdbc_driverClassName=com.mysql.jdbc.Driver
-#jdbc_username=root
+#jdbc_username=cmc
 #jdbc_password=123456
+
+jdbc_url=jdbc:mysql://localhost:3306/sap?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&failOverReadOnly=false
+jdbc_driverClassName=com.mysql.jdbc.Driver
+jdbc_username=root
+jdbc_password=123456