updateWrapper = new LambdaUpdateWrapper<>();
45 | // //文章id相等的时候
46 | // updateWrapper.eq(Article::getBodyId,articleIdKey);
47 | // articleMapper.update(articleUpdate,updateWrapper);
48 | //集合
49 | // System.out.println(setOperations.members());
50 | // }
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/utils/ConstantPropertiesUtil.java:
--------------------------------------------------------------------------------
1 | package com.lin.utils;
2 |
3 | import org.springframework.beans.factory.InitializingBean;
4 | import org.springframework.beans.factory.annotation.Value;
5 | import org.springframework.stereotype.Component;
6 |
7 | @Component
8 | public class ConstantPropertiesUtil implements InitializingBean {
9 |
10 | @Value("${wx.open.app_id}")
11 | private String appId;
12 |
13 | @Value("${wx.open.app_secret}")
14 | private String appSecret;
15 |
16 | @Value("${wx.open.redirect_url}")
17 | private String redirectUrl;
18 |
19 | @Value("${yygh.baseUrl}")
20 | private String yyghBaseUrl;
21 |
22 | public static String WX_OPEN_APP_ID;
23 | public static String WX_OPEN_APP_SECRET;
24 | public static String WX_OPEN_REDIRECT_URL;
25 |
26 | public static String YYGH_BASE_URL;
27 |
28 | @Override
29 | public void afterPropertiesSet() throws Exception {
30 | WX_OPEN_APP_ID = appId;
31 | WX_OPEN_APP_SECRET = appSecret;
32 | WX_OPEN_REDIRECT_URL = redirectUrl;
33 | YYGH_BASE_URL = yyghBaseUrl;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/utils/HttpContextUtils.java:
--------------------------------------------------------------------------------
1 | package com.lin.utils;
2 |
3 | import org.springframework.context.annotation.Bean;
4 | import org.springframework.stereotype.Component;
5 | import org.springframework.web.context.request.RequestContextHolder;
6 | import org.springframework.web.context.request.ServletRequestAttributes;
7 |
8 | import javax.servlet.http.HttpServletRequest;
9 |
10 | /**
11 | * HttpServletRequest
12 | */
13 | public class HttpContextUtils {
14 |
15 | public static HttpServletRequest getHttpServletRequest() {
16 | return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/utils/IpUtils.java:
--------------------------------------------------------------------------------
1 | package com.lin.utils;
2 |
3 | import lombok.extern.slf4j.Slf4j;
4 | import org.apache.commons.lang3.StringUtils;
5 |
6 | import javax.servlet.http.HttpServletRequest;
7 |
8 | /**
9 | * 获取Ip
10 | */
11 | @Slf4j
12 | public class IpUtils {
13 |
14 | /**
15 | * 获取IP地址
16 | *
17 | * 使用Nginx等反向代理软件, 则不能通过request.getRemoteAddr()获取IP地址
18 | * 如果使用了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP地址,X-Forwarded-For中第一个非unknown的有效IP字符串,则为真实IP地址
19 | */
20 | public static String getIpAddr(HttpServletRequest request) {
21 | String ip = null, unknown = "unknown", seperator = ",";
22 | int maxLength = 15;
23 | try {
24 | ip = request.getHeader("x-forwarded-for");
25 | if (StringUtils.isEmpty(ip) || unknown.equalsIgnoreCase(ip)) {
26 | ip = request.getHeader("Proxy-Client-IP");
27 | }
28 | if (StringUtils.isEmpty(ip) || ip.length() == 0 || unknown.equalsIgnoreCase(ip)) {
29 | ip = request.getHeader("WL-Proxy-Client-IP");
30 | }
31 | if (StringUtils.isEmpty(ip) || unknown.equalsIgnoreCase(ip)) {
32 | ip = request.getHeader("HTTP_CLIENT_IP");
33 | }
34 | if (StringUtils.isEmpty(ip) || unknown.equalsIgnoreCase(ip)) {
35 | ip = request.getHeader("HTTP_X_FORWARDED_FOR");
36 | }
37 | if (StringUtils.isEmpty(ip) || unknown.equalsIgnoreCase(ip)) {
38 | ip = request.getRemoteAddr();
39 | }
40 | } catch (Exception e) {
41 | log.error("IpUtils ERROR ", e);
42 | }
43 |
44 | // 使用代理,则获取第一个IP地址
45 | if (StringUtils.isEmpty(ip) && ip.length() > maxLength) {
46 | int idx = ip.indexOf(seperator);
47 | if (idx > 0) {
48 | ip = ip.substring(0, idx);
49 | }
50 | }
51 |
52 | return ip;
53 | }
54 |
55 | /**
56 | * 获取ip地址
57 | *
58 | * @return
59 | */
60 | public static String getIpAddr() {
61 | HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
62 | return getIpAddr(request);
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/utils/JWTUtils.java:
--------------------------------------------------------------------------------
1 | package com.lin.utils;
2 |
3 | import io.jsonwebtoken.Jwt;
4 | import io.jsonwebtoken.JwtBuilder;
5 | import io.jsonwebtoken.Jwts;
6 | import io.jsonwebtoken.SignatureAlgorithm;
7 |
8 | import java.util.Date;
9 | import java.util.HashMap;
10 | import java.util.Map;
11 |
12 | public class JWTUtils {
13 |
14 | private static final String jwtToken = "5054lansufang!@@!$%&";
15 |
16 | public static String createToken(Long userId) {
17 | Map claims = new HashMap<>();
18 | claims.put("userId", userId);
19 | JwtBuilder jwtBuilder = Jwts.builder()
20 | .signWith(SignatureAlgorithm.HS256, jwtToken) // 签发算法,秘钥为jwtToken
21 | .setClaims(claims) // body数据,要唯一,自行设置
22 | .setIssuedAt(new Date()) // 设置签发时间
23 | .setExpiration(new Date(System.currentTimeMillis() + 24 * 60 * 60 * 60 * 1000));// 一天的有效时间
24 | String token = jwtBuilder.compact();
25 | return token;
26 | }
27 |
28 | public static Map checkToken(String token) {
29 | try {
30 | Jwt parse = Jwts.parser().setSigningKey(jwtToken).parse(token);
31 | return (Map) parse.getBody();
32 | } catch (Exception e) {
33 | e.printStackTrace();
34 | }
35 | return null;
36 | }
37 |
38 | public static void main(String[] args) {
39 | String token = JWTUtils.createToken(1404446129264832513L);
40 | System.out.println(token);
41 | Map map = JWTUtils.checkToken("eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2NTQzOTM3NzgsInVzZXJJZCI6bnVsbCwiaWF0IjoxNjUzNTA0NzQ1fQ.4Wijgjv7k3R7nJFJ_23flkNXKSxEst7xE2PSGlL22Y0");
42 | System.out.println(map.get("userId"));
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/utils/QiniuUtils.java:
--------------------------------------------------------------------------------
1 | package com.lin.utils;
2 |
3 | import com.alibaba.fastjson.JSON;
4 | import com.qiniu.http.Response;
5 | import com.qiniu.storage.Configuration;
6 | import com.qiniu.storage.Region;
7 | import com.qiniu.storage.UploadManager;
8 | import com.qiniu.storage.model.DefaultPutRet;
9 | import com.qiniu.util.Auth;
10 | import org.apache.commons.lang3.StringUtils;
11 | import org.springframework.beans.factory.annotation.Value;
12 | import org.springframework.stereotype.Component;
13 | import org.springframework.web.multipart.MultipartFile;
14 |
15 | @Component
16 | public class QiniuUtils {
17 |
18 | public static final String url = "http://rjoaw9l4w.hn-bkt.clouddn.com/";
19 |
20 | @Value("${qiniu.name}")
21 | private String name;
22 |
23 | @Value("${qiniu.accessKey}")
24 | private String accessKey;
25 | @Value("${qiniu.accessSecretKey}")
26 | private String accessSecretKey;
27 |
28 | public boolean upload(MultipartFile file, String fileName) {
29 |
30 | //构造一个带指定 Region 对象的配置类 修改指定地点
31 | Configuration cfg = new Configuration(Region.huanan());
32 | //...其他参数参考类注释
33 | UploadManager uploadManager = new UploadManager(cfg);
34 | //...生成上传凭证,然后准备上传
35 | String bucket = name;
36 | //默认不指定key的情况下,以文件内容的hash值作为文件名
37 | try {
38 | byte[] uploadBytes = file.getBytes();
39 | Auth auth = Auth.create(accessKey, accessSecretKey);
40 | String upToken = auth.uploadToken(bucket);
41 | Response response = uploadManager.put(uploadBytes, fileName, upToken);
42 | //解析上传成功的结果
43 | DefaultPutRet putRet = JSON.parseObject(response.bodyString(), DefaultPutRet.class);
44 | return true;
45 | } catch (Exception ex) {
46 | ex.printStackTrace();
47 | }
48 | return false;
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/utils/UserThreadLocal.java:
--------------------------------------------------------------------------------
1 | package com.lin.utils;
2 |
3 | import com.lin.dao.pojo.SysUser;
4 |
5 | public class UserThreadLocal {
6 |
7 | private UserThreadLocal() {
8 | }
9 |
10 | //线程变量隔离
11 | private static final ThreadLocal LOCAL = new ThreadLocal<>();
12 |
13 | //存user
14 | public static void put(SysUser sysUser) {
15 | LOCAL.set(sysUser);
16 | }
17 |
18 | //取user
19 | public static SysUser get() {
20 | return LOCAL.get();
21 | }
22 |
23 | //移除user
24 | public static void remove() {
25 | LOCAL.remove();
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/utils/text/CharsetKit.java:
--------------------------------------------------------------------------------
1 | package com.lin.utils.text;
2 |
3 | import java.nio.charset.Charset;
4 | import java.nio.charset.StandardCharsets;
5 |
6 | /**
7 | * 字符集工具类
8 | *
9 | * @author lqw
10 | */
11 | public class CharsetKit {
12 |
13 | /** ISO-8859-1 */
14 | public static final String ISO_8859_1 = "ISO-8859-1";
15 | /** UTF-8 */
16 | public static final String UTF_8 = "UTF-8";
17 | /** GBK */
18 | public static final String GBK = "GBK";
19 |
20 | /** ISO-8859-1 */
21 | public static final Charset CHARSET_ISO_8859_1 = Charset.forName(ISO_8859_1);
22 | /** UTF-8 */
23 | public static final Charset CHARSET_UTF_8 = Charset.forName(UTF_8);
24 | /** GBK */
25 | public static final Charset CHARSET_GBK = Charset.forName(GBK);
26 |
27 | /**
28 | * 转换为Charset对象
29 | *
30 | * @param charset 字符集,为空则返回默认字符集
31 | * @return Charset
32 | */
33 | public static Charset charset(String charset)
34 | {
35 | return StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset);
36 | }
37 |
38 | /**
39 | * 转换字符串的字符集编码
40 | *
41 | * @param source 字符串
42 | * @param srcCharset 源字符集,默认ISO-8859-1
43 | * @param destCharset 目标字符集,默认UTF-8
44 | * @return 转换后的字符集
45 | */
46 | public static String convert(String source, String srcCharset, String destCharset)
47 | {
48 | return convert(source, Charset.forName(srcCharset), Charset.forName(destCharset));
49 | }
50 |
51 | /**
52 | * 转换字符串的字符集编码
53 | *
54 | * @param source 字符串
55 | * @param srcCharset 源字符集,默认ISO-8859-1
56 | * @param destCharset 目标字符集,默认UTF-8
57 | * @return 转换后的字符集
58 | */
59 | public static String convert(String source, Charset srcCharset, Charset destCharset)
60 | {
61 | if (null == srcCharset)
62 | {
63 | srcCharset = StandardCharsets.ISO_8859_1;
64 | }
65 |
66 | if (null == destCharset)
67 | {
68 | destCharset = StandardCharsets.UTF_8;
69 | }
70 |
71 | if (StringUtils.isEmpty(source) || srcCharset.equals(destCharset))
72 | {
73 | return source;
74 | }
75 | return new String(source.getBytes(srcCharset), destCharset);
76 | }
77 |
78 | /**
79 | * @return 系统字符集编码
80 | */
81 | public static String systemCharset()
82 | {
83 | return Charset.defaultCharset().name();
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/ArticleBodyVo.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo;
2 |
3 | import lombok.Data;
4 |
5 | @Data
6 | public class ArticleBodyVo {
7 |
8 | private String content;
9 | }
10 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/ArticleMessage.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | @Data
8 | public class ArticleMessage implements Serializable {
9 | private Long articleId;
10 | }
11 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/ArticleVo.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo;
2 |
3 | import com.fasterxml.jackson.databind.annotation.JsonSerialize;
4 | import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
5 | import lombok.Data;
6 |
7 | import java.util.List;
8 |
9 | @Data
10 | public class ArticleVo {
11 |
12 | // @JsonSerialize(using = ToStringSerializer.class)
13 | private String id;
14 |
15 | private String title;
16 |
17 | private String summary;
18 |
19 | private Integer commentCounts;
20 |
21 | private Integer viewCounts;
22 |
23 | private Integer weight;
24 | /**
25 | * 创建时间
26 | */
27 | private String createDate;
28 |
29 | private String author;
30 |
31 | private String authorId;
32 |
33 | private ArticleBodyVo body;
34 |
35 | private List tags;
36 |
37 | private CategoryVo category;
38 |
39 | /**
40 | * ai 放回值
41 | */
42 | private String answer;
43 | }
44 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/CategoryVo.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo;
2 |
3 | import lombok.Data;
4 |
5 | @Data
6 | public class CategoryVo {
7 |
8 | private String id;
9 |
10 | private String avatar;
11 |
12 | private String categoryName;
13 |
14 | private String description;
15 | }
16 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/CodeVo.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo;
2 |
3 | import lombok.Data;
4 |
5 | @Data
6 | public class CodeVo {
7 |
8 | private String account;
9 | private String nonceStr;
10 |
11 | private String value;
12 | }
13 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/CommentVo.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo;
2 |
3 | import lombok.Data;
4 |
5 | import java.util.List;
6 |
7 | @Data
8 | public class CommentVo {
9 | //防止前端 精度损失 把id转为string
10 | // @JsonSerialize(using = ToStringSerializer.class)
11 | private String id;
12 |
13 | private UserVo author;
14 |
15 | private String content;
16 |
17 | private List childrens;
18 |
19 | private String createDate;
20 |
21 | private Integer level;
22 |
23 | private UserVo toUser;
24 | }
25 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/ErrorCode.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo;
2 |
3 | /**
4 | * 枚举返回参数
5 | */
6 | public enum ErrorCode {
7 |
8 | PARAMS_ERROR(10001, "参数有误"),
9 | ACCOUNT_PWD_NOT_EXIST(10002, "用户名或密码不正确"),
10 | TOKEN_ERROR(10003, "token不合法"),
11 | ACCOUNT_EXIST(10004, "账号已存在"),
12 | ACCOUNT_DELETE(10005, "账号已注销"),
13 | ACCOUNT_BLOCKED(10006, "账号被封"),
14 | ACCOUNT_FREQUENTLY(10007, "账号登录频繁"),
15 | NO_PERMISSION(70001, "无访问权限"),
16 | SESSION_TIME_OUT(90001, "会话超时"),
17 | NO_LOGIN(90002, "未登录"),
18 | UPDATE_ERROR(10007, "修改失败"),;
19 |
20 | private int code;
21 | private String msg;
22 |
23 | ErrorCode(int code, String msg) {
24 | this.code = code;
25 | this.msg = msg;
26 | }
27 |
28 | public int getCode() {
29 | return code;
30 | }
31 |
32 | public void setCode(int code) {
33 | this.code = code;
34 | }
35 |
36 | public String getMsg() {
37 | return msg;
38 | }
39 |
40 | public void setMsg(String msg) {
41 | this.msg = msg;
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/LoginUserVo.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo;
2 |
3 | import lombok.Data;
4 |
5 | @Data
6 | public class LoginUserVo {
7 |
8 | private String id;
9 |
10 | private String account;
11 |
12 | private String nickname;
13 |
14 | private String avatar;
15 |
16 | private String status;
17 |
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/Result.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 |
6 | import java.util.HashMap;
7 | import java.util.Map;
8 |
9 | @Data
10 | @AllArgsConstructor
11 | public class Result {
12 |
13 | private boolean success;
14 |
15 | private int code;
16 |
17 | private String msg;
18 |
19 | private Object data;
20 |
21 |
22 | public static Result success(Object data) {
23 | return new Result(true, 200, "success", data);
24 | }
25 |
26 |
27 | public static Result fail(int code, String msg) {
28 | return new Result(false, code, msg, null);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/TagVo.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo;
2 |
3 | import lombok.Data;
4 |
5 | @Data
6 | public class TagVo {
7 |
8 | private String id;
9 |
10 | private String tagName;
11 |
12 | private String avatar;
13 | }
14 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/UserVo.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo;
2 |
3 | import lombok.Data;
4 |
5 | @Data
6 | public class UserVo {
7 |
8 | private String nickname;
9 |
10 | private String avatar;
11 |
12 | private String id;
13 | }
14 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/ai/AIAnswer.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo.ai;
2 |
3 |
4 | import java.util.List;
5 |
6 | public class AIAnswer {
7 |
8 | private String id;
9 |
10 | private String object;
11 |
12 | private int created;
13 |
14 | private String model;
15 |
16 | private List choices;
17 |
18 | public void setId(String id){
19 | this.id = id;
20 | }
21 | public String getId(){
22 | return this.id;
23 | }
24 | public void setObject(String object){
25 | this.object = object;
26 | }
27 | public String getObject(){
28 | return this.object;
29 | }
30 | public void setCreated(int created){
31 | this.created = created;
32 | }
33 | public int getCreated(){
34 | return this.created;
35 | }
36 | public void setModel(String model){
37 | this.model = model;
38 | }
39 | public String getModel(){
40 | return this.model;
41 | }
42 | public void setChoices(List choices){
43 | this.choices = choices;
44 | }
45 | public List getChoices(){
46 | return this.choices;
47 | }
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/ai/Choices.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo.ai;
2 |
3 |
4 | public class Choices {
5 |
6 | private String text;
7 |
8 | private int index;
9 |
10 | private String logprobs;
11 |
12 | private String finish_reason;
13 |
14 | public String getText() {
15 | return text;
16 | }
17 |
18 | public void setText(String text) {
19 | this.text = text;
20 | }
21 |
22 | public int getIndex() {
23 | return index;
24 | }
25 |
26 | public void setIndex(int index) {
27 | this.index = index;
28 | }
29 |
30 | public String getLogprobs() {
31 | return logprobs;
32 | }
33 |
34 | public void setLogprobs(String logprobs) {
35 | this.logprobs = logprobs;
36 | }
37 |
38 | public String getFinish_reason() {
39 | return finish_reason;
40 | }
41 |
42 | public void setFinish_reason(String finish_reason) {
43 | this.finish_reason = finish_reason;
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/params/AdTypePageParam.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo.params;
2 |
3 | import lombok.Data;
4 |
5 | @Data
6 | public class AdTypePageParam {
7 | private int page = 1;
8 |
9 | private int pageSize = 10;
10 |
11 |
12 | /** 删除标志(0代表存在 2代表删除) */
13 | private String delFlag;
14 |
15 | /** 状态(0正常 1停用) */
16 | private String status;
17 | }
18 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/params/ArticleBodyParam.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo.params;
2 |
3 | import lombok.Data;
4 |
5 | @Data
6 | public class ArticleBodyParam {
7 |
8 | private String content;
9 |
10 | private String contentHtml;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/params/ArticleParam.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo.params;
2 |
3 | import com.lin.vo.CategoryVo;
4 | import com.lin.vo.TagVo;
5 | import lombok.Data;
6 |
7 | import java.util.List;
8 |
9 | @Data
10 | public class ArticleParam {
11 |
12 | private Long id;
13 |
14 | private ArticleBodyParam body;
15 |
16 | private CategoryVo category;
17 |
18 | private String summary;
19 |
20 | private List tags;
21 |
22 | private String title;
23 |
24 | private String search;
25 | }
26 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/params/CommentParam.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo.params;
2 |
3 | import lombok.Data;
4 |
5 | @Data
6 | public class CommentParam {
7 |
8 | private Long articleId;
9 |
10 | private String content;
11 |
12 | private Long parent;
13 |
14 | private Long toUserId;
15 | }
16 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/params/LikeParam.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo.params;
2 |
3 | import lombok.Data;
4 |
5 | @Data
6 | public class LikeParam {
7 | //文章id
8 | private String articleId;
9 | //用户id
10 | private String userId;
11 | }
12 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/params/LoginParam.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo.params;
2 |
3 | import lombok.Data;
4 |
5 | @Data
6 | public class LoginParam {
7 |
8 | private String account;
9 |
10 | private String password;
11 |
12 | private String nickname;
13 | }
14 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/params/PageParams.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo.params;
2 |
3 | import lombok.Data;
4 |
5 | @Data
6 | public class PageParams {
7 |
8 | private int page = 1;
9 |
10 | private int pageSize = 10;
11 |
12 | private Long categoryId;
13 |
14 | private Long tagId;
15 |
16 | private String year;
17 |
18 | private String month;
19 |
20 | private String keyWord;
21 |
22 | public String getMonth() {
23 | if (this.month != null && this.month.length() == 1) {
24 | return "0" + this.month;
25 | }
26 | return this.month;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/params/PageSearchParams.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo.params;
2 |
3 | import lombok.Data;
4 |
5 | @Data
6 | public class PageSearchParams {
7 |
8 |
9 | private int page = 1;
10 |
11 | private int pageSize = 10;
12 |
13 | private Long categoryId;
14 |
15 | private Long tagId;
16 |
17 | private String year;
18 |
19 | private String month;
20 | private String keyWord;
21 |
22 | public String getMonth() {
23 | if (this.month != null && this.month.length() == 1) {
24 | return "0" + this.month;
25 | }
26 | return this.month;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/vo/params/UserPatam.java:
--------------------------------------------------------------------------------
1 | package com.lin.vo.params;
2 |
3 | import lombok.Data;
4 |
5 | @Data
6 | public class UserPatam {
7 |
8 | private String account;
9 |
10 | private String nickname;
11 |
12 | private String email;
13 |
14 | private String sex;
15 |
16 | private String birthday;
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/java/com/lin/zhiliaoApplication.java:
--------------------------------------------------------------------------------
1 | package com.lin;
2 |
3 | import org.springframework.boot.SpringApplication;
4 | import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
5 | import org.springframework.boot.autoconfigure.SpringBootApplication;
6 | import org.springframework.scheduling.annotation.EnableScheduling;
7 | import springfox.documentation.oas.annotations.EnableOpenApi;
8 |
9 | @SpringBootApplication
10 | @EnableScheduling //该注解表名在启动定时任务
11 | @EnableOpenApi //开启swagger http://localhost:8160/swagger-ui/index.html
12 | public class zhiliaoApplication {
13 |
14 | public static void main(String[] args) {
15 | SpringApplication.run(zhiliaoApplication.class, args);
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/resources/application-prod.properties:
--------------------------------------------------------------------------------
1 | server.port=8160
2 | spring.application.name=zhiliao_api
3 | spring.mvc.servlet.path=/api
4 | # datasource
5 | spring.datasource.url=jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=UTF-8&serverTimeZone=UTC
6 | spring.datasource.username=root
7 | spring.datasource.password=123456
8 | spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
9 | #mybatis-plus
10 | #mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
11 | mybatis-plus.global-config.db-config.table-prefix=b_
12 | spring.redis.host=localhost
13 | spring.redis.port=6379
14 | spring.servlet.multipart.max-request-size=20MB
15 | spring.servlet.multipart.max-file-size=2MB
16 | qiniu.accessKey=lz4ynjPJIT9zxaPAowi8S2swpB3ysoOfKe89iGi8
17 | qiniu.accessSecretKey=-w_GdwjFFuJ3O72Ixh9NME-hRDFTV_KCNLwM3pab
18 | qiniu.name=zhiliaosq
19 | #rocketmq
20 | #rocketmq.name-server=106.12.106.46:9876
21 | rocketmq.name-server=127.0.0.1:9876
22 | rocketmq.producer.group=api_group
23 | #wechat
24 | wx.open.app_id=wxed9954c01bb89b47
25 | wx.open.app_secret=a7482517235173ddb4083788de60b90e
26 | wx.open.redirect_url=http://localhost:8160/api/ucenter/wx/callback
27 | yygh.baseUrl=http://localhost:8080
28 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/resources/com/lin/dao/mapper/ArticleMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | update b_article set available=0
21 |
22 |
23 | id=#{articleId}
24 |
25 |
26 |
27 |
28 |
32 |
33 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/zhiliao-api/src/main/resources/com/lin/dao/mapper/TagMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
13 |
14 |
17 |
18 |
25 |
26 |
--------------------------------------------------------------------------------
/zhiliao-api/zhiliao-api.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------