|  |  | 
 |  |  | import com.alibaba.fastjson.JSONObject; | 
 |  |  | import com.doumee.biz.system.SystemDictDataBiz; | 
 |  |  | import com.doumee.core.constants.Constants; | 
 |  |  | import com.doumee.core.dingding.DingDingNotice; | 
 |  |  | import com.doumee.core.exception.BusinessException; | 
 |  |  | import com.doumee.core.mqtt.config.MqttClientInit; | 
 |  |  | import com.doumee.core.utils.DateUtil; | 
 |  |  | import com.doumee.core.utils.HttpsUtil; | 
 |  |  | import com.doumee.core.wx.WxPayProperties; | 
 |  |  | import com.doumee.dao.business.model.Goodsorder; | 
 |  |  | import com.doumee.dao.business.model.Sites; | 
 |  |  | import com.doumee.dao.system.model.SystemDictData; | 
 |  |  | import com.doumee.service.business.*; | 
 |  |  | import com.doumee.service.system.SystemDictDataService; | 
 |  |  | 
 |  |  |     /** | 
 |  |  |      * @throws Exception | 
 |  |  |      */ | 
 |  |  |     @Scheduled(cron = "0 0 10 * * ? ") | 
 |  |  |     public void getWxBill() throws Exception { | 
 |  |  |         //前一天的數據 | 
 |  |  |         Date ydate = DateUtil.addDaysToDate(new Date(), -1); | 
 |  |  | 
 |  |  |      * 30 秒刷新一次 | 
 |  |  |      * @throws Exception | 
 |  |  |      */ | 
 |  |  |     @Scheduled(cron = "0/30 * * * * ? ") | 
 |  |  |     @Scheduled(cron = "0/15 * * * * ? ") | 
 |  |  |     public void autoRefreshLockStatus() throws Exception { | 
 |  |  |         log.info("=====================开始定时刷新骑行中的数充值未开锁失败======================="); | 
 |  |  |         memberRidesService.autoRefreshLockStatus(); | 
 |  |  |        memberRidesService.autoRefreshLockStatus(); | 
 |  |  |         log.info("=====================结束定时刷新骑行中的数充值未开锁失败======================="); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |         sitesService.siteReservesNotice();; | 
 |  |  |         log.info("=====================结束 站点车辆满架率预警======================="); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 检查通信异常的站点发通知 | 
 |  |  |      * @throws Exception | 
 |  |  |      */ | 
 |  |  |     @Scheduled(fixedDelay = 1000L * 60L * 5) | 
 |  |  |     public void noticeNoLinkList() throws Exception { | 
 |  |  |         log.info("=====================开始 检查通信异常的站点发通知======================="); | 
 |  |  |         sitesService.noticeNoLinkList(new Sites());; | 
 |  |  |         log.info("=====================结束 检查通信异常的站点发通知======================="); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private WxPayProperties wxPayProperties; | 
 |  |  | 
 |  |  |     /** | 
 |  |  |      * 更新微信 ACCESS_TOKEN | 
 |  |  |      */ | 
 |  |  |     @Scheduled(fixedDelay = 1000L * 60L * 90L) | 
 |  |  |     public void updAccessDingdingToken() throws Exception { | 
 |  |  |         DefaultWebSecurityManager manager = new DefaultWebSecurityManager(); | 
 |  |  |         ThreadContext.bind(manager); | 
 |  |  |         String token = DingDingNotice.getToken(systemDictDataBiz.queryByCode(Constants.DINGDING,Constants.DINGDING_APPKEY).getCode() | 
 |  |  |                 ,systemDictDataBiz.queryByCode(Constants.DINGDING,Constants.DINGDING_SECRET).getCode()); | 
 |  |  |         if(StringUtils.isNotBlank(token)){ | 
 |  |  |             SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.DINGDING,Constants.DINGDING_TOKEN); | 
 |  |  |             if(!Objects.isNull(systemDictData)){ | 
 |  |  |                 systemDictData.setCode(token); | 
 |  |  |                 systemDictData.setUpdateTime(new Date()); | 
 |  |  |                 systemDictDataService.updateById(systemDictData); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      * 更新微信 ACCESS_TOKEN | 
 |  |  |      */ | 
 |  |  |     @Scheduled(fixedDelay = 1000L * 60L ) | 
 |  |  |     public void autoCancelRefunOrder(){ | 
 |  |  |         log.info("=====================开始 自動取消未推送退款状态的退款单状态======================="); |