package com.winhc.repal.controller; import com.winhc.common.base.BeanResponse; import com.winhc.common.enums.CodeMsg; import com.winhc.common.model.base.VOPage; import com.winhc.repal.annotation.RolePermission; import com.winhc.repal.common.BaseController; import com.winhc.repal.enums.Dict; import com.winhc.repal.enums.PermissionEnum; import com.winhc.repal.model.dto.*; import com.winhc.repal.model.vo.*; import com.winhc.repal.service.RepalBillService; import com.winhc.repal.service.RepalCustomerService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** * @author Aaron * @date 2022/4/19 13:08 * @description */ @Api(tags = "回款宝 客户/供应 商管理") @RestController @RequestMapping(value = "/repalCustomer") public class RepalCustomerController extends BaseController { @Autowired private RepalCustomerService repalCustomerService; @Autowired private RepalBillService repalBillService; @ApiOperation("客户/供应商下拉框") @GetMapping(value = "/list") public BeanResponse> getCustList(@ApiParam("1客户 2供应商") @RequestParam("custType")Integer custType){ return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.getCustList(custType)); } @ApiOperation("分页查询客户") @GetMapping(value = "/cust/page") public BeanResponse> getRepalCustPage(RepalCustomerQueryDTO dto){ return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.find(dto.setCustType(Dict.custTypeEnum.客户.getCode()),getUser())); } @ApiOperation("添加客户") @PostMapping("/cust") @RolePermission(permission = PermissionEnum.ADD_CUST) public BeanResponse addCustomer(@RequestBody RepalCustomerDTO dto){ return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.addCustomer(dto.setCustType(Dict.custTypeEnum.客户.getCode()),getUser())); } @ApiOperation("修改客户") @PostMapping("/cust/modify") @RolePermission(permission = PermissionEnum.UPDATE_CUST) public BeanResponse modifyCustomer(@RequestBody RepalCustomerUpdateDTO dto){ return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.updateCustomer(dto.setCustType(Dict.custTypeEnum.客户.getCode()),getUser())); } @ApiOperation("客户详情") @GetMapping(value = "/cust/{custId}") public BeanResponse getRepalCustomerDetail(@PathVariable("custId")Long custId){ return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.getDetailById(custId,getUser(),Dict.custTypeEnum.客户.getCode())); } @ApiOperation("分页查询供应商") @GetMapping(value = "/supply/page") public BeanResponse> getRepalSupplyPage(RepalCustomerQueryDTO dto){ return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.find(dto.setCustType(Dict.custTypeEnum.供应商.getCode()),getUser())); } @ApiOperation("添加供应商") @PostMapping("/supply") @RolePermission(permission = PermissionEnum.ADD_SUPPLY) public BeanResponse addSupply(@RequestBody RepalCustomerDTO dto){ return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.addCustomer(dto.setCustType(Dict.custTypeEnum.供应商.getCode()),getUser())); } @ApiOperation("修改供应商") @PostMapping("/supply/modify") @RolePermission(permission = PermissionEnum.UPDATE_SUPPLY) public BeanResponse modifySupply(@RequestBody RepalCustomerUpdateDTO dto){ return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.updateCustomer(dto.setCustType(Dict.custTypeEnum.供应商.getCode()),getUser())); } @ApiOperation("供应商详情") @GetMapping(value = "/supply/{custId}") public BeanResponse getRepalSupplyDetail(@PathVariable("custId")Long custId){ return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.getDetailById(custId,getUser(),Dict.custTypeEnum.供应商.getCode())); } @ApiOperation("删除客户/供应商") @DeleteMapping("/{custId}") public BeanResponse deleteCustomer(@PathVariable("custId")Long custId){ return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.deleteCustomer(custId,getUser())); } @ApiOperation("获取客户下的账款列表") @RequestMapping(value = "/bill/page", method = RequestMethod.GET) public BeanResponse> getCustRepalBillPage(@RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum, @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize, @RequestParam("custId")Long custId) { return BeanResponse.success(CodeMsg.SUCCESS, repalBillService.getCustRepalBillPage(pageNum,pageSize,custId)); } @ApiOperation("查询客户联系人列表") @GetMapping("/link") public BeanResponse> queryLink(@RequestParam("custId")Long custId){ return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.queryLink(custId)); } @ApiOperation("添加(修改)联系人-催款用") @PostMapping("/link") public BeanResponse updateLink(@RequestBody RepalLinkUpdateDTO dto){ return BeanResponse.success(CodeMsg.SUCCESS,repalCustomerService.updateLink(dto)); } }