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成功"); } }