微信接口

This commit is contained in:
limqhz
2023-02-03 17:18:52 +08:00
parent 70a44bdbc7
commit 2253335b5d
6 changed files with 127 additions and 6 deletions

View File

@@ -0,0 +1,16 @@
package com.quinn.common.wx;
public enum AccSettingType {
/**
* 收入
*/
INCOME_SETTING,
/**
* 支出
*/
EXPEND_SETTING,
/**
* 账户
*/
ACCOUNT_SETTING
}

View File

@@ -0,0 +1,12 @@
package com.quinn.common.wx;
import lombok.Data;
@Data
public class YearAmnt {
private int settingId;
private double money;
}

View File

@@ -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;
}
}

View File

@@ -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;
/**
* <p>
@@ -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<String,List<AccSetting>> result = new HashMap<>();
List<AccSetting> userSetting = accSettingService.list(new QueryWrapper<AccSetting>().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<YearAmnt> 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<YearAmnt> billByType = accSettingService.getBillByType(getLoginUserId(request), AccSettingType.INCOME_SETTING);
return ResponseDTO.ok().setData(billByType);
}
}

View File

@@ -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_");//设置表前缀不生成

View File

@@ -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`)
);