Browse Source

bug处理

yingp 6 years ago
parent
commit
69089e7a1d

+ 2 - 0
uas-office-core/src/main/java/com/usoftchina/uas/office/entity/DataCenter.java

@@ -21,6 +21,8 @@ public class DataCenter implements DataSourceBean {
      */
     private String outerUrl;
 
+    public static DataCenter INSTANCE;
+
     public Integer getId() {
         return id;
     }

+ 1 - 3
uas-office-core/src/main/java/com/usoftchina/uas/office/listener/UasEventListenerFactory.java

@@ -30,8 +30,6 @@ public class UasEventListenerFactory {
      */
     private Map<String, Map<String, List<BeanMethod>>> beanMethodMap = new HashMap<>();
 
-    @Autowired
-    private DataCenterService dataCenterService;
     @Autowired
     private MasterService masterService;
 
@@ -61,7 +59,7 @@ public class UasEventListenerFactory {
      */
     public void invokeListeners(UasEvent event) {
         try {
-            DataCenter dataCenter = dataCenterService.find();
+            DataCenter dataCenter = DataCenter.INSTANCE;
             if (null == dataCenter) {
                 return;
             }

+ 3 - 0
uas-office-core/src/main/java/com/usoftchina/uas/office/service/DataCenterService.java

@@ -36,6 +36,7 @@ public class DataCenterService extends AbstractService {
             dynamicDataSourceRegister.register(dataCenter);
             ContextHolder.getApplicationContext().publishEvent(new DataCenterEvent(this, dataCenter));
         }
+        DataCenter.INSTANCE = dataCenter;
     }
 
     @Async
@@ -44,11 +45,13 @@ public class DataCenterService extends AbstractService {
         DataCenter dataCenter = find();
         if (null == dataCenter) {
             jdbcTemplate.update("insert into DataCenter(id,driverClassName,url,password) values (1,'oracle.jdbc.OracleDriver','jdbc:oracle:thin:@127.0.0.1:1521:orcl','select!#%*(')");
+            dataCenter = find();
         } else {
             if (null != dataCenter.getUsername() && null != dataCenter.getPassword() && null != dataCenter.getUrl()) {
                 dynamicDataSourceRegister.register(dataCenter);
                 ContextHolder.getApplicationContext().publishEvent(new DataCenterEvent(this, dataCenter));
             }
         }
+        DataCenter.INSTANCE = dataCenter;
     }
 }

+ 2 - 4
uas-office-core/src/main/java/com/usoftchina/uas/office/service/MasterService.java

@@ -33,8 +33,6 @@ public class MasterService extends AbstractService {
 
     private List<Master> mastersCache;
 
-    @Autowired
-    private DataCenterService dataCenterService;
     @Autowired
     private DynamicDataSourceRegister dataSourceRegister;
 
@@ -47,7 +45,7 @@ public class MasterService extends AbstractService {
 
     public synchronized void refreshMasters() throws SQLException {
         try {
-            DataCenter dataCenter = dataCenterService.find();
+            DataCenter dataCenter = DataCenter.INSTANCE;
             List<Master> masterList = null;
             if (null != dataCenter && null != dataCenter.getUsername() && null != dataCenter.getPassword() && null != dataCenter.getUrl()) {
                 dataSourceRegister.register(dataCenter);
@@ -81,7 +79,7 @@ public class MasterService extends AbstractService {
      *
      * @throws Exception
      */
-    @Scheduled(fixedDelay = 300000)
+    @Scheduled(fixedDelay = 300000, initialDelay = 30000)
     public void scheduledRefresh() throws Exception {
         refreshMasters();
     }

+ 1 - 4
uas-office-qywx/src/main/java/com/usoftchina/uas/office/qywx/controller/QywxAuthController.java

@@ -32,9 +32,6 @@ public class QywxAuthController {
     @Autowired
     private AddrBookSdk addrBookSdk;
 
-    @Autowired
-    private DataCenterService dataCenterService;
-
     @Autowired
     private RedisTemplate redisTemplate;
 
@@ -56,7 +53,7 @@ public class QywxAuthController {
     public ModelAndView authorize(@RequestParam(value = "code") String code, @RequestParam(value = "agent") String agent,
                                   @RequestParam(value = "master", required = false) String master,
                                   @RequestParam(value = "url") String url, HttpServletResponse response) throws IOException {
-        DataCenter dataCenter = dataCenterService.find();
+        DataCenter dataCenter = DataCenter.INSTANCE;
         if (null == dataCenter) {
             return new ModelAndView("/error");
         }

+ 1 - 4
uas-office-qywx/src/main/java/com/usoftchina/uas/office/qywx/listener/UasProcessListener.java

@@ -29,9 +29,6 @@ public class UasProcessListener {
     @Autowired
     private MessageSdk messageSdk;
 
-    @Autowired
-    private DataCenterService dataCenterService;
-
     @Autowired
     private UasJProcessService jProcessService;
 
@@ -61,7 +58,7 @@ public class UasProcessListener {
 
     private void sendProcessMessage(UasEvent event, Integer jpId) {
         JProcess process = jProcessService.getById(jpId);
-        DataCenter dataCenter = dataCenterService.find();
+        DataCenter dataCenter = DataCenter.INSTANCE;
         String title = process.getJp_launchername() + "的" + process.getJp_name();
         String description = "单据编号:" + process.getJp_codevalue();
         try {

+ 1 - 5
uas-office-qywx/src/main/java/com/usoftchina/uas/office/qywx/manage/controller/QywxAddrBookController.java

@@ -6,7 +6,6 @@ import com.usoftchina.uas.office.entity.DataCenter;
 import com.usoftchina.uas.office.jdbc.DataSourceHolder;
 import com.usoftchina.uas.office.qywx.service.UasEmployeeService;
 import com.usoftchina.uas.office.qywx.service.UasOrgService;
-import com.usoftchina.uas.office.service.DataCenterService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -29,12 +28,9 @@ public class QywxAddrBookController {
     @Autowired
     private AddrBookSdk addrBookSdk;
 
-    @Autowired
-    private DataCenterService dataCenterService;
-
     @PostMapping(path = "/addrbook/sync")
     public Result syncAll() {
-        DataCenter dataCenter = dataCenterService.find();
+        DataCenter dataCenter = DataCenter.INSTANCE;
         if (null == dataCenter) {
             return Result.error("数据中心未设置");
         }

+ 4 - 8
uas-office-qywx/src/main/java/com/usoftchina/uas/office/qywx/manage/controller/QywxAgentController.java

@@ -7,7 +7,6 @@ import com.usoftchina.uas.office.entity.DataCenter;
 import com.usoftchina.uas.office.jdbc.DataSourceHolder;
 import com.usoftchina.uas.office.qywx.manage.entity.QywxAgent;
 import com.usoftchina.uas.office.qywx.manage.service.QywxAgentService;
-import com.usoftchina.uas.office.service.DataCenterService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -22,15 +21,12 @@ public class QywxAgentController {
     @Autowired
     private QywxAgentService qywxAgentService;
 
-    @Autowired
-    private DataCenterService dataCenterService;
-
     @Autowired
     private QywxProperties qywxProperties;
 
     @GetMapping(path = "/agent")
     public Result getQywxAgentList() {
-        DataCenter dataCenter = dataCenterService.find();
+        DataCenter dataCenter = DataCenter.INSTANCE;
         if (null == dataCenter) {
             return Result.error("数据中心未设置");
         }
@@ -44,7 +40,7 @@ public class QywxAgentController {
 
     @PostMapping(path = "/agent")
     public Result saveQywxAgent(QywxAgent agent) {
-        DataCenter dataCenter = dataCenterService.find();
+        DataCenter dataCenter = DataCenter.INSTANCE;
         if (null == dataCenter) {
             return Result.error("数据中心未设置");
         }
@@ -59,7 +55,7 @@ public class QywxAgentController {
 
     @DeleteMapping(path = "/agent")
     public Result deleteQywxAgent(String code) {
-        DataCenter dataCenter = dataCenterService.find();
+        DataCenter dataCenter = DataCenter.INSTANCE;
         if (null == dataCenter) {
             return Result.error("数据中心未设置");
         }
@@ -80,7 +76,7 @@ public class QywxAgentController {
      */
     @GetMapping(path = "/agent/auth_url")
     public Result getAgentAuthUrl(String code) throws Exception{
-        DataCenter dataCenter = dataCenterService.find();
+        DataCenter dataCenter = DataCenter.INSTANCE;
         if (null == dataCenter) {
             return Result.error("数据中心未设置");
         }

+ 2 - 2
uas-office-qywx/src/main/java/com/usoftchina/uas/office/qywx/manage/controller/QywxSettingController.java

@@ -24,7 +24,7 @@ public class QywxSettingController {
 
     @GetMapping(path = "/setting")
     public Result getQywxSetting() {
-        DataCenter dataCenter = dataCenterService.find();
+        DataCenter dataCenter = DataCenter.INSTANCE;
         if (null == dataCenter) {
             return Result.error("数据中心未设置");
         }
@@ -38,7 +38,7 @@ public class QywxSettingController {
 
     @PostMapping(path = "/setting/corp")
     public Result saveQywxCorp(String corpId) {
-        DataCenter dataCenter = dataCenterService.find();
+        DataCenter dataCenter = DataCenter.INSTANCE;
         if (null == dataCenter) {
             return Result.error("数据中心未设置");
         }

+ 2 - 6
uas-office-qywx/src/main/java/com/usoftchina/uas/office/qywx/task/QywxCheckinTask.java

@@ -12,7 +12,6 @@ import com.usoftchina.uas.office.qywx.manage.service.QywxSettingService;
 import com.usoftchina.uas.office.qywx.service.UasCardLogService;
 import com.usoftchina.uas.office.qywx.service.UasEmployeeService;
 import com.usoftchina.uas.office.qywx.service.UasOutSignService;
-import com.usoftchina.uas.office.service.DataCenterService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -41,9 +40,6 @@ public class QywxCheckinTask {
     @Autowired
     private UasEmployeeService employeeService;
 
-    @Autowired
-    private DataCenterService dataCenterService;
-
     @Autowired
     private QywxSettingService settingService;
 
@@ -63,12 +59,12 @@ public class QywxCheckinTask {
     /**
      * 抓取打卡数据
      */
-//    @Scheduled(fixedDelay = 300000, initialDelay = 30000)
+    @Scheduled(fixedDelay = 300000, initialDelay = 30000)
     public void pullCheckinData() {
         if (!oaSdk.isAgentEnabled(OaSdk.CHECKIN_AGENT_CODE)) {
             return;
         }
-        DataCenter dataCenter = dataCenterService.find();
+        DataCenter dataCenter = DataCenter.INSTANCE;
         if (null != dataCenter.getUsername() && null != dataCenter.getPassword() && null != dataCenter.getUrl()) {
             try {
                 DataSourceHolder.set(dataCenter);