TopDivideLogController.java 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. package com.zhongzheng.controller.financial;
  2. import java.util.List;
  3. import java.util.Arrays;
  4. import java.util.Map;
  5. import com.zhongzheng.common.constant.UserConstants;
  6. import com.zhongzheng.common.utils.SecurityUtils;
  7. import com.zhongzheng.modules.system.bo.SysTenantBadBillConfigBo;
  8. import com.zhongzheng.modules.top.financial.bo.TopDivideLogEditBo;
  9. import com.zhongzheng.modules.top.financial.bo.TopDivideLogQueryBo;
  10. import com.zhongzheng.modules.top.financial.bo.TopDivideOrderQueryBo;
  11. import com.zhongzheng.modules.top.financial.service.ITopDivideLogService;
  12. import com.zhongzheng.modules.top.financial.service.ITopDivideOrderService;
  13. import com.zhongzheng.modules.top.financial.vo.TopDivideLogVo;
  14. import com.zhongzheng.modules.top.financial.vo.TopDivideOrderVo;
  15. import com.zhongzheng.modules.top.goods.bo.TopOldOrderEditBo;
  16. import com.zhongzheng.modules.top.user.vo.TopSysConfigVo;
  17. import lombok.RequiredArgsConstructor;
  18. import org.springframework.security.access.prepost.PreAuthorize;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.validation.annotation.Validated;
  21. import org.springframework.web.bind.annotation.GetMapping;
  22. import org.springframework.web.bind.annotation.PostMapping;
  23. import org.springframework.web.bind.annotation.PutMapping;
  24. import org.springframework.web.bind.annotation.DeleteMapping;
  25. import org.springframework.web.bind.annotation.PathVariable;
  26. import org.springframework.web.bind.annotation.RequestBody;
  27. import org.springframework.web.bind.annotation.RequestMapping;
  28. import org.springframework.web.bind.annotation.RestController;
  29. import com.zhongzheng.common.annotation.Log;
  30. import com.zhongzheng.common.core.controller.BaseController;
  31. import com.zhongzheng.common.core.domain.AjaxResult;
  32. import com.zhongzheng.common.enums.BusinessType;
  33. import com.zhongzheng.common.utils.poi.ExcelUtil;
  34. import com.zhongzheng.common.core.page.TableDataInfo;
  35. import io.swagger.annotations.Api;
  36. import io.swagger.annotations.ApiOperation;
  37. /**
  38. * 分成记录Controller
  39. *
  40. * @author ruoyi
  41. * @date 2023-05-09
  42. */
  43. @Api(value = "分成记录控制器", tags = {"分成记录管理"})
  44. @RequiredArgsConstructor(onConstructor_ = @Autowired)
  45. @RestController
  46. @RequestMapping("/divide/log")
  47. public class TopDivideLogController extends BaseController {
  48. private final ITopDivideLogService iTopDivideLogService;
  49. private final ITopDivideOrderService iTopDivideOrderService;
  50. /**
  51. * 查询分成记录列表
  52. */
  53. @ApiOperation("查询机构分成记录列表")
  54. @PreAuthorize("@ss.hasPermi('system:log:list')")
  55. @PostMapping("/companyList")
  56. public TableDataInfo<TopDivideLogVo> getCompanyList(@RequestBody TopDivideLogQueryBo bo) {
  57. startPage();
  58. List<TopDivideLogVo> list = iTopDivideLogService.getCompanyList(bo);
  59. return getDataTable(list);
  60. }
  61. /**
  62. * 分成记录修改备注
  63. */
  64. @ApiOperation("分成记录修改备注")
  65. @PostMapping("/updateRemark")
  66. public AjaxResult<Void> updateRemark(@RequestBody TopDivideLogEditBo bo) {
  67. return toAjax(iTopDivideLogService.updateRemark(bo) ? 1 : 0);
  68. }
  69. @ApiOperation("查询业务员提成列表")
  70. @PreAuthorize("@ss.hasPermi('system:log:list')")
  71. @PostMapping("/sellerList")
  72. public TableDataInfo<TopDivideLogVo> getSellerList(@RequestBody TopDivideLogQueryBo bo) {
  73. startPage();
  74. List<TopDivideLogVo> list = iTopDivideLogService.getSellerList(bo);
  75. return getDataTable(list);
  76. }
  77. @ApiOperation("查询佣金列表")
  78. @PreAuthorize("@ss.hasPermi('system:log:list')")
  79. @PostMapping("/commissionList")
  80. public TableDataInfo<TopDivideOrderVo> getCommissionList(@RequestBody TopDivideOrderQueryBo bo) {
  81. startPage();
  82. List<TopDivideOrderVo> list = iTopDivideLogService.getCommissionList(bo);
  83. return getDataTable(list);
  84. }
  85. @ApiOperation("查询佣金打印")
  86. @PreAuthorize("@ss.hasPermi('system:log:list')")
  87. @PostMapping("/commissionPrint")
  88. public AjaxResult<TopDivideOrderVo> getCommissionPrint(@RequestBody TopDivideOrderQueryBo bo) {
  89. TopDivideOrderVo vo = iTopDivideLogService.getCommissionDetail(bo);
  90. return AjaxResult.success(vo);
  91. }
  92. @ApiOperation("查询佣金结算列表统计")
  93. @PreAuthorize("@ss.hasPermi('system:log:list')")
  94. @GetMapping("/commissionOrderCount")
  95. public AjaxResult<Map<String,Object>> commissionOrderCount(TopDivideOrderQueryBo bo) {
  96. Map<String,Object> map = iTopDivideLogService.getCommissionOrderCount(bo);
  97. return AjaxResult.success(map);
  98. }
  99. @ApiOperation("通过坏账配置详情")
  100. @GetMapping(value = "/configKey/badBill")
  101. public AjaxResult getBadBill()
  102. {
  103. return AjaxResult.success("配置内容",iTopDivideLogService.getBadBillConfig());
  104. }
  105. @ApiOperation("修改坏账配置")
  106. @PostMapping("/updateBadBill")
  107. public AjaxResult editBadBill(@Validated @RequestBody List<SysTenantBadBillConfigBo> bo)
  108. {
  109. return toAjax(iTopDivideLogService.updateBadBillConfig(bo));
  110. }
  111. @ApiOperation("查询月份订单列表")
  112. @PreAuthorize("@ss.hasPermi('system:log:list')")
  113. @GetMapping("/monthOrderList")
  114. public TableDataInfo<TopDivideOrderVo> getMonthOrderList(TopDivideOrderQueryBo bo) {
  115. startPage();
  116. List<TopDivideOrderVo> list = iTopDivideOrderService.getMonthOrderList(bo);
  117. return getDataTable(list);
  118. }
  119. @ApiOperation("查询月份订单统计")
  120. @PreAuthorize("@ss.hasPermi('system:log:list')")
  121. @GetMapping("/monthOrderCount")
  122. public AjaxResult<Map<String,Object>> getMonthOrderCount(TopDivideOrderQueryBo bo) {
  123. Map<String,Object> map = iTopDivideOrderService.getMonthOrderCount(bo);
  124. return AjaxResult.success(map);
  125. }
  126. @ApiOperation("查询打印月份订单列表")
  127. @PreAuthorize("@ss.hasPermi('system:log:list')")
  128. @GetMapping("/monthOrderListWithPrint")
  129. public AjaxResult<List<TopDivideOrderVo>> getMonthOrderListWithPrint(TopDivideOrderQueryBo bo) {
  130. List<TopDivideOrderVo> list = iTopDivideOrderService.getMonthOrderListWithPrint(bo);
  131. return AjaxResult.success(list);
  132. }
  133. /**
  134. * 获取分成记录详细信息
  135. */
  136. @ApiOperation("获取分成记录详细信息")
  137. @PreAuthorize("@ss.hasPermi('system:log:query')")
  138. @GetMapping("/{id}")
  139. public AjaxResult<TopDivideLogVo> getInfo(@PathVariable("id" ) Long id) {
  140. return AjaxResult.success(iTopDivideLogService.queryById(id));
  141. }
  142. @ApiOperation("获取分成记录单据打印详细信息")
  143. @PreAuthorize("@ss.hasPermi('system:log:query')")
  144. @GetMapping("/withPrint/{id}")
  145. public AjaxResult<TopDivideLogVo> getInfoWithPrint(@PathVariable("id" ) Long id) {
  146. return AjaxResult.success(iTopDivideLogService.queryByIdWithPrint(id));
  147. }
  148. }