package com.doumee.api; import com.alibaba.fastjson.JSONObject; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.haikang.model.HKConstants; import com.doumee.core.haikang.model.param.BaseResponse; import com.doumee.core.haikang.service.HKService; import com.doumee.service.business.third.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.system.SystemDictDataService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; 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.web.bind.annotation.PostMapping; 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") // @PostMapping("/updateWxAccessToken") // public ApiResponse updateWxAccessToken() { // DefaultSecurityManager securityManager = new DefaultSecurityManager(); // SecurityUtils.setSecurityManager(securityManager); // String token =null; // BaseResponse result = HKService.wxAccessToken(systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_WXTOKEN_CONFIGID).getCode(),systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_WXTOKEN_TAGID).getCode()); // if(StringUtils.equals(result.getCode(), HKConstants.RESPONSE_SUCCEE) ){ // token= result.getData(); // SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN); // if(!Objects.isNull(systemDictData)){ // systemDictData.setCode(token); // systemDictData.setUpdateTime(new Date()); // systemDictDataService.updateById(systemDictData); // } // }else{ // return ApiResponse.success("开启定时更新微信公众号accesstoken失败"); // } // return ApiResponse.success("开启定时更新微信公众号accesstoken成功"); // } @ApiOperation("开启定时更新微信公众号accesstoken") @PostMapping("/updateWxAccessTokenOrigin") public ApiResponse updateWxAccessTokenOrigin() { 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成功"); } }