提交 2f6e522b 编写于 作者: Z zhipeng.zhang

蘑菇钉定时打卡

上级 7b64f4c6
......@@ -181,6 +181,11 @@
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.69</version>
</dependency>
</dependencies>
<build>
<finalName>picture-bed</finalName>
......
package com.tools.common.util;
import org.springframework.util.StringUtils;
import javax.net.ssl.*;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Map;
import java.util.Map.Entry;
/**
* http、https 请求工具类
*
* @author jiaxiaoxian
*/
public class HttpUtils {
private static final String DEFAULT_CHARSET = "UTF-8";
private static final String _GET = "GET"; // GET
private static final String _POST = "POST";// POST
public static final int DEF_CONN_TIMEOUT = 30000;
public static final int DEF_READ_TIMEOUT = 30000;
/**
* 初始化http请求参数
*
* @param url
* @param method
* @param headers
* @return
* @throws Exception
*/
private static HttpURLConnection initHttp(String url, String method,
Map<String, String> headers) throws Exception {
URL _url = new URL(url);
HttpURLConnection http = (HttpURLConnection) _url.openConnection();
// 连接超时
http.setConnectTimeout(DEF_CONN_TIMEOUT);
// 读取超时 --服务器响应比较慢,增大时间
http.setReadTimeout(DEF_READ_TIMEOUT);
http.setUseCaches(false);
http.setRequestMethod(method);
http.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
http.setRequestProperty(
"User-Agent",
"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36");
if (null != headers && !headers.isEmpty()) {
for (Entry<String, String> entry : headers.entrySet()) {
http.setRequestProperty(entry.getKey(), entry.getValue());
}
}
http.setDoOutput(true);
http.setDoInput(true);
http.connect();
return http;
}
/**
* 初始化http请求参数
*
* @param url
* @param method
* @return
* @throws Exception
*/
private static HttpsURLConnection initHttps(String url, String method,
Map<String, String> headers) throws Exception {
TrustManager[] tm = {new MyX509TrustManager()};
System.setProperty("https.protocols", "TLSv1");
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, tm, new java.security.SecureRandom());
// 从上述SSLContext对象中得到SSLSocketFactory对象
SSLSocketFactory ssf = sslContext.getSocketFactory();
URL _url = new URL(url);
HttpsURLConnection http = (HttpsURLConnection) _url.openConnection();
// 设置域名校验
http.setHostnameVerifier(new HttpUtils().new TrustAnyHostnameVerifier());
// 连接超时
http.setConnectTimeout(DEF_CONN_TIMEOUT);
// 读取超时 --服务器响应比较慢,增大时间
http.setReadTimeout(DEF_READ_TIMEOUT);
http.setUseCaches(false);
http.setRequestMethod(method);
http.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
http.setRequestProperty(
"User-Agent",
"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36");
if (null != headers && !headers.isEmpty()) {
for (Entry<String, String> entry : headers.entrySet()) {
http.setRequestProperty(entry.getKey(), entry.getValue());
}
}
http.setSSLSocketFactory(ssf);
http.setDoOutput(true);
http.setDoInput(true);
http.connect();
return http;
}
/**
* @return 返回类型:
* @throws Exception
* @description 功能描述: get 请求
*/
public static String get(String url, Map<String, String> params,
Map<String, String> headers) throws Exception {
HttpURLConnection http = null;
if (isHttps(url)) {
http = initHttps(initParams(url, params), _GET, headers);
} else {
http = initHttp(initParams(url, params), _GET, headers);
}
InputStream in = http.getInputStream();
BufferedReader read = new BufferedReader(new InputStreamReader(in,
DEFAULT_CHARSET));
String valueString = null;
StringBuffer bufferRes = new StringBuffer();
// 优化,不能光使用!=null做判断。有为""的情况,防止多次空循环
while (!StringUtils.isEmpty(valueString = read.readLine())) {
bufferRes.append(valueString);
}
in.close();
if (http != null) {
http.disconnect();// 关闭连接
}
return bufferRes.toString();
}
public static String get(String url) throws Exception {
return get(url, null);
}
public static String get(String url, Map<String, String> params)
throws Exception {
return get(url, params, null);
}
public static String post(String url, String params) throws Exception {
HttpURLConnection http = null;
if (isHttps(url)) {
http = initHttps(url, _POST, null);
} else {
http = initHttp(url, _POST, null);
}
OutputStream out = http.getOutputStream();
out.write(params.getBytes(DEFAULT_CHARSET));
out.flush();
out.close();
InputStream in = http.getInputStream();
BufferedReader read = new BufferedReader(new InputStreamReader(in,
DEFAULT_CHARSET));
String valueString = null;
StringBuffer bufferRes = new StringBuffer();
while ((valueString = read.readLine()) != null) {
bufferRes.append(valueString);
}
in.close();
if (http != null) {
http.disconnect();// 关闭连接
}
return bufferRes.toString();
}
public static String post(String url, String params, Map<String, String> headers) throws Exception {
HttpURLConnection http = null;
if (isHttps(url)) {
http = initHttps(url, _POST, headers);
} else {
http = initHttp(url, _POST, headers);
}
OutputStream out = http.getOutputStream();
out.write(params.getBytes(DEFAULT_CHARSET));
out.flush();
out.close();
InputStream in = http.getInputStream();
BufferedReader read = new BufferedReader(new InputStreamReader(in,
DEFAULT_CHARSET));
String valueString = null;
StringBuffer bufferRes = new StringBuffer();
while ((valueString = read.readLine()) != null) {
bufferRes.append(valueString);
}
in.close();
if (http != null) {
http.disconnect();// 关闭连接
}
return bufferRes.toString();
}
/**
* 功能描述: 构造请求参数
*
* @return 返回类型:
* @throws Exception
*/
public static String initParams(String url, Map<String, String> params)
throws Exception {
if (null == params || params.isEmpty()) {
return url;
}
StringBuilder sb = new StringBuilder(url);
if (url.indexOf("?") == -1) {
sb.append("?");
}
sb.append(map2Url(params));
return sb.toString();
}
/**
* map构造url
*
* @return 返回类型:
* @throws Exception
*/
public static String map2Url(Map<String, String> paramToMap)
throws Exception {
if (null == paramToMap || paramToMap.isEmpty()) {
return null;
}
StringBuffer url = new StringBuffer();
boolean isfist = true;
for (Entry<String, String> entry : paramToMap.entrySet()) {
if (isfist) {
isfist = false;
} else {
url.append("&");
}
url.append(entry.getKey()).append("=");
String value = entry.getValue();
if (!StringUtils.isEmpty(value)) {
url.append(URLEncoder.encode(value, DEFAULT_CHARSET));
}
}
return url.toString();
}
/**
* 检测是否https
*
* @param url
*/
private static boolean isHttps(String url) {
return url.startsWith("https");
}
/**
* https 域名校验
* @return
*/
public class TrustAnyHostnameVerifier implements HostnameVerifier {
@Override
public boolean verify(String hostname, SSLSession session) {
return true;// 直接返回true
}
}
private static class MyX509TrustManager implements X509TrustManager {
@Override
public X509Certificate[] getAcceptedIssuers() {
return null;
}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType)
throws CertificateException {
}
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType)
throws CertificateException {
}
}
;
public static void main(String[] args) {
String str = "";
try {
str = get("https://www.baidu.com");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(str);
}
}
\ No newline at end of file
package com.tools.module.app.entity;
import com.tools.common.model.PageBean;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.GregorianCalendar;
@Data
@Entity
@Table(name = "app_ding_details")
public class AppDingDetails extends PageBean implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 用户id
*/
@Id
private Integer userId;
/**
* 国家
*/
@Column(name = "country")
private String country;
/**
* 地址
*/
@Column(name = "address")
private String address;
/**
* 省
*/
@Column(name = "province")
private String province;
/**
* 城市
*/
@Column(name = "city")
private String city;
/**
* 纬度
*/
@Column(name = "latitude")
private String latitude;
/**
* 发表的信息
*/
@Column(name = "description")
private String description;
/**
* START 上班 END 下班
*/
@Column(name = "type")
private String type;
/**
* 经度
*/
private String longitude;
public AppDingDetails() {
// 结果为“0”是上午 结果为“1”是下午
GregorianCalendar ca = new GregorianCalendar();
if (ca.get(GregorianCalendar.AM_PM) == 0 || "0".equals(ca.get(GregorianCalendar.AM_PM))) {
this.type = "START";
} else {
this.type = "END";
}
}
}
\ No newline at end of file
package com.tools.module.app.entity;
import com.tools.common.model.PageBean;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import static javax.persistence.GenerationType.IDENTITY;
@Data
@Entity
@Table(name = "app_ding_signIn_log")
public class AppDingSignInLog extends PageBean implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "id", unique = true, nullable = false)
private Integer logId;
private String username;
private String address;
private String state;
private String logTime;
}
package com.tools.module.app.entity;
import com.tools.common.model.PageBean;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import static javax.persistence.GenerationType.IDENTITY;
/**
* 蘑菇钉用户信息
*/
@Data
@Entity
@Table(name = "app_ding_user")
public class AppDingUser extends PageBean implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "id", unique = true, nullable = false)
private Integer userId;
/**
* 用户名
*/
@Column(name = "username")
private String username;
/**
* 密码
*/
@Column(name = "password")
private String password;
}
package com.tools.module.app.service;
import com.tools.common.model.Result;
import com.tools.module.app.entity.AppDingDetails;
/**
* @Description
* @Author 爪洼笔记
* @Date 2022/9/34
*/
public interface AppDingDetailService {
Result listDetailsBean(AppDingDetails detail);
Result save(AppDingDetails detail);
Result delete(AppDingDetails detail);
Result update(AppDingDetails detail);
}
package com.tools.module.app.service;
import com.tools.common.model.Result;
import com.tools.module.app.entity.AppDingSignInLog;
/**
* @Description 蘑菇钉日志
* @Author 爪洼笔记
* @Date 2022/9/34
*/
public interface AppDingLogService {
/**
* 日志管理
*/
Result listSignInLog(AppDingSignInLog log);
Result delete(AppDingSignInLog signInLog);
void save(AppDingSignInLog signInLog);
}
package com.tools.module.app.service;
import com.tools.common.model.Result;
import com.tools.module.app.entity.AppDingDetails;
import com.tools.module.app.entity.AppDingUser;
/**
* @Description 蘑菇钉
* @Author 爪洼笔记
* @Date 2022/9/34
*/
public interface AppDingService {
/**
* 登录获取token
* @param user
* @return
*/
String login(AppDingUser user);
/**
* 获取计划学校ID
* @param authorization
* @return
*/
String planId(String authorization);
/**
* 签到
* @param authorization
* @param planId
* @param detail
* @return
*/
Result sin(String authorization, String planId, AppDingDetails detail);
}
package com.tools.module.app.service;
import com.tools.common.model.Result;
import com.tools.module.app.entity.AppDingUser;
import java.util.List;
/**
* @Description 蘑菇钉用户
* @Author 爪洼笔记
* @Date 2022/9/34
*/
public interface AppDingUserService {
Result listUserinfo(Integer pageNo, Integer pageSize);
List<AppDingUser> listUser();
Result save(AppDingUser user);
Result delete(AppDingUser user);
Result update(AppDingUser user);
}
package com.tools.module.app.service.impl;
import com.tools.common.dynamicquery.DynamicQuery;
import com.tools.common.model.PageBean;
import com.tools.common.model.Result;
import com.tools.module.app.entity.AppDingDetails;
import com.tools.module.app.service.AppDingDetailService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Description 蘑菇钉
* @Author 爪洼笔记
* @Date 2022/9/34
*/
@Service
public class AppDingDetailServiceImpl implements AppDingDetailService {
@Autowired
private DynamicQuery dynamicQuery;
@Override
public Result listDetailsBean(AppDingDetails detail) {
String countSql = "SELECT COUNT(*) FROM app_ding_details";
Long totalCount = dynamicQuery.nativeQueryCount(countSql);
PageBean<AppDingDetails> data = new PageBean<>();
if (totalCount > 0) {
StringBuffer nativeSql = new StringBuffer();
nativeSql.append("SELECT * FROM app_ding_details ");
Object[] params = new Object[]{};
Pageable pageable = PageRequest.of(detail.getPageNo() - 1, detail.getPageSize());
List<AppDingDetails> list = dynamicQuery.nativeQueryPagingList(AppDingDetails.class, pageable, nativeSql.toString(), params);
data = new PageBean<>(list, totalCount);
}
return Result.ok(data);
}
@Override
public Result save(AppDingDetails detail) {
dynamicQuery.save(detail);
return Result.ok();
}
@Override
public Result delete(AppDingDetails detail) {
String nativeSql = "DELETE FROM app_ding_details WHERE id=?";
dynamicQuery.nativeExecuteUpdate(nativeSql,new Object[]{detail.getUserId()});
return Result.ok();
}
@Override
public Result update(AppDingDetails detail) {
dynamicQuery.update(detail);
return Result.ok();
}
}
package com.tools.module.app.service.impl;
import com.tools.common.dynamicquery.DynamicQuery;
import com.tools.common.model.PageBean;
import com.tools.common.model.Result;
import com.tools.module.app.entity.AppDingSignInLog;
import com.tools.module.app.service.AppDingLogService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @Description 蘑菇钉日志
* @Author 爪洼笔记
* @Date 2022/9/34
*/
@Service
public class AppDingLogServiceImpl implements AppDingLogService {
@Autowired
private DynamicQuery dynamicQuery;
@Override
public Result listSignInLog(AppDingSignInLog log) {
String countSql = "SELECT COUNT(*) FROM app_ding_signIn_log";
Long totalCount = dynamicQuery.nativeQueryCount(countSql);
PageBean<AppDingSignInLog> data = new PageBean<>();
if (totalCount > 0) {
StringBuffer nativeSql = new StringBuffer();
nativeSql.append("SELECT * FROM app_ding_signIn_log ");
Object[] params = new Object[]{};
if (!StringUtils.isEmpty(log.getUsername())) {
nativeSql.append("WHERE username = ?");
params = new Object[]{log.getUsername()};
}
nativeSql.append(" order by logId desc");
Pageable pageable = PageRequest.of(log.getPageNo() - 1, log.getPageSize());
List<AppDingSignInLog> list = dynamicQuery.nativeQueryPagingList(AppDingSignInLog.class, pageable, nativeSql.toString(), params);
data = new PageBean<>(list, totalCount);
}
return Result.ok(data);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result delete(AppDingSignInLog signInLog) {
String nativeSql = "DELETE FROM app_ding_signIn_log WHERE id=?";
dynamicQuery.nativeExecuteUpdate(nativeSql,new Object[]{signInLog.getLogId()});
return Result.ok();
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(AppDingSignInLog signInLog) {
dynamicQuery.save(signInLog);
}
}
package com.tools.module.app.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.tools.common.model.Result;
import com.tools.common.util.HttpUtils;
import com.tools.module.app.entity.AppDingDetails;
import com.tools.module.app.entity.AppDingUser;
import com.tools.module.app.service.AppDingService;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
/**
* @Description 蘑菇钉
* @Author 爪洼笔记
* @Date 2022/9/34
*/
@Service
public class AppDingServiceImpl implements AppDingService {
@Override
public String login(AppDingUser user) {
/* 请求头 */
Map<String,String> headersMap = new HashMap(20);
headersMap.put("Accept-Language", "zh-CN,zh;q=0.8");
headersMap.put("User-Agent", "Mozilla/5.0 (Linux; U; Android 8.0.0; zh-cn; MI 6 Build/OPR1.170623.027) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30");
headersMap.put("Authorization", "");
headersMap.put("roleKey", "");
headersMap.put("Content-Type", "application/json; charset=UTF-8");
headersMap.put("Content-Length", "85");
headersMap.put("Host", "api.moguding.net:9000");
headersMap.put("Connection", "close");
headersMap.put("Accept-Encoding", "gzip, deflate");
headersMap.put("Cache-Control", "no-cache");
/* 请求地址 */
String url = "https://api.moguding.net:9000/session/user/v1/login";
/* 请求参数 */
Map<String,String> paramsMap = new HashMap(10);
paramsMap.put("phone", user.getUsername());
paramsMap.put("password", user.getPassword());
paramsMap.put("loginType", "android");
paramsMap.put("uuid", "");
/* 请求参数转为json字符串 */
String params = JSON.toJSONString(paramsMap);
try {
/**
* 发送请求
*/
String post = HttpUtils.post(url, params, headersMap);
/**
* 获取响应参数
*/
String Authorization = JSON.parseObject(post).getString("data");
Authorization = JSON.parseObject(Authorization).getString("token");
return Authorization;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
@Override
public String planId(String authorization) {
/* 请求头 */
Map<String,String> headersMap = new HashMap(20);
headersMap.put("Accept-Language", "zh-CN,zh;q=0.8");
headersMap.put("User-Agent", "Mozilla/5.0 (Linux; U; Android 8.0.0; zh-cn; MI 6 Build/OPR1.170623.027) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30");
headersMap.put("Authorization", authorization);
headersMap.put("roleKey", "student");
headersMap.put("Content-Type", "application/json; charset=UTF-8");
headersMap.put("Content-Length", "500");
headersMap.put("Host", "api.moguding.net:9000");
headersMap.put("Connection", "close");
headersMap.put("Accept-Encoding", "gzip, deflate");
headersMap.put("Cache-Control", "no-cache");
/* 请求地址 */
String url = "https://api.moguding.net:9000/practice/plan/v1/getPlanByStu";
/* 请求参数 */
Map<String,String> paramsMap = new HashMap(10);
paramsMap.put("state", "");
/* 请求参数转为json字符串 */
String params = JSON.toJSONString(paramsMap);
try {
/**
* 发送请求
*/
String post = HttpUtils.post(url, params, headersMap);
/**
* 获取响应参数
*/
String planId = JSON.parseObject(post).getString("data");
JSONArray array = JSON.parseArray(planId);
planId = array.get(0).toString();
planId = JSON.parseObject(planId).getString("planId");
return planId;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
public Result sin(String authorization, String planId, AppDingDetails detail) {
/* 请求头 */
Map<String,String> headersMap = new HashMap(20);
headersMap.put("Accept-Language", "zh-CN,zh;q=0.8");
headersMap.put("User-Agent", "Mozilla/5.0 (Linux; U; Android 8.0.0; zh-cn; MI 6 Build/OPR1.170623.027) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30");
headersMap.put("Authorization", authorization);
headersMap.put("roleKey", "student");
headersMap.put("Content-Type", "application/json; charset=UTF-8");
headersMap.put("Content-Length", "500");
headersMap.put("Host", "api.moguding.net:9000");
headersMap.put("Connection", "close");
headersMap.put("Accept-Encoding", "gzip, deflate");
headersMap.put("Cache-Control", "no-cache");
/* 请求地址 */
String url = "https://api.moguding.net:9000/attendence/clock/v1/save";
/* 请求参数 */
Map<String,String> paramsMap = new HashMap(20);
paramsMap.put("country", detail.getCountry());
paramsMap.put("address", detail.getAddress());
paramsMap.put("province", detail.getProvince());
paramsMap.put("city", detail.getCity());
paramsMap.put("latitude", detail.getLatitude());
paramsMap.put("description", detail.getDescription());
paramsMap.put("planId", planId);
paramsMap.put("type", detail.getType());
paramsMap.put("device", "Android");
paramsMap.put("longitude", detail.getLongitude());
/* 请求参数转为json字符串 */
String params = JSON.toJSONString(paramsMap);
try {
/* 发送请求 */
String post = HttpUtils.post(url, params, headersMap);
System.out.println(post);
/* 返回响应参数 */
return Result.ok(post);
} catch (Exception e) {
e.printStackTrace();
return Result.error("签到失败");
}
}
}
package com.tools.module.app.service.impl;
import com.tools.common.dynamicquery.DynamicQuery;
import com.tools.common.model.PageBean;
import com.tools.common.model.Result;
import com.tools.module.app.entity.AppDingUser;
import com.tools.module.app.service.AppDingUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @Description
* @Author 爪洼笔记
* @Date 2022/9/34
*/
@Service
public class AppDingUserServiceImpl implements AppDingUserService {
@Autowired
private DynamicQuery dynamicQuery;
@Override
public Result listUserinfo(Integer pageNo, Integer pageSize) {
String countSql = "SELECT COUNT(*) FROM app_ding_user";
Long totalCount = dynamicQuery.nativeQueryCount(countSql);
PageBean<AppDingUser> data = new PageBean<>();
if (totalCount > 0) {
StringBuffer nativeSql = new StringBuffer();
nativeSql.append("SELECT * FROM app_ding_user");
Pageable pageable = PageRequest.of(pageNo - 1, pageSize);
List<AppDingUser> list = dynamicQuery.nativeQueryPagingList(AppDingUser.class, pageable, nativeSql.toString());
data = new PageBean<>(list, totalCount);
}
return Result.ok(data);
}
@Override
public List<AppDingUser> listUser() {
String nativeSql = "SELECT * FROM app_ding_user";
Pageable pageable = PageRequest.of(0, 10);
List<AppDingUser> list = dynamicQuery.nativeQueryPagingList(AppDingUser.class, pageable, nativeSql);
return list;
}
@Override
public Result save(AppDingUser user) {
dynamicQuery.save(user);
return Result.ok();
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result delete(AppDingUser user) {
String nativeSql = "DELETE FROM app_ding_user WHERE id=?";
dynamicQuery.nativeExecuteUpdate(nativeSql,new Object[]{user.getUserId()});
return Result.ok();
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result update(AppDingUser user) {
dynamicQuery.update(user);
return Result.ok();
}
}
package com.tools.module.app.web;
import com.tools.common.config.AbstractController;
import com.tools.common.model.Result;
import com.tools.module.app.entity.AppDingDetails;
import com.tools.module.app.entity.AppDingUser;
import com.tools.module.app.service.AppDingService;
import com.tools.module.app.service.AppEmailService;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description
* @Author 爪哇笔记
* @Date 2022/9/3
*/
@Api(tags ="蘑菇钉")
@RestController
@RequestMapping("/app/ding")
public class DingController extends AbstractController {
@Autowired
private AppDingService appDingService;
/**
* 列表
*/
@RequestMapping("sign")
public Result sign(){
try {
AppDingUser user = new AppDingUser();
user.setUsername("******");
user.setPassword("******");
String authorization = appDingService.login(user);
System.out.println(authorization);
String planId = appDingService.planId(authorization);
System.out.println(planId);
AppDingDetails detailsBean = new AppDingDetails();
detailsBean.setAddress("河南省.郑州市.人民政府");
detailsBean.setCountry("中国");
detailsBean.setProvince("河南省");
detailsBean.setCity("郑州市");
detailsBean.setLatitude("37.773296");
detailsBean.setLongitude("113.759527");
detailsBean.setDescription("开心");
Result sin = appDingService.sin(authorization, planId, detailsBean);
System.out.println(sin);
} catch (Exception e) {
e.printStackTrace();
System.out.println("-----------------------签到异常----------------------");
}
return Result.ok();
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册