sortedMap = WxPayUtils.getSortedMap(callbackMap);
121 |
122 | /**
123 | * 判断签名是否正确
124 | */
125 | if (WxPayUtils.isCorrectSign(sortedMap, wechatConfig.getKey())) {
126 | if ("SUCCESS".equals(sortedMap.get("result_code"))) {
127 |
128 | String outTradeNo = sortedMap.get("out_trade_no");
129 |
130 | VideoOrder dbVideoOrder = videoOrderService.findByOutTradeNo(outTradeNo);
131 |
132 | /**
133 | * 更新订单状态
134 | * 判断逻辑看业务场景
135 | */
136 | if (dbVideoOrder != null && dbVideoOrder.getState() == 0) {
137 | VideoOrder videoOrder = new VideoOrder();
138 | videoOrder.setOpenid(sortedMap.get("openid"));
139 | videoOrder.setOutTradeNo(outTradeNo);
140 | videoOrder.setNotifyTime(new Date());
141 | videoOrder.setState(1);
142 | int rows = videoOrderService.updateVideoOderByOutTradeNo(videoOrder);
143 |
144 | /**
145 | * 影响行数row==1 或者 row==0 响应微信成功或者失败
146 | * 通知微信订单处理成功
147 | */
148 | if (rows == 1) {
149 | response.setContentType("text/xml");
150 | response.getWriter().println("success");
151 | return;
152 | }
153 | }
154 | }
155 | }
156 |
157 | //都处理失败
158 | response.setContentType("text/xml");
159 | response.getWriter().println("fail");
160 | }
161 | }
162 |
--------------------------------------------------------------------------------
/src/main/java/com/sakura/xdvideo/controller/admin/VideoAdminController.java:
--------------------------------------------------------------------------------
1 | package com.sakura.xdvideo.controller.admin;
2 |
3 | import com.sakura.xdvideo.domain.Video;
4 | import com.sakura.xdvideo.service.VideoService;
5 | import org.springframework.beans.factory.annotation.Autowired;
6 | import org.springframework.web.bind.annotation.*;
7 |
8 | /**
9 | * admin才能操作的接口
10 | *
11 | * @author sakura
12 | */
13 | @RestController
14 | @RequestMapping("/admin/api/v1/video")
15 | public class VideoAdminController {
16 |
17 | @Autowired
18 | private VideoService videoService;
19 |
20 | /**
21 | * 根据Id删除视频
22 | *
23 | * @param videoId
24 | * @return
25 | */
26 | @DeleteMapping("del_by_id")
27 | public Object delById(@RequestParam(value = "video_id", required = true) int videoId) {
28 | return videoService.delete(videoId);
29 | }
30 |
31 | /**
32 | * 根据Id更新视频
33 | *
34 | * @param video
35 | * @return
36 | */
37 | @PutMapping("update_by_id")
38 | public Object update(@RequestBody Video video) {
39 | return videoService.update(video);
40 | }
41 |
42 | /**
43 | * 添加视频
44 | *
45 | * @param video
46 | * @return
47 | */
48 | @PostMapping("save")
49 | public Object save(@RequestBody Video video) {
50 | return videoService.save(video);
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/src/main/java/com/sakura/xdvideo/domain/Chapter.java:
--------------------------------------------------------------------------------
1 | package com.sakura.xdvideo.domain;
2 |
3 |
4 | import java.io.Serializable;
5 | import java.util.Date;
6 |
7 | /**
8 | * 章实体类
9 | *
10 | * @author sakura
11 | */
12 | public class Chapter implements Serializable {
13 |
14 | private static final long serialVersionUID = 6541874419464257875L;
15 | private Integer id;
16 | private Integer videoId;
17 | private String title;
18 | private Integer ordered;
19 | private Date createTime;
20 |
21 |
22 | public Integer getId() {
23 | return id;
24 | }
25 |
26 | public void setId(Integer id) {
27 | this.id = id;
28 | }
29 |
30 |
31 | public Integer getVideoId() {
32 | return videoId;
33 | }
34 |
35 | public void setVideoId(Integer videoId) {
36 | this.videoId = videoId;
37 | }
38 |
39 |
40 | public String getTitle() {
41 | return title;
42 | }
43 |
44 | public void setTitle(String title) {
45 | this.title = title;
46 | }
47 |
48 |
49 | public Integer getOrdered() {
50 | return ordered;
51 | }
52 |
53 | public void setOrdered(Integer ordered) {
54 | this.ordered = ordered;
55 | }
56 |
57 | public Date getCreateTime() {
58 | return createTime;
59 | }
60 |
61 | public void setCreateTime(Date createTime) {
62 | this.createTime = createTime;
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/src/main/java/com/sakura/xdvideo/domain/Comment.java:
--------------------------------------------------------------------------------
1 | package com.sakura.xdvideo.domain;
2 |
3 |
4 | import java.io.Serializable;
5 | import java.util.Date;
6 |
7 | /**
8 | * 评论实体类
9 | *
10 | * @author sakura
11 | */
12 | public class Comment implements Serializable {
13 |
14 | private static final long serialVersionUID = -6842128358651545609L;
15 | private Integer id;
16 | private String content;
17 | private Integer userId;
18 | private String headImg;
19 | private String name;
20 | private double point;
21 | private Integer up;
22 | private Date createTime;
23 | private Integer orderId;
24 | private Integer videoId;
25 |
26 |
27 | public Integer getId() {
28 | return id;
29 | }
30 |
31 | public void setId(Integer id) {
32 | this.id = id;
33 | }
34 |
35 |
36 | public String getContent() {
37 | return content;
38 | }
39 |
40 | public void setContent(String content) {
41 | this.content = content;
42 | }
43 |
44 |
45 | public Integer getUserId() {
46 | return userId;
47 | }
48 |
49 | public void setUserId(Integer userId) {
50 | this.userId = userId;
51 | }
52 |
53 |
54 | public String getHeadImg() {
55 | return headImg;
56 | }
57 |
58 | public void setHeadImg(String headImg) {
59 | this.headImg = headImg;
60 | }
61 |
62 |
63 | public String getName() {
64 | return name;
65 | }
66 |
67 | public void setName(String name) {
68 | this.name = name;
69 | }
70 |
71 |
72 | public double getPoint() {
73 | return point;
74 | }
75 |
76 | public void setPoint(double point) {
77 | this.point = point;
78 | }
79 |
80 |
81 | public Integer getUp() {
82 | return up;
83 | }
84 |
85 | public void setUp(Integer up) {
86 | this.up = up;
87 | }
88 |
89 |
90 | public Date getCreateTime() {
91 | return createTime;
92 | }
93 |
94 | public void setCreateTime(Date createTime) {
95 | this.createTime = createTime;
96 | }
97 |
98 | public Integer getOrderId() {
99 | return orderId;
100 | }
101 |
102 | public void setOrderId(Integer orderId) {
103 | this.orderId = orderId;
104 | }
105 |
106 |
107 | public Integer getVideoId() {
108 | return videoId;
109 | }
110 |
111 | public void setVideoId(Integer videoId) {
112 | this.videoId = videoId;
113 | }
114 |
115 | }
116 |
--------------------------------------------------------------------------------
/src/main/java/com/sakura/xdvideo/domain/Episode.java:
--------------------------------------------------------------------------------
1 | package com.sakura.xdvideo.domain;
2 |
3 |
4 | import java.io.Serializable;
5 | import java.util.Date;
6 |
7 | /**
8 | * 集实体类
9 | *
10 | * @author sakura
11 | */
12 | public class Episode implements Serializable {
13 |
14 | private static final long serialVersionUID = -2483015244114384284L;
15 | private Integer id;
16 | private String title;
17 | private Integer num;
18 | private String duration;
19 | private String coverImg;
20 | private Integer videoId;
21 | private String summary;
22 | private Date createTime;
23 | private Integer chapterId;
24 |
25 |
26 | public Integer getId() {
27 | return id;
28 | }
29 |
30 | public void setId(Integer id) {
31 | this.id = id;
32 | }
33 |
34 |
35 | public String getTitle() {
36 | return title;
37 | }
38 |
39 | public void setTitle(String title) {
40 | this.title = title;
41 | }
42 |
43 |
44 | public Integer getNum() {
45 | return num;
46 | }
47 |
48 | public void setNum(Integer num) {
49 | this.num = num;
50 | }
51 |
52 |
53 | public String getDuration() {
54 | return duration;
55 | }
56 |
57 | public void setDuration(String duration) {
58 | this.duration = duration;
59 | }
60 |
61 |
62 | public String getCoverImg() {
63 | return coverImg;
64 | }
65 |
66 | public void setCoverImg(String coverImg) {
67 | this.coverImg = coverImg;
68 | }
69 |
70 |
71 | public Integer getVideoId() {
72 | return videoId;
73 | }
74 |
75 | public void setVideoId(Integer videoId) {
76 | this.videoId = videoId;
77 | }
78 |
79 |
80 | public String getSummary() {
81 | return summary;
82 | }
83 |
84 | public void setSummary(String summary) {
85 | this.summary = summary;
86 | }
87 |
88 |
89 | public Date getCreateTime() {
90 | return createTime;
91 | }
92 |
93 | public void setCreateTime(Date createTime) {
94 | this.createTime = createTime;
95 | }
96 |
97 | public Integer getChapterId() {
98 | return chapterId;
99 | }
100 |
101 | public void setChapterId(Integer chapterId) {
102 | this.chapterId = chapterId;
103 | }
104 |
105 | }
106 |
--------------------------------------------------------------------------------
/src/main/java/com/sakura/xdvideo/domain/JsonData.java:
--------------------------------------------------------------------------------
1 | package com.sakura.xdvideo.domain;
2 |
3 | import java.io.Serializable;
4 |
5 | /**
6 | * 功能描述:工具类
7 | *
8 | * 创建时间:May 14, 2018 7:58:06 PM
9 | *
10 | * @author sakura
11 | */
12 | public class JsonData implements Serializable {
13 |
14 | /**
15 | *
16 | */
17 | private static final long serialVersionUID = 1L;
18 |
19 | private Integer code; // 状态码 0 表示成功,1表示处理中,-1表示失败
20 | private Object data; // 数据
21 | private String msg;// 描述
22 |
23 | public JsonData() {
24 | }
25 |
26 | public JsonData(Integer code, Object data, String msg) {
27 | this.code = code;
28 | this.data = data;
29 | this.msg = msg;
30 | }
31 |
32 | // 成功,传入数据
33 | public static JsonData buildSuccess() {
34 | return new JsonData(0, null, null);
35 | }
36 |
37 | // 成功,传入数据
38 | public static JsonData buildSuccess(Object data) {
39 | return new JsonData(0, data, null);
40 | }
41 |
42 | // 失败,传入描述信息
43 | public static JsonData buildError(String msg) {
44 | return new JsonData(-1, null, msg);
45 | }
46 |
47 | // 失败,传入描述信息,状态码
48 | public static JsonData buildError(String msg, Integer code) {
49 | return new JsonData(code, null, msg);
50 | }
51 |
52 | // 成功,传入数据,及描述信息
53 | public static JsonData buildSuccess(Object data, String msg) {
54 | return new JsonData(0, data, msg);
55 | }
56 |
57 | // 成功,传入数据,及状态码
58 | public static JsonData buildSuccess(Object data, int code) {
59 | return new JsonData(code, data, null);
60 | }
61 |
62 | public Integer getCode() {
63 | return code;
64 | }
65 |
66 | public void setCode(Integer code) {
67 | this.code = code;
68 | }
69 |
70 | public Object getData() {
71 | return data;
72 | }
73 |
74 | public void setData(Object data) {
75 | this.data = data;
76 | }
77 |
78 | public String getMsg() {
79 | return msg;
80 | }
81 |
82 | public void setMsg(String msg) {
83 | this.msg = msg;
84 | }
85 |
86 | @Override
87 | public String toString() {
88 | return "JsonData [code=" + code + ", data=" + data + ", msg=" + msg
89 | + "]";
90 | }
91 |
92 | }
93 |
--------------------------------------------------------------------------------
/src/main/java/com/sakura/xdvideo/domain/User.java:
--------------------------------------------------------------------------------
1 | package com.sakura.xdvideo.domain;
2 |
3 |
4 | import java.io.Serializable;
5 | import java.util.Date;
6 |
7 | /**
8 | * 用户实体类
9 | *
10 | * @author sakura
11 | */
12 | public class User implements Serializable {
13 |
14 | private static final long serialVersionUID = -6462884255006241581L;
15 | private Integer id;
16 | private String openid;
17 | private String name;
18 | private String headImg;
19 | private String phone;
20 | private String sign;
21 | private Integer sex;
22 | private String city;
23 | private Date createTime;
24 |
25 |
26 | public Integer getId() {
27 | return id;
28 | }
29 |
30 | public void setId(Integer id) {
31 | this.id = id;
32 | }
33 |
34 |
35 | public String getOpenid() {
36 | return openid;
37 | }
38 |
39 | public void setOpenid(String openid) {
40 | this.openid = openid;
41 | }
42 |
43 |
44 | public String getName() {
45 | return name;
46 | }
47 |
48 | public void setName(String name) {
49 | this.name = name;
50 | }
51 |
52 |
53 | public String getHeadImg() {
54 | return headImg;
55 | }
56 |
57 | public void setHeadImg(String headImg) {
58 | this.headImg = headImg;
59 | }
60 |
61 |
62 | public String getPhone() {
63 | return phone;
64 | }
65 |
66 | public void setPhone(String phone) {
67 | this.phone = phone;
68 | }
69 |
70 |
71 | public String getSign() {
72 | return sign;
73 | }
74 |
75 | public void setSign(String sign) {
76 | this.sign = sign;
77 | }
78 |
79 |
80 | public Integer getSex() {
81 | return sex;
82 | }
83 |
84 | public void setSex(Integer sex) {
85 | this.sex = sex;
86 | }
87 |
88 |
89 | public String getCity() {
90 | return city;
91 | }
92 |
93 | public void setCity(String city) {
94 | this.city = city;
95 | }
96 |
97 |
98 | public Date getCreateTime() {
99 | return createTime;
100 | }
101 |
102 | public void setCreateTime(Date createTime) {
103 | this.createTime = createTime;
104 | }
105 | }
106 |
--------------------------------------------------------------------------------
/src/main/java/com/sakura/xdvideo/domain/Video.java:
--------------------------------------------------------------------------------
1 | package com.sakura.xdvideo.domain;
2 |
3 |
4 | import java.io.Serializable;
5 | import java.util.Date;
6 |
7 | /**
8 | * 视频实体类
9 | *
10 | * @author sakura
11 | */
12 | public class Video implements Serializable {
13 |
14 | private static final long serialVersionUID = 103882269176221878L;
15 | private Integer id;
16 | private String title;
17 | private String summary;
18 | private String coverImg;
19 | private Integer viewNum;
20 | private Integer price;
21 | private Date createTime;
22 | private Integer online;
23 | private Double point;
24 |
25 |
26 | public Integer getId() {
27 | return id;
28 | }
29 |
30 | public void setId(Integer id) {
31 | this.id = id;
32 | }
33 |
34 |
35 | public String getTitle() {
36 | return title;
37 | }
38 |
39 | public void setTitle(String title) {
40 | this.title = title;
41 | }
42 |
43 |
44 | public String getSummary() {
45 | return summary;
46 | }
47 |
48 | public void setSummary(String summary) {
49 | this.summary = summary;
50 | }
51 |
52 |
53 | public String getCoverImg() {
54 | return coverImg;
55 | }
56 |
57 | public void setCoverImg(String coverImg) {
58 | this.coverImg = coverImg;
59 | }
60 |
61 |
62 | public Integer getViewNum() {
63 | return viewNum;
64 | }
65 |
66 | public void setViewNum(Integer viewNum) {
67 | this.viewNum = viewNum;
68 | }
69 |
70 |
71 | public Integer getPrice() {
72 | return price;
73 | }
74 |
75 | public void setPrice(Integer price) {
76 | this.price = price;
77 | }
78 |
79 |
80 | public Date getCreateTime() {
81 | return createTime;
82 | }
83 |
84 | public void setCreateTime(Date createTime) {
85 | this.createTime = createTime;
86 | }
87 |
88 | public Integer getOnline() {
89 | return online;
90 | }
91 |
92 | public void setOnline(Integer online) {
93 | this.online = online;
94 | }
95 |
96 | public Double getPoint() {
97 | return point;
98 | }
99 |
100 | public void setPoint(Double point) {
101 | this.point = point;
102 | }
103 | }
104 |
--------------------------------------------------------------------------------
/src/main/java/com/sakura/xdvideo/domain/VideoOrder.java:
--------------------------------------------------------------------------------
1 | package com.sakura.xdvideo.domain;
2 |
3 |
4 | import java.io.Serializable;
5 | import java.util.Date;
6 |
7 | /**
8 | * 订单实体类
9 | *
10 | * @author sakura
11 | */
12 | public class VideoOrder implements Serializable {
13 |
14 | private static final long serialVersionUID = 8936311363664335754L;
15 | private Integer id;
16 | private String openid;
17 | private String outTradeNo;
18 |
19 | /**
20 | * 0表示未支付,1表示已经支付
21 | */
22 | private Integer state;
23 | private Date createTime;
24 | private Date notifyTime;
25 |
26 | /**
27 | * 分为单位
28 | */
29 | private Integer totalFee;
30 | private String nickname;
31 | private String headImg;
32 | private Integer videoId;
33 | private String videoTitle;
34 | private String videoImg;
35 | private Integer userId;
36 | private String ip;
37 | private Integer del;
38 |
39 |
40 | public Integer getId() {
41 | return id;
42 | }
43 |
44 | public void setId(Integer id) {
45 | this.id = id;
46 | }
47 |
48 |
49 | public String getOpenid() {
50 | return openid;
51 | }
52 |
53 | public void setOpenid(String openid) {
54 | this.openid = openid;
55 | }
56 |
57 |
58 | public String getOutTradeNo() {
59 | return outTradeNo;
60 | }
61 |
62 | public void setOutTradeNo(String outTradeNo) {
63 | this.outTradeNo = outTradeNo;
64 | }
65 |
66 |
67 | public Integer getState() {
68 | return state;
69 | }
70 |
71 | public void setState(Integer state) {
72 | this.state = state;
73 | }
74 |
75 |
76 | public Date getCreateTime() {
77 | return createTime;
78 | }
79 |
80 | public void setCreateTime(Date createTime) {
81 | this.createTime = createTime;
82 | }
83 |
84 | public Date getNotifyTime() {
85 | return notifyTime;
86 | }
87 |
88 | public void setNotifyTime(Date notifyTime) {
89 | this.notifyTime = notifyTime;
90 | }
91 |
92 | public Integer getTotalFee() {
93 | return totalFee;
94 | }
95 |
96 | public void setTotalFee(Integer totalFee) {
97 | this.totalFee = totalFee;
98 | }
99 |
100 |
101 | public String getNickname() {
102 | return nickname;
103 | }
104 |
105 | public void setNickname(String nickname) {
106 | this.nickname = nickname;
107 | }
108 |
109 |
110 | public String getHeadImg() {
111 | return headImg;
112 | }
113 |
114 | public void setHeadImg(String headImg) {
115 | this.headImg = headImg;
116 | }
117 |
118 |
119 | public Integer getVideoId() {
120 | return videoId;
121 | }
122 |
123 | public void setVideoId(Integer videoId) {
124 | this.videoId = videoId;
125 | }
126 |
127 |
128 | public String getVideoTitle() {
129 | return videoTitle;
130 | }
131 |
132 | public void setVideoTitle(String videoTitle) {
133 | this.videoTitle = videoTitle;
134 | }
135 |
136 |
137 | public String getVideoImg() {
138 | return videoImg;
139 | }
140 |
141 | public void setVideoImg(String videoImg) {
142 | this.videoImg = videoImg;
143 | }
144 |
145 |
146 | public Integer getUserId() {
147 | return userId;
148 | }
149 |
150 | public void setUserId(Integer userId) {
151 | this.userId = userId;
152 | }
153 |
154 |
155 | public String getIp() {
156 | return ip;
157 | }
158 |
159 | public void setIp(String ip) {
160 | this.ip = ip;
161 | }
162 |
163 |
164 | public Integer getDel() {
165 | return del;
166 | }
167 |
168 | public void setDel(Integer del) {
169 | this.del = del;
170 | }
171 |
172 | }
173 |
--------------------------------------------------------------------------------
/src/main/java/com/sakura/xdvideo/dto/VideoOrderDto.java:
--------------------------------------------------------------------------------
1 | package com.sakura.xdvideo.dto;
2 |
3 |
4 | import com.sakura.xdvideo.domain.VideoOrder;
5 |
6 | /**
7 | * 订单数据传输对象
8 | *
9 | * @author sakura
10 | */
11 | public class VideoOrderDto extends VideoOrder {
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/src/main/java/com/sakura/xdvideo/exception/XdException.java:
--------------------------------------------------------------------------------
1 | package com.sakura.xdvideo.exception;
2 |
3 |
4 | /**
5 | * 自定义异常类
6 | *
7 | * @author sakura
8 | */
9 | public class XdException extends RuntimeException {
10 |
11 |
12 | /**
13 | * 状态码
14 | */
15 | private Integer code;
16 | /**
17 | * 异常消息
18 | */
19 | private String msg;
20 |
21 |
22 | public XdException(int code, String msg) {
23 | super(msg);
24 | this.code = code;
25 | this.msg = msg;
26 | }
27 |
28 | public Integer getCode() {
29 | return code;
30 | }
31 |
32 | public void setCode(Integer 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 |
--------------------------------------------------------------------------------
/src/main/java/com/sakura/xdvideo/exception/XdExceptionHandler.java:
--------------------------------------------------------------------------------
1 | package com.sakura.xdvideo.exception;
2 |
3 |
4 | import com.sakura.xdvideo.domain.JsonData;
5 | import org.springframework.web.bind.annotation.ControllerAdvice;
6 | import org.springframework.web.bind.annotation.ExceptionHandler;
7 | import org.springframework.web.bind.annotation.ResponseBody;
8 |
9 | /**
10 | * 异常处理控制器
11 | *
12 | * @author sakura
13 | */
14 | @ControllerAdvice
15 | public class XdExceptionHandler {
16 |
17 |
18 | @ExceptionHandler(value = Exception.class)
19 | @ResponseBody
20 | public JsonData Handler(Exception e) {
21 |
22 | if (e instanceof XdException) {
23 | XdException xdException = (XdException) e;
24 | return JsonData.buildError(xdException.getMsg(), xdException.getCode());
25 | } else {
26 | return JsonData.buildError("全局异常,未知错误");
27 | }
28 | }
29 |
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/java/com/sakura/xdvideo/interceoter/LoginIntercepter.java:
--------------------------------------------------------------------------------
1 | package com.sakura.xdvideo.interceoter;
2 |
3 | import com.google.gson.Gson;
4 | import com.sakura.xdvideo.domain.JsonData;
5 | import com.sakura.xdvideo.utils.JwtUtils;
6 | import io.jsonwebtoken.Claims;
7 | import org.springframework.web.servlet.HandlerInterceptor;
8 |
9 | import javax.servlet.http.HttpServletRequest;
10 | import javax.servlet.http.HttpServletResponse;
11 | import java.io.IOException;
12 | import java.io.PrintWriter;
13 |
14 | /**
15 | * 拦截器
16 | *
17 | * @author sakura
18 | */
19 | public class LoginIntercepter implements HandlerInterceptor {
20 |
21 | private static final Gson gson = new Gson();
22 |
23 | /**
24 | * 进入controller之前进行拦截
25 | *
26 | * @param request
27 | * @param response
28 | * @param handler
29 | * @return
30 | * @throws Exception
31 | */
32 | @Override
33 | public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
34 |
35 | String token = request.getHeader("token");
36 | if (token == null) {
37 | token = request.getParameter("token");
38 | }
39 |
40 | if (token != null) {
41 | Claims claims = JwtUtils.checkJWT(token);
42 | if (claims != null) {
43 | Integer userId = (Integer) claims.get("id");
44 | String name = (String) claims.get("name");
45 |
46 | request.setAttribute("user_id", userId);
47 | request.setAttribute("name", name);
48 |
49 | return true;
50 | }
51 | }
52 | sendJsonMessage(response, JsonData.buildError("请登录"));
53 | return false;
54 | }
55 |
56 | /**
57 | * 响应数据给前端
58 | *
59 | * @param response
60 | * @param object
61 | * @throws IOException
62 | */
63 | public static void sendJsonMessage(HttpServletResponse response, Object object) throws IOException {
64 | response.setContentType("application/json; charset=utf-8");
65 | PrintWriter writer = null;
66 | writer = response.getWriter();
67 | writer.print(gson.toJson(object));
68 | writer.close();
69 | response.flushBuffer();
70 |
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/src/main/java/com/sakura/xdvideo/mapper/UserMapper.java:
--------------------------------------------------------------------------------
1 | package com.sakura.xdvideo.mapper;
2 |
3 | import com.sakura.xdvideo.domain.User;
4 | import org.apache.ibatis.annotations.Insert;
5 | import org.apache.ibatis.annotations.Options;
6 | import org.apache.ibatis.annotations.Param;
7 | import org.apache.ibatis.annotations.Select;
8 |
9 | /**
10 | * 用户数据访问层
11 | *
12 | * @author sakura
13 | */
14 | public interface UserMapper {
15 |
16 |
17 | /**
18 | * 根据主键id查找
19 | *
20 | * @param userId
21 | * @return
22 | */
23 | @Select("select * from user where id = #{id}")
24 | User findByid(@Param("id") int userId);
25 |
26 | /**
27 | * 根据openid找用户
28 | *
29 | * @param openid
30 | * @return
31 | */
32 | @Select("select * from user where openid = #{openid}")
33 | User findByopenid(@Param("openid") String openid);
34 |
35 |
36 | /**
37 | * 保存用户信息
38 | *
39 | * @param user
40 | * @return
41 | */
42 | @Insert("INSERT INTO `user` ( `openid`, `name`, `head_img`, `phone`, `sign`, `sex`, `city`, `create_time`)" +
43 | "VALUES" +
44 | "(#{openid},#{name},#{headImg},#{phone},#{sign},#{sex},#{city},#{createTime});")
45 | @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
46 | int save(User user);
47 |
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/src/main/java/com/sakura/xdvideo/mapper/VideoMapper.java:
--------------------------------------------------------------------------------
1 | package com.sakura.xdvideo.mapper;
2 |
3 | import com.sakura.xdvideo.domain.Video;
4 | import com.sakura.xdvideo.provider.VideoProvider;
5 | import org.apache.ibatis.annotations.*;
6 |
7 | import java.util.List;
8 |
9 | /**
10 | * video数据访问层
11 | *
12 | * @author sakura
13 | */
14 | public interface VideoMapper {
15 |
16 | @Select("select * from video")
17 | List