RepalCustomerController.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. package com.winhc.repal.controller;
  2. import com.winhc.common.base.BeanResponse;
  3. import com.winhc.common.enums.CodeMsg;
  4. import com.winhc.common.model.base.VOPage;
  5. import com.winhc.repal.annotation.RolePermission;
  6. import com.winhc.repal.common.BaseController;
  7. import com.winhc.repal.enums.Dict;
  8. import com.winhc.repal.enums.PermissionEnum;
  9. import com.winhc.repal.model.dto.*;
  10. import com.winhc.repal.model.vo.*;
  11. import com.winhc.repal.service.RepalBillService;
  12. import com.winhc.repal.service.RepalCustomerService;
  13. import io.swagger.annotations.Api;
  14. import io.swagger.annotations.ApiOperation;
  15. import io.swagger.annotations.ApiParam;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.web.bind.annotation.*;
  18. import java.util.List;
  19. /**
  20. * @author Aaron
  21. * @date 2022/4/19 13:08
  22. * @description
  23. */
  24. @Api(tags = "回款宝 客户/供应 商管理")
  25. @RestController
  26. @RequestMapping(value = "/repalCustomer")
  27. public class RepalCustomerController extends BaseController {
  28. @Autowired
  29. private RepalCustomerService repalCustomerService;
  30. @Autowired
  31. private RepalBillService repalBillService;
  32. @ApiOperation("客户/供应商下拉框")
  33. @GetMapping(value = "/list")
  34. public BeanResponse<List<RepalCustomerSimpleVO>> getCustList(@ApiParam("1客户 2供应商") @RequestParam("custType")Integer custType){
  35. return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.getCustList(custType));
  36. }
  37. @ApiOperation("分页查询客户")
  38. @GetMapping(value = "/cust/page")
  39. public BeanResponse<VOPage<RepalCustomerInfoVO>> getRepalCustPage(RepalCustomerQueryDTO dto){
  40. return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.find(dto.setCustType(Dict.custTypeEnum.客户.getCode()),getUser()));
  41. }
  42. @ApiOperation("添加客户")
  43. @PostMapping("/cust")
  44. @RolePermission(permission = PermissionEnum.ADD_CUST)
  45. public BeanResponse<RepalCustomerDetailVO> addCustomer(@RequestBody RepalCustomerDTO dto){
  46. return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.addCustomer(dto.setCustType(Dict.custTypeEnum.客户.getCode()),getUser()));
  47. }
  48. @ApiOperation("修改客户")
  49. @PostMapping("/cust/modify")
  50. @RolePermission(permission = PermissionEnum.UPDATE_CUST)
  51. public BeanResponse<RepalCustomerDetailVO> modifyCustomer(@RequestBody RepalCustomerUpdateDTO dto){
  52. return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.updateCustomer(dto.setCustType(Dict.custTypeEnum.客户.getCode()),getUser()));
  53. }
  54. @ApiOperation("客户详情")
  55. @GetMapping(value = "/cust/{custId}")
  56. public BeanResponse<RepalCustomerDetailVO> getRepalCustomerDetail(@PathVariable("custId")Long custId){
  57. return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.getDetailById(custId,getUser(),Dict.custTypeEnum.客户.getCode()));
  58. }
  59. @ApiOperation("分页查询供应商")
  60. @GetMapping(value = "/supply/page")
  61. public BeanResponse<VOPage<RepalCustomerInfoVO>> getRepalSupplyPage(RepalCustomerQueryDTO dto){
  62. return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.find(dto.setCustType(Dict.custTypeEnum.供应商.getCode()),getUser()));
  63. }
  64. @ApiOperation("添加供应商")
  65. @PostMapping("/supply")
  66. @RolePermission(permission = PermissionEnum.ADD_SUPPLY)
  67. public BeanResponse<RepalCustomerDetailVO> addSupply(@RequestBody RepalCustomerDTO dto){
  68. return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.addCustomer(dto.setCustType(Dict.custTypeEnum.供应商.getCode()),getUser()));
  69. }
  70. @ApiOperation("修改供应商")
  71. @PostMapping("/supply/modify")
  72. @RolePermission(permission = PermissionEnum.UPDATE_SUPPLY)
  73. public BeanResponse<RepalCustomerDetailVO> modifySupply(@RequestBody RepalCustomerUpdateDTO dto){
  74. return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.updateCustomer(dto.setCustType(Dict.custTypeEnum.供应商.getCode()),getUser()));
  75. }
  76. @ApiOperation("供应商详情")
  77. @GetMapping(value = "/supply/{custId}")
  78. public BeanResponse<RepalCustomerDetailVO> getRepalSupplyDetail(@PathVariable("custId")Long custId){
  79. return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.getDetailById(custId,getUser(),Dict.custTypeEnum.供应商.getCode()));
  80. }
  81. @ApiOperation("删除客户/供应商")
  82. @DeleteMapping("/{custId}")
  83. public BeanResponse<Boolean> deleteCustomer(@PathVariable("custId")Long custId){
  84. return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.deleteCustomer(custId,getUser()));
  85. }
  86. @ApiOperation("获取客户下的账款列表")
  87. @RequestMapping(value = "/bill/page", method = RequestMethod.GET)
  88. public BeanResponse<VOPage<RepalBillPageVO>> getCustRepalBillPage(@RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum,
  89. @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize,
  90. @RequestParam("custId")Long custId) {
  91. return BeanResponse.success(CodeMsg.SUCCESS, repalBillService.getCustRepalBillPage(pageNum,pageSize,custId));
  92. }
  93. @ApiOperation("查询客户联系人列表")
  94. @GetMapping("/link")
  95. public BeanResponse<List<RepalLinkVO>> queryLink(@RequestParam("custId")Long custId){
  96. return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.queryLink(custId));
  97. }
  98. @ApiOperation("添加(修改)联系人-催款用")
  99. @PostMapping("/link")
  100. public BeanResponse<RepalLinkVO> updateLink(@RequestBody RepalLinkUpdateDTO dto){
  101. return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.updateLink(dto));
  102. }
  103. }