package com.javaweb.third.controller; import com.alibaba.fastjson.JSONObject; import com.javaweb.common.core.controller.BaseController; import com.javaweb.common.core.domain.AjaxResult; import com.javaweb.common.utils.spring.SpringUtils; import com.javaweb.third.baidu.baiduSite.BaiduPushTypeEnum; import com.javaweb.third.baidu.baiduSite.BaiduPushUtil; import com.javaweb.third.baidu.baiduSite.UrlBuildUtil; import com.javaweb.third.config.ThirdConfig; import com.javaweb.third.service.impl.LeYunSmsCallBackImpl; import com.javaweb.third.sms.SmsUtil; import com.javaweb.third.tencent.TencentIpUtil; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.Map; /** * 第三方APIController * * @author wujiyue * @date 2019-10-11 */ @Controller @RequestMapping("/third/api") public class ThirdApiController extends BaseController { private String prefix = "third/api"; @RequiresPermissions("third:api:view") @GetMapping() public String smsHis() { return prefix + "/thirdApi"; } /** * 发送短信 */ @RequiresPermissions("third:api:sendSms") @PostMapping("/sendSms") @ResponseBody public AjaxResult sendSms(String phone,String prefix,String content) { LeYunSmsCallBackImpl leYunSmsCallBack= SpringUtils.getBean("leYunSmsCallBack"); Map map=new HashMap(); map.put("phone",phone); map.put("prefix",prefix); map.put("content",content); leYunSmsCallBack.setParams(map); AjaxResult result= SmsUtil.sendLeYunSms(phone,prefix,content,leYunSmsCallBack); return result; } /** * 查询IP */ @RequiresPermissions("third:api:queryIp") @PostMapping("/queryIp") @ResponseBody public AjaxResult queryIp(String ip) { AjaxResult res=TencentIpUtil.queryIpLocation(ip); return res; } /** * 查询IP */ @RequiresPermissions("third:api:baiduPush") @PostMapping("/baiduPush/{type}") @ResponseBody public AjaxResult baiduPush(@PathVariable("type") BaiduPushTypeEnum type,String url) { String str = UrlBuildUtil.getBaiduPushUrl(type.toString(), ThirdConfig.getBaiduPushDomain(), ThirdConfig.getBaiduPushToken()); /** * success int 成功推送的url条数 * remain int 当天剩余的可推送url条数 * not_same_site array 由于不是本站url而未处理的url列表 * not_valid array 不合法的url列表 */ // {"remain":4999997,"success":1,"not_same_site":[],"not_valid":[]} /** * error 是 int 错误码,与状态码相同 * message 是 string 错误描述 */ //{error":401,"message":"token is not valid"} String result = BaiduPushUtil.doPush(str, url); JSONObject resultJson = JSONObject.parseObject(result); /*if (resultJson.containsKey("error")) { return AjaxResult.error(resultJson.getString("message")); }*/ return AjaxResult.success(resultJson); } }