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