app.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. global.config = require('./config');
  2. process.setMaxListeners(0)
  3. var db = require('./db'),
  4. usersProvider = db.usersProvider,
  5. branchsProvider = db.branchsProvider,
  6. addrGroupProvider = db.addrGroupProvider,
  7. addrGroupMemberProvider = db.addrGroupMemberProvider;
  8. var client = require('./client');
  9. var log4jsconfig = require('./log4js.json');
  10. var log4js = require('log4js');
  11. log4js.configure(log4jsconfig);
  12. global.logger = log4js.getLogger();
  13. var syncData = function() {
  14. var i = 0;
  15. for (i = 0; i <= config.dbs.length - 1; i++) {
  16. client.deleteUsers(config.dbs[i].serverId).then(function(serverid) {
  17. return usersProvider.getAll(serverid);
  18. }).then(function(users) {
  19. client.addUsers(users);
  20. }).catch(function(err) { logger.error(err) });
  21. client.deleteBranchs(config.dbs[i].serverId).then(function(serverId) {
  22. return branchsProvider.getAll(serverId);
  23. }).then(function(branchs) {
  24. return client.addBranchs(branchs);
  25. }).catch(function(err) { logger.error(err) });
  26. // add by thm 20170908 增加同步通讯录 start
  27. client.deleteAddrGroup(config.dbs[i].serverId).then(function(serverId) {
  28. return addrGroupProvider.getAll(serverId);
  29. }).then(function(addrGroups) {
  30. return client.addAddrGroup(addrGroups);
  31. }).catch(function(err) { logger.error(err) });
  32. let serverID = config.dbs[i].serverId;
  33. client.deleteAddrGroupMember(config.dbs[i].serverId).then(function(serverId) {
  34. return addrGroupMemberProvider.getAll(serverId);
  35. }).then(function(addrGroupMembers) {
  36. return client.addAddrGroupMember(addrGroupMembers, serverID);
  37. }).catch(function(err) { logger.error(err) });
  38. // add by thm 20170908 增加同步通讯录 end
  39. }
  40. }
  41. var schedule = require('node-schedule');
  42. var rule = new schedule.RecurrenceRule();
  43. rule.hour = [0, 12];
  44. rule.minute = 0;
  45. var jop;
  46. jop = schedule.scheduleJob(rule, function() {
  47. logger.info('start asyn data!');
  48. syncData();
  49. });
  50. syncData()