feat(crm): 初始化客户与订单模块基础代码
- 新增客户信息实体类及对应业务对象、控制器、服务实现 - 新增正式订单主表与明细表相关实体类和业务逻辑 - 新增订单操作追溯表结构定义 - 配置MyBatis映射文件及基础CRUD接口 - 实现客户与订单的分页查询、导出、新增、修改、删除功能 - 添加Excel导入导出支持及相关VO转换配置
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
package com.klp.crm.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.klp.common.annotation.RepeatSubmit;
|
||||
import com.klp.common.annotation.Log;
|
||||
import com.klp.common.core.controller.BaseController;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.common.core.domain.R;
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.common.enums.BusinessType;
|
||||
import com.klp.common.utils.poi.ExcelUtil;
|
||||
import com.klp.crm.domain.vo.CrmCustomerVo;
|
||||
import com.klp.crm.domain.bo.CrmCustomerBo;
|
||||
import com.klp.crm.service.ICrmCustomerService;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 客户信息
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/crm/customer")
|
||||
public class CrmCustomerController extends BaseController {
|
||||
|
||||
private final ICrmCustomerService iCrmCustomerService;
|
||||
|
||||
/**
|
||||
* 查询客户信息列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CrmCustomerVo> list(CrmCustomerBo bo, PageQuery pageQuery) {
|
||||
return iCrmCustomerService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出客户信息列表
|
||||
*/
|
||||
@Log(title = "客户信息", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(CrmCustomerBo bo, HttpServletResponse response) {
|
||||
List<CrmCustomerVo> list = iCrmCustomerService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "客户信息", CrmCustomerVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取客户信息详细信息
|
||||
*
|
||||
* @param customerId 主键
|
||||
*/
|
||||
@GetMapping("/{customerId}")
|
||||
public R<CrmCustomerVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable String customerId) {
|
||||
return R.ok(iCrmCustomerService.queryById(customerId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增客户信息
|
||||
*/
|
||||
@Log(title = "客户信息", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody CrmCustomerBo bo) {
|
||||
return toAjax(iCrmCustomerService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改客户信息
|
||||
*/
|
||||
@Log(title = "客户信息", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CrmCustomerBo bo) {
|
||||
return toAjax(iCrmCustomerService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除客户信息
|
||||
*
|
||||
* @param customerIds 主键串
|
||||
*/
|
||||
@Log(title = "客户信息", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{customerIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable String[] customerIds) {
|
||||
return toAjax(iCrmCustomerService.deleteWithValidByIds(Arrays.asList(customerIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.klp.crm.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.klp.common.annotation.RepeatSubmit;
|
||||
import com.klp.common.annotation.Log;
|
||||
import com.klp.common.core.controller.BaseController;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.common.core.domain.R;
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.common.enums.BusinessType;
|
||||
import com.klp.common.utils.poi.ExcelUtil;
|
||||
import com.klp.crm.domain.vo.CrmOrderVo;
|
||||
import com.klp.crm.domain.bo.CrmOrderBo;
|
||||
import com.klp.crm.service.ICrmOrderService;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 正式订单主
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/crm/order")
|
||||
public class CrmOrderController extends BaseController {
|
||||
|
||||
private final ICrmOrderService iCrmOrderService;
|
||||
|
||||
/**
|
||||
* 查询正式订单主列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CrmOrderVo> list(CrmOrderBo bo, PageQuery pageQuery) {
|
||||
return iCrmOrderService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出正式订单主列表
|
||||
*/
|
||||
@Log(title = "正式订单主", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(CrmOrderBo bo, HttpServletResponse response) {
|
||||
List<CrmOrderVo> list = iCrmOrderService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "正式订单主", CrmOrderVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取正式订单主详细信息
|
||||
*
|
||||
* @param orderId 主键
|
||||
*/
|
||||
@GetMapping("/{orderId}")
|
||||
public R<CrmOrderVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable String orderId) {
|
||||
return R.ok(iCrmOrderService.queryById(orderId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增正式订单主
|
||||
*/
|
||||
@Log(title = "正式订单主", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody CrmOrderBo bo) {
|
||||
return toAjax(iCrmOrderService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改正式订单主
|
||||
*/
|
||||
@Log(title = "正式订单主", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CrmOrderBo bo) {
|
||||
return toAjax(iCrmOrderService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除正式订单主
|
||||
*
|
||||
* @param orderIds 主键串
|
||||
*/
|
||||
@Log(title = "正式订单主", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{orderIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable String[] orderIds) {
|
||||
return toAjax(iCrmOrderService.deleteWithValidByIds(Arrays.asList(orderIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.klp.crm.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.klp.common.annotation.RepeatSubmit;
|
||||
import com.klp.common.annotation.Log;
|
||||
import com.klp.common.core.controller.BaseController;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.common.core.domain.R;
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.common.enums.BusinessType;
|
||||
import com.klp.common.utils.poi.ExcelUtil;
|
||||
import com.klp.crm.domain.vo.CrmOrderItemVo;
|
||||
import com.klp.crm.domain.bo.CrmOrderItemBo;
|
||||
import com.klp.crm.service.ICrmOrderItemService;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 正式订单明细
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/crm/orderItem")
|
||||
public class CrmOrderItemController extends BaseController {
|
||||
|
||||
private final ICrmOrderItemService iCrmOrderItemService;
|
||||
|
||||
/**
|
||||
* 查询正式订单明细列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CrmOrderItemVo> list(CrmOrderItemBo bo, PageQuery pageQuery) {
|
||||
return iCrmOrderItemService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出正式订单明细列表
|
||||
*/
|
||||
@Log(title = "正式订单明细", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(CrmOrderItemBo bo, HttpServletResponse response) {
|
||||
List<CrmOrderItemVo> list = iCrmOrderItemService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "正式订单明细", CrmOrderItemVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取正式订单明细详细信息
|
||||
*
|
||||
* @param itemId 主键
|
||||
*/
|
||||
@GetMapping("/{itemId}")
|
||||
public R<CrmOrderItemVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable String itemId) {
|
||||
return R.ok(iCrmOrderItemService.queryById(itemId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增正式订单明细
|
||||
*/
|
||||
@Log(title = "正式订单明细", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody CrmOrderItemBo bo) {
|
||||
return toAjax(iCrmOrderItemService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改正式订单明细
|
||||
*/
|
||||
@Log(title = "正式订单明细", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CrmOrderItemBo bo) {
|
||||
return toAjax(iCrmOrderItemService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除正式订单明细
|
||||
*
|
||||
* @param itemIds 主键串
|
||||
*/
|
||||
@Log(title = "正式订单明细", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{itemIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable String[] itemIds) {
|
||||
return toAjax(iCrmOrderItemService.deleteWithValidByIds(Arrays.asList(itemIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.klp.crm.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.klp.common.annotation.RepeatSubmit;
|
||||
import com.klp.common.annotation.Log;
|
||||
import com.klp.common.core.controller.BaseController;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.common.core.domain.R;
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.common.enums.BusinessType;
|
||||
import com.klp.common.utils.poi.ExcelUtil;
|
||||
import com.klp.crm.domain.vo.CrmOrderOperationTraceVo;
|
||||
import com.klp.crm.domain.bo.CrmOrderOperationTraceBo;
|
||||
import com.klp.crm.service.ICrmOrderOperationTraceService;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 订单操作追溯
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/crm/orderOperationTrace")
|
||||
public class CrmOrderOperationTraceController extends BaseController {
|
||||
|
||||
private final ICrmOrderOperationTraceService iCrmOrderOperationTraceService;
|
||||
|
||||
/**
|
||||
* 查询订单操作追溯列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CrmOrderOperationTraceVo> list(CrmOrderOperationTraceBo bo, PageQuery pageQuery) {
|
||||
return iCrmOrderOperationTraceService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出订单操作追溯列表
|
||||
*/
|
||||
@Log(title = "订单操作追溯", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(CrmOrderOperationTraceBo bo, HttpServletResponse response) {
|
||||
List<CrmOrderOperationTraceVo> list = iCrmOrderOperationTraceService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "订单操作追溯", CrmOrderOperationTraceVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取订单操作追溯详细信息
|
||||
*
|
||||
* @param traceId 主键
|
||||
*/
|
||||
@GetMapping("/{traceId}")
|
||||
public R<CrmOrderOperationTraceVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable String traceId) {
|
||||
return R.ok(iCrmOrderOperationTraceService.queryById(traceId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增订单操作追溯
|
||||
*/
|
||||
@Log(title = "订单操作追溯", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody CrmOrderOperationTraceBo bo) {
|
||||
return toAjax(iCrmOrderOperationTraceService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改订单操作追溯
|
||||
*/
|
||||
@Log(title = "订单操作追溯", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CrmOrderOperationTraceBo bo) {
|
||||
return toAjax(iCrmOrderOperationTraceService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除订单操作追溯
|
||||
*
|
||||
* @param traceIds 主键串
|
||||
*/
|
||||
@Log(title = "订单操作追溯", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{traceIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable String[] traceIds) {
|
||||
return toAjax(iCrmOrderOperationTraceService.deleteWithValidByIds(Arrays.asList(traceIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.klp.crm.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.klp.common.annotation.RepeatSubmit;
|
||||
import com.klp.common.annotation.Log;
|
||||
import com.klp.common.core.controller.BaseController;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.common.core.domain.R;
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.common.enums.BusinessType;
|
||||
import com.klp.common.utils.poi.ExcelUtil;
|
||||
import com.klp.crm.domain.vo.CrmSalesContractVo;
|
||||
import com.klp.crm.domain.bo.CrmSalesContractBo;
|
||||
import com.klp.crm.service.ICrmSalesContractService;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 销售合同
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/crm/salesContract")
|
||||
public class CrmSalesContractController extends BaseController {
|
||||
|
||||
private final ICrmSalesContractService iCrmSalesContractService;
|
||||
|
||||
/**
|
||||
* 查询销售合同列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CrmSalesContractVo> list(CrmSalesContractBo bo, PageQuery pageQuery) {
|
||||
return iCrmSalesContractService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出销售合同列表
|
||||
*/
|
||||
@Log(title = "销售合同", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(CrmSalesContractBo bo, HttpServletResponse response) {
|
||||
List<CrmSalesContractVo> list = iCrmSalesContractService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "销售合同", CrmSalesContractVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取销售合同详细信息
|
||||
*
|
||||
* @param contractId 主键
|
||||
*/
|
||||
@GetMapping("/{contractId}")
|
||||
public R<CrmSalesContractVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable String contractId) {
|
||||
return R.ok(iCrmSalesContractService.queryById(contractId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增销售合同
|
||||
*/
|
||||
@Log(title = "销售合同", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody CrmSalesContractBo bo) {
|
||||
return toAjax(iCrmSalesContractService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改销售合同
|
||||
*/
|
||||
@Log(title = "销售合同", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CrmSalesContractBo bo) {
|
||||
return toAjax(iCrmSalesContractService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除销售合同
|
||||
*
|
||||
* @param contractIds 主键串
|
||||
*/
|
||||
@Log(title = "销售合同", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{contractIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable String[] contractIds) {
|
||||
return toAjax(iCrmSalesContractService.deleteWithValidByIds(Arrays.asList(contractIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.klp.crm.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.klp.common.annotation.RepeatSubmit;
|
||||
import com.klp.common.annotation.Log;
|
||||
import com.klp.common.core.controller.BaseController;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.common.core.domain.R;
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.common.enums.BusinessType;
|
||||
import com.klp.common.utils.poi.ExcelUtil;
|
||||
import com.klp.crm.domain.vo.CrmSalesObjectionVo;
|
||||
import com.klp.crm.domain.bo.CrmSalesObjectionBo;
|
||||
import com.klp.crm.service.ICrmSalesObjectionService;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 销售异议管理
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/crm/salesObjection")
|
||||
public class CrmSalesObjectionController extends BaseController {
|
||||
|
||||
private final ICrmSalesObjectionService iCrmSalesObjectionService;
|
||||
|
||||
/**
|
||||
* 查询销售异议管理列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CrmSalesObjectionVo> list(CrmSalesObjectionBo bo, PageQuery pageQuery) {
|
||||
return iCrmSalesObjectionService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出销售异议管理列表
|
||||
*/
|
||||
@Log(title = "销售异议管理", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(CrmSalesObjectionBo bo, HttpServletResponse response) {
|
||||
List<CrmSalesObjectionVo> list = iCrmSalesObjectionService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "销售异议管理", CrmSalesObjectionVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取销售异议管理详细信息
|
||||
*
|
||||
* @param objectionId 主键
|
||||
*/
|
||||
@GetMapping("/{objectionId}")
|
||||
public R<CrmSalesObjectionVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable String objectionId) {
|
||||
return R.ok(iCrmSalesObjectionService.queryById(objectionId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增销售异议管理
|
||||
*/
|
||||
@Log(title = "销售异议管理", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody CrmSalesObjectionBo bo) {
|
||||
return toAjax(iCrmSalesObjectionService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改销售异议管理
|
||||
*/
|
||||
@Log(title = "销售异议管理", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CrmSalesObjectionBo bo) {
|
||||
return toAjax(iCrmSalesObjectionService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除销售异议管理
|
||||
*
|
||||
* @param objectionIds 主键串
|
||||
*/
|
||||
@Log(title = "销售异议管理", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{objectionIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable String[] objectionIds) {
|
||||
return toAjax(iCrmSalesObjectionService.deleteWithValidByIds(Arrays.asList(objectionIds), true));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user