package com.zhongzheng.controller.financial; import java.util.List; import java.util.Arrays; import java.util.Map; import com.zhongzheng.common.constant.UserConstants; import com.zhongzheng.common.utils.SecurityUtils; import com.zhongzheng.modules.system.bo.SysTenantBadBillConfigBo; import com.zhongzheng.modules.top.financial.bo.TopDivideLogEditBo; import com.zhongzheng.modules.top.financial.bo.TopDivideLogQueryBo; import com.zhongzheng.modules.top.financial.bo.TopDivideOrderQueryBo; import com.zhongzheng.modules.top.financial.service.ITopDivideLogService; import com.zhongzheng.modules.top.financial.service.ITopDivideOrderService; import com.zhongzheng.modules.top.financial.vo.TopDivideLogVo; import com.zhongzheng.modules.top.financial.vo.TopDivideOrderVo; import com.zhongzheng.modules.top.goods.bo.TopOldOrderEditBo; import com.zhongzheng.modules.top.user.vo.TopSysConfigVo; import lombok.RequiredArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.zhongzheng.common.annotation.Log; import com.zhongzheng.common.core.controller.BaseController; import com.zhongzheng.common.core.domain.AjaxResult; import com.zhongzheng.common.enums.BusinessType; import com.zhongzheng.common.utils.poi.ExcelUtil; import com.zhongzheng.common.core.page.TableDataInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; /** * 分成记录Controller * * @author ruoyi * @date 2023-05-09 */ @Api(value = "分成记录控制器", tags = {"分成记录管理"}) @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @RequestMapping("/divide/log") public class TopDivideLogController extends BaseController { private final ITopDivideLogService iTopDivideLogService; private final ITopDivideOrderService iTopDivideOrderService; /** * 查询分成记录列表 */ @ApiOperation("查询机构分成记录列表") @PreAuthorize("@ss.hasPermi('system:log:list')") @PostMapping("/companyList") public TableDataInfo getCompanyList(@RequestBody TopDivideLogQueryBo bo) { startPage(); List list = iTopDivideLogService.getCompanyList(bo); return getDataTable(list); } /** * 分成记录修改备注 */ @ApiOperation("分成记录修改备注") @PostMapping("/updateRemark") public AjaxResult updateRemark(@RequestBody TopDivideLogEditBo bo) { return toAjax(iTopDivideLogService.updateRemark(bo) ? 1 : 0); } @ApiOperation("查询业务员提成列表") @PreAuthorize("@ss.hasPermi('system:log:list')") @PostMapping("/sellerList") public TableDataInfo getSellerList(@RequestBody TopDivideLogQueryBo bo) { startPage(); List list = iTopDivideLogService.getSellerList(bo); return getDataTable(list); } @ApiOperation("查询佣金列表") @PreAuthorize("@ss.hasPermi('system:log:list')") @PostMapping("/commissionList") public TableDataInfo getCommissionList(@RequestBody TopDivideOrderQueryBo bo) { startPage(); List list = iTopDivideLogService.getCommissionList(bo); return getDataTable(list); } @ApiOperation("查询佣金打印") @PreAuthorize("@ss.hasPermi('system:log:list')") @PostMapping("/commissionPrint") public AjaxResult getCommissionPrint(@RequestBody TopDivideOrderQueryBo bo) { TopDivideOrderVo vo = iTopDivideLogService.getCommissionDetail(bo); return AjaxResult.success(vo); } @ApiOperation("查询佣金结算列表统计") @PreAuthorize("@ss.hasPermi('system:log:list')") @GetMapping("/commissionOrderCount") public AjaxResult> commissionOrderCount(TopDivideOrderQueryBo bo) { Map map = iTopDivideLogService.getCommissionOrderCount(bo); return AjaxResult.success(map); } @ApiOperation("通过坏账配置详情") @GetMapping(value = "/configKey/badBill") public AjaxResult getBadBill() { return AjaxResult.success("配置内容",iTopDivideLogService.getBadBillConfig()); } @ApiOperation("修改坏账配置") @PostMapping("/updateBadBill") public AjaxResult editBadBill(@Validated @RequestBody List bo) { return toAjax(iTopDivideLogService.updateBadBillConfig(bo)); } @ApiOperation("查询月份订单列表") @PreAuthorize("@ss.hasPermi('system:log:list')") @GetMapping("/monthOrderList") public TableDataInfo getMonthOrderList(TopDivideOrderQueryBo bo) { startPage(); List list = iTopDivideOrderService.getMonthOrderList(bo); return getDataTable(list); } @ApiOperation("查询月份订单统计") @PreAuthorize("@ss.hasPermi('system:log:list')") @GetMapping("/monthOrderCount") public AjaxResult> getMonthOrderCount(TopDivideOrderQueryBo bo) { Map map = iTopDivideOrderService.getMonthOrderCount(bo); return AjaxResult.success(map); } @ApiOperation("查询打印月份订单列表") @PreAuthorize("@ss.hasPermi('system:log:list')") @GetMapping("/monthOrderListWithPrint") public AjaxResult> getMonthOrderListWithPrint(TopDivideOrderQueryBo bo) { List list = iTopDivideOrderService.getMonthOrderListWithPrint(bo); return AjaxResult.success(list); } /** * 获取分成记录详细信息 */ @ApiOperation("获取分成记录详细信息") @PreAuthorize("@ss.hasPermi('system:log:query')") @GetMapping("/{id}") public AjaxResult getInfo(@PathVariable("id" ) Long id) { return AjaxResult.success(iTopDivideLogService.queryById(id)); } @ApiOperation("获取分成记录单据打印详细信息") @PreAuthorize("@ss.hasPermi('system:log:query')") @GetMapping("/withPrint/{id}") public AjaxResult getInfoWithPrint(@PathVariable("id" ) Long id) { return AjaxResult.success(iTopDivideLogService.queryByIdWithPrint(id)); } }