package com.doumee.api; 
 | 
  
 | 
import com.alibaba.fastjson.JSONObject; 
 | 
import com.doumee.biz.system.SystemDictDataBiz; 
 | 
import com.doumee.core.model.ApiResponse; 
 | 
import com.doumee.core.utils.Constants; 
 | 
import com.doumee.core.utils.HttpsUtil; 
 | 
import com.doumee.core.wx.WXConstant; 
 | 
import com.doumee.dao.system.model.SystemDictData; 
 | 
import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl; 
 | 
import com.doumee.service.business.impl.hksync.fhk.HkSyncVisitFromHKServiceImpl; 
 | 
import com.doumee.service.system.SystemDictDataService; 
 | 
import io.swagger.annotations.Api; 
 | 
import io.swagger.annotations.ApiOperation; 
 | 
import org.apache.shiro.SecurityUtils; 
 | 
import org.apache.shiro.mgt.DefaultSecurityManager; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.beans.factory.annotation.Value; 
 | 
import org.springframework.scheduling.annotation.Scheduled; 
 | 
import org.springframework.web.bind.annotation.GetMapping; 
 | 
import org.springframework.web.bind.annotation.RequestMapping; 
 | 
import org.springframework.web.bind.annotation.RestController; 
 | 
  
 | 
import java.util.Date; 
 | 
import java.util.Objects; 
 | 
  
 | 
/** 
 | 
 * @author 江蹄蹄 
 | 
 * @date 2023/11/30 15:33 
 | 
 */ 
 | 
@Api(tags = "微信token定时器接口") 
 | 
@RestController 
 | 
@RequestMapping("/timer/wxtoken") 
 | 
public class WxTokenTimerController extends BaseController { 
 | 
    @Autowired 
 | 
    private SystemDictDataBiz systemDictDataBiz; 
 | 
  
 | 
    @Autowired 
 | 
    private SystemDictDataService systemDictDataService; 
 | 
    /** 
 | 
     * 是否开发者 
 | 
     */ 
 | 
    @Value("${debug_model}") 
 | 
    private Boolean timing; 
 | 
    @ApiOperation("开启定时更新微信公众号accesstoken") 
 | 
    @GetMapping("/updateWxAccessToken") 
 | 
    public ApiResponse updateWxAccessToken() { 
 | 
        DefaultSecurityManager securityManager = new DefaultSecurityManager(); 
 | 
        SecurityUtils.setSecurityManager(securityManager); 
 | 
  
 | 
        String appId = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_APPID).getCode(); 
 | 
        String appSecret = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_SECRET).getCode(); 
 | 
        //生成微信token 
 | 
        String url = WXConstant.GET_ACCESS_TOKEN_URL.replace("APPID",appId).replace("APPSECRET",appSecret); 
 | 
        String response = HttpsUtil.get(url,false); 
 | 
        JSONObject json = JSONObject.parseObject(response); 
 | 
        System.out.println(json); 
 | 
        SystemDictData systemDictData =  systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN); 
 | 
        if(!Objects.isNull(systemDictData)){ 
 | 
            systemDictData.setCode(json.getString("access_token")); 
 | 
            systemDictData.setUpdateTime(new Date()); 
 | 
            systemDictDataService.updateById(systemDictData); 
 | 
        } 
 | 
        return ApiResponse.success("开启定时更新微信公众号accesstoken成功"); 
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
} 
 |