14 changed files with 294 additions and 18 deletions
@ -0,0 +1,71 @@ |
|||||
|
package cn.iocoder.yudao.module.book.controller.app.classification; |
||||
|
|
||||
|
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; |
||||
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
||||
|
import cn.iocoder.yudao.framework.common.pojo.PageParam; |
||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult; |
||||
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
||||
|
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; |
||||
|
import cn.iocoder.yudao.module.book.controller.admin.classification.vo.ClassificationPageReqVO; |
||||
|
import cn.iocoder.yudao.module.book.controller.admin.classification.vo.ClassificationRespVO; |
||||
|
import cn.iocoder.yudao.module.book.controller.admin.classification.vo.ClassificationSaveReqVO; |
||||
|
import cn.iocoder.yudao.module.book.dal.dataobject.classification.ClassificationDO; |
||||
|
import cn.iocoder.yudao.module.book.service.classification.ClassificationService; |
||||
|
import io.swagger.v3.oas.annotations.Operation; |
||||
|
import io.swagger.v3.oas.annotations.Parameter; |
||||
|
import io.swagger.v3.oas.annotations.tags.Tag; |
||||
|
import org.springframework.security.access.prepost.PreAuthorize; |
||||
|
import org.springframework.validation.annotation.Validated; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
|
||||
|
import javax.annotation.Resource; |
||||
|
import javax.annotation.security.PermitAll; |
||||
|
import javax.servlet.http.HttpServletResponse; |
||||
|
import javax.validation.Valid; |
||||
|
import java.io.IOException; |
||||
|
import java.util.Comparator; |
||||
|
import java.util.HashMap; |
||||
|
import java.util.List; |
||||
|
import java.util.stream.Collectors; |
||||
|
|
||||
|
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; |
||||
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; |
||||
|
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; |
||||
|
|
||||
|
@Tag(name = "管理后台 - 记账分类") |
||||
|
@RestController |
||||
|
@RequestMapping("/book/classification") |
||||
|
@Validated |
||||
|
public class AppClassificationController { |
||||
|
|
||||
|
@Resource |
||||
|
private ClassificationService classificationService; |
||||
|
|
||||
|
@GetMapping({"/oneTwoLevelList"}) |
||||
|
@Operation(summary = "获取菜单精简信息列表", |
||||
|
description = "只包含被开启的菜单,用于【角色分配菜单】功能的选项。在多租户的场景下,会只返回租户所在套餐有的菜单") |
||||
|
@PermitAll |
||||
|
public CommonResult<HashMap<String, List<ClassificationDO>>> oneTwoLevelList(ClassificationPageReqVO pageReqVO) { |
||||
|
System.out.println("用户名:"+getLoginUserId()); |
||||
|
List<ClassificationDO> list = classificationService.selectList(pageReqVO); |
||||
|
list.sort(Comparator.comparing(ClassificationDO::getSn,Comparator.nullsLast(Comparator.naturalOrder()))); |
||||
|
List<ClassificationDO> list1 = list.stream().filter(item -> { |
||||
|
return "out".equals(item.getType()); |
||||
|
}).collect(Collectors.toList()); |
||||
|
List<ClassificationDO> list11 = list1.stream().filter(item -> { |
||||
|
return item.getLevel()!=null&& item.getLevel()== 1; |
||||
|
}).collect(Collectors.toList()); |
||||
|
List<ClassificationDO> list12 = list1.stream().filter(item -> { |
||||
|
return item.getLevel()!=null&& item.getLevel()== 2; |
||||
|
}).collect(Collectors.toList()); |
||||
|
List<ClassificationDO> list2 = list.stream().filter(item -> { |
||||
|
return "in".equals(item.getType()); |
||||
|
}).collect(Collectors.toList()); |
||||
|
HashMap<String, List<ClassificationDO>> map = new HashMap<>(); |
||||
|
map.put("outOne",list11); |
||||
|
map.put("outTwo",list12); |
||||
|
map.put("inOne",list2); |
||||
|
return success(map); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,116 @@ |
|||||
|
package cn.iocoder.yudao.module.book.controller.app.inout; |
||||
|
|
||||
|
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; |
||||
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
||||
|
import cn.iocoder.yudao.framework.common.pojo.PageParam; |
||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult; |
||||
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
||||
|
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; |
||||
|
import cn.iocoder.yudao.module.book.controller.admin.inout.vo.InoutPageReqVO; |
||||
|
import cn.iocoder.yudao.module.book.controller.admin.inout.vo.InoutRespVO; |
||||
|
import cn.iocoder.yudao.module.book.controller.admin.inout.vo.InoutSaveReqVO; |
||||
|
import cn.iocoder.yudao.module.book.dal.dataobject.inout.InoutDO; |
||||
|
import cn.iocoder.yudao.module.book.service.inout.InoutService; |
||||
|
import io.swagger.v3.oas.annotations.Operation; |
||||
|
import io.swagger.v3.oas.annotations.Parameter; |
||||
|
import io.swagger.v3.oas.annotations.tags.Tag; |
||||
|
import org.springframework.security.access.prepost.PreAuthorize; |
||||
|
import org.springframework.validation.annotation.Validated; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
|
||||
|
import javax.annotation.Resource; |
||||
|
import javax.annotation.security.PermitAll; |
||||
|
import javax.servlet.http.HttpServletResponse; |
||||
|
import javax.validation.Valid; |
||||
|
import java.io.IOException; |
||||
|
import java.util.List; |
||||
|
|
||||
|
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; |
||||
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; |
||||
|
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; |
||||
|
|
||||
|
@Tag(name = "管理后台 - 个人记账") |
||||
|
@RestController |
||||
|
@RequestMapping("/book/inout") |
||||
|
@Validated |
||||
|
public class AppInoutController { |
||||
|
|
||||
|
@Resource |
||||
|
private InoutService inoutService; |
||||
|
|
||||
|
@PostMapping("/create") |
||||
|
@Operation(summary = "创建个人记账") |
||||
|
@PermitAll |
||||
|
public CommonResult<Integer> createInout(@Valid @RequestBody InoutSaveReqVO createReqVO) { |
||||
|
return success(inoutService.createInout(createReqVO)); |
||||
|
} |
||||
|
|
||||
|
@PutMapping("/update") |
||||
|
@Operation(summary = "更新个人记账") |
||||
|
@PreAuthorize("@ss.hasPermission('book:inout:update')") |
||||
|
public CommonResult<Boolean> updateInout(@Valid @RequestBody InoutSaveReqVO updateReqVO) { |
||||
|
inoutService.updateInout(updateReqVO); |
||||
|
return success(true); |
||||
|
} |
||||
|
|
||||
|
@DeleteMapping("/delete") |
||||
|
@Operation(summary = "删除个人记账") |
||||
|
@Parameter(name = "id", description = "编号", required = true) |
||||
|
@PreAuthorize("@ss.hasPermission('book:inout:delete')") |
||||
|
public CommonResult<Boolean> deleteInout(@RequestParam("id") Integer id) { |
||||
|
inoutService.deleteInout(id); |
||||
|
return success(true); |
||||
|
} |
||||
|
|
||||
|
@GetMapping("/get") |
||||
|
@Operation(summary = "获得个人记账") |
||||
|
@Parameter(name = "id", description = "编号", required = true, example = "1024") |
||||
|
@PreAuthorize("@ss.hasPermission('book:inout:query')") |
||||
|
public CommonResult<InoutRespVO> getInout(@RequestParam("id") Integer id) { |
||||
|
InoutDO inout = inoutService.getInout(id); |
||||
|
return success(BeanUtils.toBean(inout, InoutRespVO.class)); |
||||
|
} |
||||
|
|
||||
|
@GetMapping("/page") |
||||
|
@Operation(summary = "获得个人记账分页") |
||||
|
@PreAuthorize("@ss.hasPermission('book:inout:query')") |
||||
|
public CommonResult<PageResult<InoutRespVO>> getInoutPage(@Valid InoutPageReqVO pageReqVO) { |
||||
|
PageResult<InoutDO> pageResult = inoutService.getInoutPage(pageReqVO); |
||||
|
return success(BeanUtils.toBean(pageResult, InoutRespVO.class)); |
||||
|
} |
||||
|
|
||||
|
@GetMapping("/myList") |
||||
|
@Operation(summary = "获得个人记账分页") |
||||
|
@PermitAll |
||||
|
public CommonResult<PageResult<InoutRespVO>> myList(@Valid InoutPageReqVO pageReqVO) { |
||||
|
Long loginUserId = getLoginUserId(); |
||||
|
pageReqVO.setUserId(loginUserId); |
||||
|
PageResult<InoutRespVO> pageResult = inoutService.myList(pageReqVO); |
||||
|
return success(pageResult); |
||||
|
} |
||||
|
|
||||
|
@GetMapping("/export-excel") |
||||
|
@Operation(summary = "导出个人记账 Excel") |
||||
|
@PreAuthorize("@ss.hasPermission('book:inout:export')") |
||||
|
@ApiAccessLog(operateType = EXPORT) |
||||
|
public void exportInoutExcel(@Valid InoutPageReqVO pageReqVO, |
||||
|
HttpServletResponse response) throws IOException { |
||||
|
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); |
||||
|
List<InoutDO> list = inoutService.getInoutPage(pageReqVO).getList(); |
||||
|
// 导出 Excel
|
||||
|
ExcelUtils.write(response, "个人记账.xls", "数据", InoutRespVO.class, |
||||
|
BeanUtils.toBean(list, InoutRespVO.class)); |
||||
|
} |
||||
|
|
||||
|
//统计个人某段时间的支出或收入
|
||||
|
@GetMapping("/myList-tol") |
||||
|
@Operation(summary = "获得个人记账分页") |
||||
|
@PermitAll |
||||
|
public CommonResult<Double> myListTol(@Valid InoutPageReqVO pageReqVO) { |
||||
|
Long loginUserId = getLoginUserId(); |
||||
|
pageReqVO.setUserId(loginUserId); |
||||
|
Double tol= inoutService.myListTol(pageReqVO); |
||||
|
return success(tol); |
||||
|
} |
||||
|
|
||||
|
} |
Loading…
Reference in new issue