diff --git a/src/main/java/com/quinn/common/wx/AccSettingType.java b/src/main/java/com/quinn/common/wx/AccSettingType.java
new file mode 100644
index 0000000..23ac972
--- /dev/null
+++ b/src/main/java/com/quinn/common/wx/AccSettingType.java
@@ -0,0 +1,16 @@
+package com.quinn.common.wx;
+
+public enum AccSettingType {
+ /**
+ * 收入
+ */
+ INCOME_SETTING,
+ /**
+ * 支出
+ */
+ EXPEND_SETTING,
+ /**
+ * 账户
+ */
+ ACCOUNT_SETTING
+}
diff --git a/src/main/java/com/quinn/common/wx/YearAmnt.java b/src/main/java/com/quinn/common/wx/YearAmnt.java
new file mode 100644
index 0000000..bad68cd
--- /dev/null
+++ b/src/main/java/com/quinn/common/wx/YearAmnt.java
@@ -0,0 +1,12 @@
+package com.quinn.common.wx;
+
+import lombok.Data;
+
+@Data
+public class YearAmnt {
+
+ private int settingId;
+
+ private double money;
+
+}
diff --git a/src/main/java/com/quinn/controller/wx/BaseWxController.java b/src/main/java/com/quinn/controller/wx/BaseWxController.java
new file mode 100644
index 0000000..5ee4467
--- /dev/null
+++ b/src/main/java/com/quinn/controller/wx/BaseWxController.java
@@ -0,0 +1,14 @@
+package com.quinn.controller.wx;
+
+import com.quinn.pojo.User;
+
+import javax.servlet.http.HttpServletRequest;
+
+public class BaseWxController {
+
+ protected String getLoginUserId(HttpServletRequest request){
+ String userId = request.getParameter("userId");
+ return userId;
+ }
+
+}
diff --git a/src/main/java/com/quinn/controller/wx/WxSettingsController.java b/src/main/java/com/quinn/controller/wx/WxSettingsController.java
index 120b7f5..95d5145 100644
--- a/src/main/java/com/quinn/controller/wx/WxSettingsController.java
+++ b/src/main/java/com/quinn/controller/wx/WxSettingsController.java
@@ -1,13 +1,25 @@
package com.quinn.controller.wx;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.quinn.common.wx.AccSettingType;
+import com.quinn.common.wx.YearAmnt;
import com.quinn.dto.req.SearchPage;
import com.quinn.dto.res.ResponseDTO;
+import com.quinn.pojo.AccSetting;
+import com.quinn.service.AccSettingService;
import com.quinn.service.AccountCheckService;
+import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
/**
*
@@ -19,16 +31,72 @@ import javax.annotation.Resource;
*/
@RestController
@RequestMapping("/wx")
-public class WxSettingsController {
+public class WxSettingsController extends BaseWxController{
@Resource
private AccountCheckService accountCheckService;
+ @Resource
+ private AccSettingService accSettingService;
@PostMapping("user/login")
public ResponseDTO userIndexBlog(SearchPage searchPage){
- ResponseDTO result = ResponseDTO.ok();
- result.setData(accountCheckService.getUserId("openid"));
- return result;
+ return ResponseDTO.ok().setData(accountCheckService.getUserId("openid"));
+ }
+
+ @PostMapping("user/settings")
+ public ResponseDTO getSettings(HttpServletRequest request){
+ Map> result = new HashMap<>();
+ List userSetting = accSettingService.list(new QueryWrapper().eq("user_id", getLoginUserId(request)));
+ result.put(AccSettingType.INCOME_SETTING.name(), userSetting.stream().filter(x -> AccSettingType.INCOME_SETTING.equals(x.getSettingType())).collect(Collectors.toList()));
+ result.put(AccSettingType.EXPEND_SETTING.name(), userSetting.stream().filter(x -> AccSettingType.EXPEND_SETTING.equals(x.getSettingType())).collect(Collectors.toList()));
+ result.put(AccSettingType.ACCOUNT_SETTING.name(), userSetting.stream().filter(x -> AccSettingType.ACCOUNT_SETTING.equals(x.getSettingType())).collect(Collectors.toList()));
+ return ResponseDTO.ok().setData(result);
+ }
+
+ /**
+ * 本年度支出统计
+ * @param request
+ * @return
+ */
+ @PostMapping("user/settings/{id}")
+ public ResponseDTO addSetting(HttpServletRequest request, @PathVariable("id") String id){
+ AccSetting byId = accSettingService.getById(id);
+ return ResponseDTO.ok().setData(byId);
+ }
+
+ /**
+ * 本年度支出统计
+ * @param request
+ * @return
+ */
+ @PostMapping("user/settings/add")
+ public ResponseDTO addSetting(HttpServletRequest request,AccSetting accSetting){
+ accSetting.setGmtCreate(new Date());
+ accSetting.setUserId(getLoginUserId(request));
+ accSettingService.save(accSetting);
+ return ResponseDTO.ok();
+ }
+
+ /**
+ * 本年度支出统计
+ * @param request
+ * @return
+ */
+ @PostMapping("user/settings/expend")
+ public ResponseDTO getBillExpend(HttpServletRequest request){
+ List billByType = accSettingService.getBillByType(getLoginUserId(request), AccSettingType.EXPEND_SETTING);
+ return ResponseDTO.ok().setData(billByType);
+ }
+
+ /**
+ * 本年度收入统计
+ * @param request
+ * @return
+ */
+ @PostMapping("user/settings/income")
+ public ResponseDTO getBillIncome(HttpServletRequest request){
+ List billByType = accSettingService.getBillByType(getLoginUserId(request), AccSettingType.INCOME_SETTING);
+ return ResponseDTO.ok().setData(billByType);
}
}
diff --git a/src/main/java/com/quinn/generator/CodeGenerator.java b/src/main/java/com/quinn/generator/CodeGenerator.java
index b3b1a7b..9051308 100644
--- a/src/main/java/com/quinn/generator/CodeGenerator.java
+++ b/src/main/java/com/quinn/generator/CodeGenerator.java
@@ -51,7 +51,7 @@ public class CodeGenerator {
// 5、策略配置
StrategyConfig strategy = new StrategyConfig();
- strategy.setInclude("qn_user");//设置要映射的表名
+ strategy.setInclude("qn_acc_bill");//设置要映射的表名
strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
strategy.setTablePrefix("qn_");//设置表前缀不生成
diff --git a/src/main/resources/sql/account.sql b/src/main/resources/sql/account.sql
index 6db5815..c39b8ba 100644
--- a/src/main/resources/sql/account.sql
+++ b/src/main/resources/sql/account.sql
@@ -5,9 +5,20 @@ DROP TABLE IF EXISTS `qn_acc_setting`;
CREATE TABLE `qn_acc_setting` (
`id` int(10) NOT NULL AUTO_INCREMENT COMMENT '自增id',
`name` varchar(200) NOT NULL COMMENT '名称',
- `setting_type` varchar(10) DEFAULT NULL COMMENT '设置类型1-支出 2-收入 3-账户',
+ `setting_type` varchar(20) DEFAULT NULL COMMENT '设置类型1-支出 2-收入 3-账户',
`icon` varchar(200) NOT NULL COMMENT '收藏者id',
`user_id` varchar(200) DEFAULT NULL,
`gmt_create` datetime NOT NULL COMMENT '收藏创建时间',
PRIMARY KEY (`id`)
);
+DROP TABLE IF EXISTS `qn_acc_bill`;
+CREATE TABLE `qn_acc_bill` (
+ `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '自增id',
+ `money` double(9,2) NOT NULL COMMENT '金额',
+ `bill_type` int(10) DEFAULT NULL COMMENT '账单分类ID',
+ `account_type` int(10) NOT NULL COMMENT '账户分类ID',
+ `date` datetime DEFAULT NULL,
+ `remark` varchar(500) DEFAULT NULL,
+ `gmt_create` datetime NOT NULL COMMENT '收藏创建时间',
+ PRIMARY KEY (`id`)
+);