|
@@ -7,6 +7,7 @@ import org.fouram.core.base.service.BaseService;
|
|
|
import org.fouram.core.plugin.weixin.cp.util.WXCpUserUtil;
|
|
|
import org.fouram.entity.WxDepart;
|
|
|
import org.fouram.entity.WxUser;
|
|
|
+import org.fouram.entity.WxUserDepart;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
@@ -22,7 +23,7 @@ public class WxUserService extends BaseService {
|
|
|
|
|
|
private Map<Long, List<WxDepart>> userDepartMap = Maps.newHashMap();
|
|
|
|
|
|
- public void saveUsers() throws Exception {
|
|
|
+ public void saveWxUsers() throws Exception {
|
|
|
update("WxUserMapper.updateAllDelete", null);
|
|
|
|
|
|
List<WxCpUser> users = WXCpUserUtil.listAllUser();
|
|
@@ -30,6 +31,8 @@ public class WxUserService extends BaseService {
|
|
|
WxUser wxUser = null;
|
|
|
WxUser dbUser = null;
|
|
|
String userId = null;
|
|
|
+ WxUserDepart wxUserDepart = null;
|
|
|
+ WxUserDepart dbUserDepart = null;
|
|
|
for (WxCpUser user : users) {
|
|
|
userId = user.getUserId();
|
|
|
wxUser = WxUser.builder().userId(userId).email(user.getEmail()).name(user.getName())
|
|
@@ -51,9 +54,41 @@ public class WxUserService extends BaseService {
|
|
|
wxUser.setUserId(dbUser.getUserId());
|
|
|
update("WxUserMapper.update", wxUser);
|
|
|
}
|
|
|
+
|
|
|
+ for (Long departId : user.getDepartIds()) {
|
|
|
+ wxUserDepart = WxUserDepart.builder().departId(departId).userId(userId).build();
|
|
|
+ departs = getUserDepart(departId);
|
|
|
+ if (departs.size() > 0) {
|
|
|
+ wxUserDepart.setFirstDepartName(departs.get(0).getName());
|
|
|
+ wxUserDepart.setFirstDepartId(departs.get(0).getId());
|
|
|
+ }
|
|
|
+ if (departs.size() > 1) {
|
|
|
+ wxUserDepart.setSecondDepartName(departs.get(1).getName());
|
|
|
+ wxUserDepart.setSecondDepartId(departs.get(1).getId());
|
|
|
+ }
|
|
|
+ if (departs.size() > 2) {
|
|
|
+ wxUserDepart.setThirdDepartName(departs.get(2).getName());
|
|
|
+ wxUserDepart.setThirdDepartId(departs.get(2).getId());
|
|
|
+ }
|
|
|
+ if (departs.size() > 3) {
|
|
|
+ wxUserDepart.setFourthDepartName(departs.get(3).getName());
|
|
|
+ wxUserDepart.setFourthDepartId(departs.get(3).getId());
|
|
|
+ }
|
|
|
+ dbUserDepart = selectWxUserDepart(userId, departId);
|
|
|
+ if (dbUserDepart == null) {
|
|
|
+ save("WxUserMapper.saveWxUserDepart", wxUserDepart);
|
|
|
+ } else {
|
|
|
+ update("WxUserMapper.updateWxUserDepart", wxUser);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public WxUserDepart selectWxUserDepart(String userId, Long departId) throws Exception {
|
|
|
+ WxUserDepart wxUserDepart = WxUserDepart.builder().userId(userId).departId(departId).build();
|
|
|
+ return (WxUserDepart) findObject("WxUserMapper.selectWxUserDepart", wxUserDepart);
|
|
|
+ }
|
|
|
+
|
|
|
public WxUser selectById(String userId) throws Exception {
|
|
|
return (WxUser) findObject("WxUserMapper.selectById", userId);
|
|
|
}
|