系统更新

This commit is contained in:
清晨
2025-04-03 10:40:47 +08:00
commit 177517cac7
983 changed files with 83940 additions and 0 deletions

View File

@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-modules</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-work</artifactId>
<description>
业务模块
</description>
<dependencies>
<!-- 通用工具-->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-core</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-redis</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-idempotent</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-mybatis</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-log</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-excel</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-security</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-web</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-websocket</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-system</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.github.yulichang/mybatis-plus-join-boot-starter -->
<dependency>
<groupId>com.github.yulichang</groupId>
<artifactId>mybatis-plus-join-boot-starter</artifactId>
<version>1.4.13</version>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-mail</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,236 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpOrderBo;
import org.dromara.work.domain.vo.CustomerOrderSumVo;
import org.dromara.work.domain.vo.CustomerOrderVo;
import org.dromara.work.domain.vo.TpOrderVo;
import org.dromara.work.service.ITpOrderService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.List;
/**
* 订单管理(客服)
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/customer/order")
public class CustomerOrderController extends BaseController {
private final ITpOrderService tpOrderService;
/**
* 查询订单管理列表
*/
@SaCheckPermission("work:customerOrder:list")
@GetMapping("/list")
public TableDataInfo<CustomerOrderVo> list(TpOrderBo bo, PageQuery pageQuery) {
return tpOrderService.queryCustomerPageList(bo, pageQuery);
}
/**
* 查询订单统计(客服)
*/
@SaCheckPermission("work:customerOrder:sum")
@GetMapping("/sum")
public R<CustomerOrderSumVo> sum(TpOrderBo bo) {
return R.ok(tpOrderService.queryCustomerSum(bo));
}
/**
* 导出客服订单
*/
@SaCheckPermission("work:customerOrder:export")
@Log(title = "导出客服订单", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpOrderBo bo, HttpServletResponse response) {
List<TpOrderVo> list = tpOrderService.queryListKF(bo);
ExcelUtil.exportExcel(list, "导出客服订单", TpOrderVo.class, response);
}
/**
* 获取订单管理详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:customerOrder:query")
@GetMapping("/{id}")
public R<TpOrderVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpOrderService.queryById(id));
}
/**
* 新增订单管理
*/
@SaCheckPermission("work:customerOrder:add")
@Log(title = "订单管理", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpOrderBo bo) {
return toAjax(tpOrderService.insertByBo(bo));
}
/**
* 修改订单管理
*/
@SaCheckPermission("work:customerOrder:edit")
@Log(title = "订单管理", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpOrderBo bo) {
return toAjax(tpOrderService.updateByBo(bo));
}
/**
* 删除订单管理
*
* @param ids 主键串
*/
@SaCheckPermission("work:customerOrder:remove")
@Log(title = "订单管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpOrderService.deleteWithValidByIds(List.of(ids), true));
}
/**
* 订单指派技术
*/
@SaCheckPermission("work:customerOrder:assign")
@Log(title = "订单指派技术", businessType = BusinessType.OTHER)
// @Parameters({@Parameter(name = "orderIds", description = "订单ID", required = true),@Parameter(name = "userId", description = "用户ID", required = true)})
@PostMapping("/assign")
public R<Void> assign(@RequestBody TpOrderBo bo) {
return toAjax(tpOrderService.updateOrderAssign(bo.getOrderIds(),bo.getUserId()));
}
/**
* 订单取消指派
*/
@SaCheckPermission("work:customerOrder:cancelAssign")
@Log(title = "订单取消指派", businessType = BusinessType.OTHER)
@Parameter(name = "orderId", description = "订单ID", required = true)
@PostMapping("/cancelAssign")
public R<Void> cancelAssign(@RequestParam(value = "orderId") Long orderId) {
return toAjax(tpOrderService.orderCancelAssign(orderId));
}
/**
* 订单支付获取订单和余额信息
* @param orderId 主键
*/
@SaCheckPermission("work:customerOrder:queryOrderPay")
@GetMapping("queryOrderPay/{orderId}")
public R<TpOrderVo> queryOrderPay(@NotNull(message = "orderId主键不能为空") @PathVariable Long orderId) {
return R.ok(tpOrderService.queryOrderPay(orderId));
}
/**
* 订单支付
*/
@SaCheckPermission("work:customerOrder:pay")
@Log(title = "订单支付", businessType = BusinessType.OTHER)
@PostMapping("/pay")
@Parameters({@Parameter(name = "orderId", description = "订单ID", required = true),@Parameter(name = "type", description = "类型1客户 2客服", required = true)
,@Parameter(name = "price", description = "支付金额", required = true)
})
public R<Void> pay(@RequestParam(value = "orderId") Long orderId,@RequestParam(value = "type") Integer type,@RequestParam(value = "price") BigDecimal price) {
return toAjax(tpOrderService.orderPay(orderId,type,price));
}
/**
* 订单回退获取订单和退款金额信息
* @param orderId 主键
*/
@SaCheckPermission("work:customerOrder:orderFallback")
@GetMapping("orderFallback/{orderId}")
public R<TpOrderVo> orderFallback(@NotNull(message = "orderId主键不能为空") @PathVariable Long orderId) {
return R.ok(tpOrderService.orderFallback(orderId));
}
/**
* 订单回退
*/
@SaCheckPermission("work:customerOrder:fallback")
@Log(title = "订单回退", businessType = BusinessType.OTHER)
@PostMapping("/fallback")
@Parameters({@Parameter(name = "orderId", description = "订单ID", required = true),@Parameter(name = "type", description = "类型1客户 2客服", required = true)
,@Parameter(name = "price", description = "回退金额", required = true)
})
public R<Void> fallback(@RequestParam(value = "orderId") Long orderId,@RequestParam(value = "type") Integer type,@RequestParam(value = "price") BigDecimal price) {
return toAjax(tpOrderService.fallback(orderId,type,price));
}
/**
* 订单拆单获取订单和金额信息
* @param orderId 主键
*/
@SaCheckPermission("work:customerOrder:cdOrderInfo")
@GetMapping("cdOrderInfo/{orderId}")
public R<TpOrderVo> cdOrderInfo(@NotNull(message = "orderId主键不能为空") @PathVariable Long orderId) {
return R.ok(tpOrderService.cdOrderInfo(orderId));
}
/**
* 订单拆单
*/
@SaCheckPermission("work:customerOrder:cdOrder")
@Log(title = "订单拆单", businessType = BusinessType.OTHER)
@PostMapping("/cdOrder")
@Parameters({@Parameter(name = "orderId", description = "订单ID", required = true),@Parameter(name = "price", description = "拆单金额", required = true)})
public R<Void> cdOrder(@RequestParam(value = "orderId") Long orderId,@RequestParam(value = "price") BigDecimal price) {
return toAjax(tpOrderService.cdOrder(orderId,price));
}
/**
* 订单改价获取订单和金额信息
* @param orderId 主键
*/
@SaCheckPermission("work:customerOrder:gjOrderInfo")
@GetMapping("gjOrderInfo/{orderId}")
public R<TpOrderVo> gjOrderInfo(@NotNull(message = "orderId主键不能为空") @PathVariable Long orderId) {
return R.ok(tpOrderService.gjOrderInfo(orderId));
}
/**
* 订单改价
*/
@SaCheckPermission("work:customerOrder:gjOrder")
@Log(title = "订单改价", businessType = BusinessType.OTHER)
@PostMapping("/gjOrder")
@Parameters({@Parameter(name = "orderId", description = "订单ID", required = true),@Parameter(name = "price", description = "拆单金额", required = true)})
public R<Void> gjOrder(@RequestParam(value = "orderId") Long orderId,@RequestParam(value = "price") BigDecimal price) {
return toAjax(tpOrderService.gjOrder(orderId,price));
}
}

View File

@@ -0,0 +1,117 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpOrderBo;
import org.dromara.work.domain.vo.SkillOrderSumVo;
import org.dromara.work.domain.vo.SkillOrderVo;
import org.dromara.work.domain.vo.TpOrderVo;
import org.dromara.work.service.ITpOrderService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 订单管理(技术)
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/skill/order")
public class SkillOrderController extends BaseController {
private final ITpOrderService tpOrderService;
/**
* 查询订单管理列表
*/
@SaCheckPermission("work:skillOrder:list")
@GetMapping("/list")
public TableDataInfo<SkillOrderVo> list(TpOrderBo bo, PageQuery pageQuery) {
return tpOrderService.querySkillPageList(bo, pageQuery);
}
/**
* 查询订单统计(技术)
*/
@SaCheckPermission("work:skillOrder:sum")
@GetMapping("/sum")
public R<SkillOrderSumVo> sum(TpOrderBo bo) {
return R.ok(tpOrderService.querySkillSum(bo));
}
/**
* 导出技术订单
*/
@SaCheckPermission("work:skillOrder:export")
@Log(title = "导出技术订单", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpOrderBo bo, HttpServletResponse response) {
List<TpOrderVo> list = tpOrderService.queryListJS(bo);
ExcelUtil.exportExcel(list, "导出技术订单", TpOrderVo.class, response);
}
/**
* 获取订单管理详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:skillOrder:query")
@GetMapping("/{id}")
public R<TpOrderVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpOrderService.queryById(id));
}
/**
* 新增订单管理
*/
@SaCheckPermission("work:skillOrder:add")
@Log(title = "订单管理", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpOrderBo bo) {
return toAjax(tpOrderService.insertByBo(bo));
}
/**
* 修改订单管理
*/
@SaCheckPermission("work:skillOrder:edit")
@Log(title = "订单管理", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpOrderBo bo) {
return toAjax(tpOrderService.updateByBo(bo));
}
/**
* 删除订单管理
*
* @param ids 主键串
*/
@SaCheckPermission("work:skillOrder:remove")
@Log(title = "订单管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpOrderService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,106 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpChangePriceBo;
import org.dromara.work.domain.vo.TpChangePriceVo;
import org.dromara.work.service.ITpChangePriceService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 改价配置
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/changePrice")
public class TpChangePriceController extends BaseController {
private final ITpChangePriceService tpChangePriceService;
/**
* 查询改价配置列表
*/
@SaCheckPermission("work:changePrice:list")
@GetMapping("/list")
public TableDataInfo<TpChangePriceVo> list(TpChangePriceBo bo, PageQuery pageQuery) {
return tpChangePriceService.queryPageList(bo, pageQuery);
}
/**
* 导出改价配置列表
*/
@SaCheckPermission("work:changePrice:export")
@Log(title = "改价配置", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpChangePriceBo bo, HttpServletResponse response) {
List<TpChangePriceVo> list = tpChangePriceService.queryList(bo);
ExcelUtil.exportExcel(list, "改价配置", TpChangePriceVo.class, response);
}
/**
* 获取改价配置详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:changePrice:query")
@GetMapping("/{id}")
public R<TpChangePriceVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpChangePriceService.queryById(id));
}
/**
* 新增改价配置
*/
@SaCheckPermission("work:changePrice:add")
@Log(title = "改价配置", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpChangePriceBo bo) {
return toAjax(tpChangePriceService.insertByBo(bo));
}
/**
* 修改改价配置
*/
@SaCheckPermission("work:changePrice:edit")
@Log(title = "改价配置", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpChangePriceBo bo) {
return toAjax(tpChangePriceService.updateByBo(bo));
}
/**
* 删除改价配置
*
* @param ids 主键串
*/
@SaCheckPermission("work:changePrice:remove")
@Log(title = "改价配置", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpChangePriceService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,116 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpClientBo;
import org.dromara.work.domain.vo.ClientSumVo;
import org.dromara.work.domain.vo.TpClientVo;
import org.dromara.work.service.ITpClientService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 客户
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/client")
public class TpClientController extends BaseController {
private final ITpClientService tpClientService;
/**
* 查询客户列表
*/
@SaCheckPermission("work:client:list")
@GetMapping("/list")
public TableDataInfo<TpClientVo> list(TpClientBo bo, PageQuery pageQuery) {
return tpClientService.queryPageList(bo, pageQuery);
}
/**
* 查询客户下单金额统计列表
*/
@SaCheckPermission("work:client:listChart")
@GetMapping("/listChart")
public TableDataInfo<ClientSumVo> listChart(TpClientBo bo, PageQuery pageQuery) {
return tpClientService.queryPageListChart(bo, pageQuery);
}
/**
* 导出客户列表
*/
@SaCheckPermission("work:client:export")
@Log(title = "导出客户列表", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpClientBo bo, HttpServletResponse response) {
List<TpClientVo> list = tpClientService.queryList(bo);
ExcelUtil.exportExcel(list, "导出客户列表", TpClientVo.class, response);
}
/**
* 获取客户详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:client:query")
@GetMapping("/{id}")
public R<TpClientVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpClientService.queryById(id));
}
/**
* 新增客户
*/
@SaCheckPermission("work:client:add")
@Log(title = "客户", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpClientBo bo) {
return toAjax(tpClientService.insertByBo(bo));
}
/**
* 修改客户
*/
@SaCheckPermission("work:client:edit")
@Log(title = "客户", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpClientBo bo) {
return toAjax(tpClientService.updateByBo(bo));
}
/**
* 删除客户
*
* @param ids 主键串
*/
@SaCheckPermission("work:client:remove")
@Log(title = "客户", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpClientService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,106 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpClientStaffBo;
import org.dromara.work.domain.vo.TpClientStaffVo;
import org.dromara.work.service.ITpClientStaffService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 客服客户管理
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/clientStaff")
public class TpClientStaffController extends BaseController {
private final ITpClientStaffService tpClientStaffService;
/**
* 查询客服客户管理列表
*/
@SaCheckPermission("work:clientStaff:list")
@GetMapping("/list")
public TableDataInfo<TpClientStaffVo> list(TpClientStaffBo bo, PageQuery pageQuery) {
return tpClientStaffService.queryPageList(bo, pageQuery);
}
/**
* 导出客服客户列表
*/
@SaCheckPermission("work:clientStaff:export")
@Log(title = "导出客服客户列表", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpClientStaffBo bo, HttpServletResponse response) {
List<TpClientStaffVo> list = tpClientStaffService.queryList(bo);
ExcelUtil.exportExcel(list, "导出客服客户列表", TpClientStaffVo.class, response);
}
/**
* 获取客服客户管理详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:clientStaff:query")
@GetMapping("/{id}")
public R<TpClientStaffVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpClientStaffService.queryById(id));
}
/**
* 新增客服客户管理
*/
@SaCheckPermission("work:clientStaff:add")
@Log(title = "客服客户管理", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpClientStaffBo bo) {
return toAjax(tpClientStaffService.insertByBo(bo));
}
/**
* 修改客服客户管理
*/
@SaCheckPermission("work:clientStaff:edit")
@Log(title = "客服客户管理", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpClientStaffBo bo) {
return toAjax(tpClientStaffService.updateByBo(bo));
}
/**
* 删除客服客户管理
*
* @param ids 主键串
*/
@SaCheckPermission("work:clientStaff:remove")
@Log(title = "客服客户管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpClientStaffService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,111 @@
package org.dromara.work.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.common.core.domain.model.LoginUser;
import org.dromara.common.satoken.utils.LoginHelper;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.work.domain.vo.TpDesignQuotesVo;
import org.dromara.work.domain.bo.TpDesignQuotesBo;
import org.dromara.work.service.ITpDesignQuotesService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 报价
*
* @author Maosw
* @date 2025-03-10
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/designQuotes")
public class TpDesignQuotesController extends BaseController {
private final ITpDesignQuotesService tpDesignQuotesService;
/**
* 查询报价列表
*/
@SaCheckPermission("work:designQuotes:list")
@GetMapping("/list")
public TableDataInfo<TpDesignQuotesVo> list(TpDesignQuotesBo bo, PageQuery pageQuery) {
LoginUser loginUser = LoginHelper.getLoginUser();
if(!LoginHelper.isSuperAdmin()){
bo.setSid(loginUser.getUserId());
}
return tpDesignQuotesService.queryPageList(bo, pageQuery);
}
/**
* 导出报价列表
*/
@SaCheckPermission("work:designQuotes:export")
@Log(title = "报价", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpDesignQuotesBo bo, HttpServletResponse response) {
List<TpDesignQuotesVo> list = tpDesignQuotesService.queryList(bo);
ExcelUtil.exportExcel(list, "报价", TpDesignQuotesVo.class, response);
}
/**
* 获取报价详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:designQuotes:query")
@GetMapping("/{id}")
public R<TpDesignQuotesVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpDesignQuotesService.queryById(id));
}
/**
* 新增报价
*/
@SaCheckPermission("work:designQuotes:add")
@Log(title = "报价", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpDesignQuotesBo bo) {
return toAjax(tpDesignQuotesService.insertByBo(bo));
}
/**
* 修改报价
*/
@SaCheckPermission("work:designQuotes:edit")
@Log(title = "报价", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpDesignQuotesBo bo) {
return toAjax(tpDesignQuotesService.updateByBo(bo));
}
/**
* 删除报价
*
* @param ids 主键串
*/
@SaCheckPermission("work:designQuotes:remove")
@Log(title = "报价", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpDesignQuotesService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,137 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mail.utils.MailUtils;
import org.dromara.common.mybatis.config.DataSourceConfig;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpFieldBo;
import org.dromara.work.domain.vo.TpFieldVo;
import org.dromara.work.service.ITpFieldService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.List;
/**
* 字段管理
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/field")
public class TpFieldController extends BaseController {
private final ITpFieldService tpFieldService;
private final DataSourceConfig dataSourceConfig;
/**
* 查询字段管理列表
*/
@SaCheckPermission("work:field:list")
@GetMapping("/list")
public TableDataInfo<TpFieldVo> list(TpFieldBo bo, PageQuery pageQuery) {
return tpFieldService.queryPageList(bo, pageQuery);
}
/**
* 导出字段管理列表
*/
@SaCheckPermission("work:field:export")
@Log(title = "字段管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpFieldBo bo, HttpServletResponse response) {
List<TpFieldVo> list = tpFieldService.queryList(bo);
ExcelUtil.exportExcel(list, "字段管理", TpFieldVo.class, response);
}
/**
* 获取字段管理详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:field:query")
@GetMapping("/{id}")
public R<TpFieldVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpFieldService.queryById(id));
}
/**
* 新增字段管理
*/
@SaCheckPermission("work:field:add")
@Log(title = "字段管理", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpFieldBo bo) {
return toAjax(tpFieldService.insertByBo(bo));
}
/**
* 修改字段管理
*/
@SaCheckPermission("work:field:edit")
@Log(title = "字段管理", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpFieldBo bo) {
return toAjax(tpFieldService.updateByBo(bo));
}
/**
* 删除字段管理
*
* @param ids 主键串
*/
@SaCheckPermission("work:field:remove")
@Log(title = "字段管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpFieldService.deleteWithValidByIds(List.of(ids), true));
}
@GetMapping("/dbConfig")
public String getDbConfig() {
String url = dataSourceConfig.getDatabaseUrl();
String username = dataSourceConfig.getDatabaseUsername();
String password = dataSourceConfig.getDatabasePassword();
return "url" + url + "username" + username + "password" + password;
}
/**
* 发送邮件
*
* @param to 接收人
* @param subject 标题
* @param text 内容
*/
@GetMapping("/sendSimpleMessage")
public R<Void> sendSimpleMessage(String to, String subject, String text) throws UnknownHostException {
InetAddress addr = InetAddress.getLocalHost();
String domainName = addr.getHostName();
MailUtils.sendText(to, subject, domainName);
return R.ok();
}
}

View File

@@ -0,0 +1,106 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpIntegralDetailBo;
import org.dromara.work.domain.vo.TpIntegralDetailVo;
import org.dromara.work.service.ITpIntegralDetailService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 积分明细
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/integralDetail")
public class TpIntegralDetailController extends BaseController {
private final ITpIntegralDetailService tpIntegralDetailService;
/**
* 查询积分明细列表
*/
@SaCheckPermission("work:integralDetail:list")
@GetMapping("/list")
public TableDataInfo<TpIntegralDetailVo> list(TpIntegralDetailBo bo, PageQuery pageQuery) {
return tpIntegralDetailService.queryPageList(bo, pageQuery);
}
/**
* 导出积分明细列表
*/
@SaCheckPermission("work:integralDetail:export")
@Log(title = "积分明细", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpIntegralDetailBo bo, HttpServletResponse response) {
List<TpIntegralDetailVo> list = tpIntegralDetailService.queryList(bo);
ExcelUtil.exportExcel(list, "积分明细", TpIntegralDetailVo.class, response);
}
/**
* 获取积分明细详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:integralDetail:query")
@GetMapping("/{id}")
public R<TpIntegralDetailVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpIntegralDetailService.queryById(id));
}
/**
* 新增积分明细
*/
@SaCheckPermission("work:integralDetail:add")
@Log(title = "积分明细", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpIntegralDetailBo bo) {
return toAjax(tpIntegralDetailService.insertByBo(bo));
}
/**
* 修改积分明细
*/
@SaCheckPermission("work:integralDetail:edit")
@Log(title = "积分明细", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpIntegralDetailBo bo) {
return toAjax(tpIntegralDetailService.updateByBo(bo));
}
/**
* 删除积分明细
*
* @param ids 主键串
*/
@SaCheckPermission("work:integralDetail:remove")
@Log(title = "积分明细", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpIntegralDetailService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,106 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpMonthBo;
import org.dromara.work.domain.vo.TpMonthVo;
import org.dromara.work.service.ITpMonthService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 月目标
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/month")
public class TpMonthController extends BaseController {
private final ITpMonthService tpMonthService;
/**
* 查询月目标列表
*/
@SaCheckPermission("work:month:list")
@GetMapping("/list")
public TableDataInfo<TpMonthVo> list(TpMonthBo bo, PageQuery pageQuery) {
return tpMonthService.queryPageList(bo, pageQuery);
}
/**
* 导出月目标列表
*/
@SaCheckPermission("work:month:export")
@Log(title = "月目标", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpMonthBo bo, HttpServletResponse response) {
List<TpMonthVo> list = tpMonthService.queryList(bo);
ExcelUtil.exportExcel(list, "月目标", TpMonthVo.class, response);
}
/**
* 获取月目标详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:month:query")
@GetMapping("/{id}")
public R<TpMonthVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpMonthService.queryById(id));
}
/**
* 新增月目标
*/
@SaCheckPermission("work:month:add")
@Log(title = "月目标", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpMonthBo bo) {
return toAjax(tpMonthService.insertByBo(bo));
}
/**
* 修改月目标
*/
@SaCheckPermission("work:month:edit")
@Log(title = "月目标", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpMonthBo bo) {
return toAjax(tpMonthService.updateByBo(bo));
}
/**
* 删除月目标
*
* @param ids 主键串
*/
@SaCheckPermission("work:month:remove")
@Log(title = "月目标", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpMonthService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,106 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpOrderBigBo;
import org.dromara.work.domain.vo.TpOrderBigVo;
import org.dromara.work.service.ITpOrderBigService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 订单大图
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/orderBig")
public class TpOrderBigController extends BaseController {
private final ITpOrderBigService tpOrderBigService;
/**
* 查询订单大图列表
*/
@SaCheckPermission("work:orderBig:list")
@GetMapping("/list")
public TableDataInfo<TpOrderBigVo> list(TpOrderBigBo bo, PageQuery pageQuery) {
return tpOrderBigService.queryPageList(bo, pageQuery);
}
/**
* 导出订单大图列表
*/
@SaCheckPermission("work:orderBig:export")
@Log(title = "订单大图", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpOrderBigBo bo, HttpServletResponse response) {
List<TpOrderBigVo> list = tpOrderBigService.queryList(bo);
ExcelUtil.exportExcel(list, "订单大图", TpOrderBigVo.class, response);
}
/**
* 获取订单大图详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:orderBig:query")
@GetMapping("/{id}")
public R<TpOrderBigVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpOrderBigService.queryById(id));
}
/**
* 新增订单大图
*/
@SaCheckPermission("work:orderBig:add")
@Log(title = "订单大图", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpOrderBigBo bo) {
return toAjax(tpOrderBigService.insertByBo(bo));
}
/**
* 修改订单大图
*/
@SaCheckPermission("work:orderBig:edit")
@Log(title = "订单大图", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpOrderBigBo bo) {
return toAjax(tpOrderBigService.updateByBo(bo));
}
/**
* 删除订单大图
*
* @param ids 主键串
*/
@SaCheckPermission("work:orderBig:remove")
@Log(title = "订单大图", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpOrderBigService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,106 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpOrderCdBo;
import org.dromara.work.domain.vo.TpOrderCdVo;
import org.dromara.work.service.ITpOrderCdService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 拆单记录
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/orderCd")
public class TpOrderCdController extends BaseController {
private final ITpOrderCdService tpOrderCdService;
/**
* 查询拆单记录列表
*/
@SaCheckPermission("work:orderCd:list")
@GetMapping("/list")
public TableDataInfo<TpOrderCdVo> list(TpOrderCdBo bo, PageQuery pageQuery) {
return tpOrderCdService.queryPageList(bo, pageQuery);
}
/**
* 导出拆单记录列表
*/
@SaCheckPermission("work:orderCd:export")
@Log(title = "拆单记录", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpOrderCdBo bo, HttpServletResponse response) {
List<TpOrderCdVo> list = tpOrderCdService.queryList(bo);
ExcelUtil.exportExcel(list, "拆单记录", TpOrderCdVo.class, response);
}
/**
* 获取拆单记录详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:orderCd:query")
@GetMapping("/{id}")
public R<TpOrderCdVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpOrderCdService.queryById(id));
}
/**
* 新增拆单记录
*/
@SaCheckPermission("work:orderCd:add")
@Log(title = "拆单记录", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpOrderCdBo bo) {
return toAjax(tpOrderCdService.insertByBo(bo));
}
/**
* 修改拆单记录
*/
@SaCheckPermission("work:orderCd:edit")
@Log(title = "拆单记录", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpOrderCdBo bo) {
return toAjax(tpOrderCdService.updateByBo(bo));
}
/**
* 删除拆单记录
*
* @param ids 主键串
*/
@SaCheckPermission("work:orderCd:remove")
@Log(title = "拆单记录", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpOrderCdService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,106 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpOrderCommentBo;
import org.dromara.work.domain.vo.TpOrderCommentVo;
import org.dromara.work.service.ITpOrderCommentService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 订单评论
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/orderComment")
public class TpOrderCommentController extends BaseController {
private final ITpOrderCommentService tpOrderCommentService;
/**
* 查询订单评论列表
*/
@SaCheckPermission("work:orderComment:list")
@GetMapping("/list")
public TableDataInfo<TpOrderCommentVo> list(TpOrderCommentBo bo, PageQuery pageQuery) {
return tpOrderCommentService.queryPageList(bo, pageQuery);
}
/**
* 导出订单评论列表
*/
@SaCheckPermission("work:orderComment:export")
@Log(title = "订单评论", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpOrderCommentBo bo, HttpServletResponse response) {
List<TpOrderCommentVo> list = tpOrderCommentService.queryList(bo);
ExcelUtil.exportExcel(list, "订单评论", TpOrderCommentVo.class, response);
}
/**
* 获取订单评论详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:orderComment:query")
@GetMapping("/{id}")
public R<TpOrderCommentVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpOrderCommentService.queryById(id));
}
/**
* 新增订单评论
*/
@SaCheckPermission("work:orderComment:add")
@Log(title = "订单评论", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpOrderCommentBo bo) {
return toAjax(tpOrderCommentService.insertByBo(bo));
}
/**
* 修改订单评论
*/
@SaCheckPermission("work:orderComment:edit")
@Log(title = "订单评论", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpOrderCommentBo bo) {
return toAjax(tpOrderCommentService.updateByBo(bo));
}
/**
* 删除订单评论
*
* @param ids 主键串
*/
@SaCheckPermission("work:orderComment:remove")
@Log(title = "订单评论", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpOrderCommentService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,107 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpOrderBo;
import org.dromara.work.domain.vo.TpOrderVo;
import org.dromara.work.service.ITpOrderService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.concurrent.TimeUnit;
/**
* 订单回收站
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/order")
public class TpOrderController extends BaseController {
private final ITpOrderService tpOrderService;
/**
* 查询订单管理列表
*/
@SaCheckPermission("work:order:list")
@GetMapping("/list")
public TableDataInfo<TpOrderVo> list(TpOrderBo bo, PageQuery pageQuery) {
return tpOrderService.queryPageList(bo, pageQuery);
}
/**
* 回收站订单导出
*/
@SaCheckPermission("work:order:export")
@Log(title = "回收站订单导出", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpOrderBo bo, HttpServletResponse response) {
List<TpOrderVo> list = tpOrderService.queryList(bo);
ExcelUtil.exportExcel(list, "回收站订单导出", TpOrderVo.class, response);
}
/**
* 获取订单管理详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:order:query")
@GetMapping("/{id}")
public R<TpOrderVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpOrderService.queryById(id));
}
/**
* 新增订单管理
*/
@SaCheckPermission("work:order:add")
@Log(title = "订单管理", businessType = BusinessType.INSERT)
@RepeatSubmit(interval = 3,timeUnit = TimeUnit.SECONDS,message = "不允许重复提交")
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpOrderBo bo) {
return toAjax(tpOrderService.insertByBo(bo));
}
/**
* 修改订单管理
*/
@SaCheckPermission("work:order:edit")
@Log(title = "订单管理", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpOrderBo bo) {
return toAjax(tpOrderService.updateByBo(bo));
}
/**
* 删除订单管理
*
* @param ids 主键串
*/
@SaCheckPermission("work:order:remove")
@Log(title = "订单管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpOrderService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,106 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpOrderModelBo;
import org.dromara.work.domain.vo.TpOrderModelVo;
import org.dromara.work.service.ITpOrderModelService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 订单模型
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/orderModel")
public class TpOrderModelController extends BaseController {
private final ITpOrderModelService tpOrderModelService;
/**
* 查询订单模型列表
*/
@SaCheckPermission("work:orderModel:list")
@GetMapping("/list")
public TableDataInfo<TpOrderModelVo> list(TpOrderModelBo bo, PageQuery pageQuery) {
return tpOrderModelService.queryPageList(bo, pageQuery);
}
/**
* 导出订单模型列表
*/
@SaCheckPermission("work:orderModel:export")
@Log(title = "订单模型", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpOrderModelBo bo, HttpServletResponse response) {
List<TpOrderModelVo> list = tpOrderModelService.queryList(bo);
ExcelUtil.exportExcel(list, "订单模型", TpOrderModelVo.class, response);
}
/**
* 获取订单模型详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:orderModel:query")
@GetMapping("/{id}")
public R<TpOrderModelVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpOrderModelService.queryById(id));
}
/**
* 新增订单模型
*/
@SaCheckPermission("work:orderModel:add")
@Log(title = "订单模型", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpOrderModelBo bo) {
return toAjax(tpOrderModelService.insertByBo(bo));
}
/**
* 修改订单模型
*/
@SaCheckPermission("work:orderModel:edit")
@Log(title = "订单模型", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpOrderModelBo bo) {
return toAjax(tpOrderModelService.updateByBo(bo));
}
/**
* 删除订单模型
*
* @param ids 主键串
*/
@SaCheckPermission("work:orderModel:remove")
@Log(title = "订单模型", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpOrderModelService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,106 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpOrderPayBo;
import org.dromara.work.domain.vo.TpOrderPayVo;
import org.dromara.work.service.ITpOrderPayService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 订单支付记录
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/orderPay")
public class TpOrderPayController extends BaseController {
private final ITpOrderPayService tpOrderPayService;
/**
* 查询订单支付记录列表
*/
@SaCheckPermission("work:orderPay:list")
@GetMapping("/list")
public TableDataInfo<TpOrderPayVo> list(TpOrderPayBo bo, PageQuery pageQuery) {
return tpOrderPayService.queryPageList(bo, pageQuery);
}
/**
* 导出订单支付记录列表
*/
@SaCheckPermission("work:orderPay:export")
@Log(title = "订单支付记录", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpOrderPayBo bo, HttpServletResponse response) {
List<TpOrderPayVo> list = tpOrderPayService.queryList(bo);
ExcelUtil.exportExcel(list, "订单支付记录", TpOrderPayVo.class, response);
}
/**
* 获取订单支付记录详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:orderPay:query")
@GetMapping("/{id}")
public R<TpOrderPayVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpOrderPayService.queryById(id));
}
/**
* 新增订单支付记录
*/
@SaCheckPermission("work:orderPay:add")
@Log(title = "订单支付记录", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpOrderPayBo bo) {
return toAjax(tpOrderPayService.insertByBo(bo));
}
/**
* 修改订单支付记录
*/
@SaCheckPermission("work:orderPay:edit")
@Log(title = "订单支付记录", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpOrderPayBo bo) {
return toAjax(tpOrderPayService.updateByBo(bo));
}
/**
* 删除订单支付记录
*
* @param ids 主键串
*/
@SaCheckPermission("work:orderPay:remove")
@Log(title = "订单支付记录", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpOrderPayService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,106 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpOrderRecordBo;
import org.dromara.work.domain.vo.TpOrderRecordVo;
import org.dromara.work.service.ITpOrderRecordService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 操作历史
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/orderRecord")
public class TpOrderRecordController extends BaseController {
private final ITpOrderRecordService tpOrderRecordService;
/**
* 查询操作历史列表
*/
@SaCheckPermission("work:orderRecord:list")
@GetMapping("/list")
public TableDataInfo<TpOrderRecordVo> list(TpOrderRecordBo bo, PageQuery pageQuery) {
return tpOrderRecordService.queryPageList(bo, pageQuery);
}
/**
* 导出操作历史列表
*/
@SaCheckPermission("work:orderRecord:export")
@Log(title = "操作历史", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpOrderRecordBo bo, HttpServletResponse response) {
List<TpOrderRecordVo> list = tpOrderRecordService.queryList(bo);
ExcelUtil.exportExcel(list, "操作历史", TpOrderRecordVo.class, response);
}
/**
* 获取操作历史详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:orderRecord:query")
@GetMapping("/{id}")
public R<TpOrderRecordVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpOrderRecordService.queryById(id));
}
/**
* 新增操作历史
*/
@SaCheckPermission("work:orderRecord:add")
@Log(title = "操作历史", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpOrderRecordBo bo) {
return toAjax(tpOrderRecordService.insertByBo(bo));
}
/**
* 修改操作历史
*/
@SaCheckPermission("work:orderRecord:edit")
@Log(title = "操作历史", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpOrderRecordBo bo) {
return toAjax(tpOrderRecordService.updateByBo(bo));
}
/**
* 删除操作历史
*
* @param ids 主键串
*/
@SaCheckPermission("work:orderRecord:remove")
@Log(title = "操作历史", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpOrderRecordService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,106 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpOrderSmallBo;
import org.dromara.work.domain.vo.TpOrderSmallVo;
import org.dromara.work.service.ITpOrderSmallService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 订单小图
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/orderSmall")
public class TpOrderSmallController extends BaseController {
private final ITpOrderSmallService tpOrderSmallService;
/**
* 查询订单小图列表
*/
@SaCheckPermission("work:orderSmall:list")
@GetMapping("/list")
public TableDataInfo<TpOrderSmallVo> list(TpOrderSmallBo bo, PageQuery pageQuery) {
return tpOrderSmallService.queryPageList(bo, pageQuery);
}
/**
* 导出订单小图列表
*/
@SaCheckPermission("work:orderSmall:export")
@Log(title = "订单小图", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpOrderSmallBo bo, HttpServletResponse response) {
List<TpOrderSmallVo> list = tpOrderSmallService.queryList(bo);
ExcelUtil.exportExcel(list, "订单小图", TpOrderSmallVo.class, response);
}
/**
* 获取订单小图详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:orderSmall:query")
@GetMapping("/{id}")
public R<TpOrderSmallVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpOrderSmallService.queryById(id));
}
/**
* 新增订单小图
*/
@SaCheckPermission("work:orderSmall:add")
@Log(title = "订单小图", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpOrderSmallBo bo) {
return toAjax(tpOrderSmallService.insertByBo(bo));
}
/**
* 修改订单小图
*/
@SaCheckPermission("work:orderSmall:edit")
@Log(title = "订单小图", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpOrderSmallBo bo) {
return toAjax(tpOrderSmallService.updateByBo(bo));
}
/**
* 删除订单小图
*
* @param ids 主键串
*/
@SaCheckPermission("work:orderSmall:remove")
@Log(title = "订单小图", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpOrderSmallService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,113 @@
package org.dromara.work.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.work.domain.vo.TpPanoramaVo;
import org.dromara.work.domain.bo.TpPanoramaBo;
import org.dromara.work.service.ITpPanoramaService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 全景
*
* @author Maosw
* @date 2025-03-26
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/panorama")
public class TpPanoramaController extends BaseController {
private final ITpPanoramaService tpPanoramaService;
/**
* 查询全景列表
*/
@SaCheckPermission("work:panorama:list")
@GetMapping("/list")
public TableDataInfo<TpPanoramaVo> list(TpPanoramaBo bo, PageQuery pageQuery) {
return tpPanoramaService.queryPageList(bo, pageQuery);
}
/**
* 根据订单ID查询全景列表
*/
@GetMapping("/listByOrderId")
public R<List<TpPanoramaVo>> listByOrderId(TpPanoramaBo bo) {
return R.ok(tpPanoramaService.queryList(bo));
}
/**
* 导出全景列表
*/
@SaCheckPermission("work:panorama:export")
@Log(title = "全景", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpPanoramaBo bo, HttpServletResponse response) {
List<TpPanoramaVo> list = tpPanoramaService.queryList(bo);
ExcelUtil.exportExcel(list, "全景", TpPanoramaVo.class, response);
}
/**
* 获取全景详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:panorama:query")
@GetMapping("/{id}")
public R<TpPanoramaVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpPanoramaService.queryById(id));
}
/**
* 新增全景
*/
@SaCheckPermission("work:panorama:add")
@Log(title = "全景", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpPanoramaBo bo) {
return toAjax(tpPanoramaService.insertByBo(bo));
}
/**
* 修改全景
*/
@SaCheckPermission("work:panorama:edit")
@Log(title = "全景", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpPanoramaBo bo) {
return toAjax(tpPanoramaService.updateByBo(bo));
}
/**
* 删除全景
*
* @param ids 主键串
*/
@SaCheckPermission("work:panorama:remove")
@Log(title = "全景", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpPanoramaService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,106 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpProdBo;
import org.dromara.work.domain.vo.TpProdVo;
import org.dromara.work.service.ITpProdService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 商品
*
* @author Maosw
* @date 2025-03-15
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/prod")
public class TpProdController extends BaseController {
private final ITpProdService tpProdService;
/**
* 查询商品列表
*/
@SaCheckPermission("work:prod:list")
@GetMapping("/list")
public TableDataInfo<TpProdVo> list(TpProdBo bo, PageQuery pageQuery) {
return tpProdService.queryPageList(bo, pageQuery);
}
/**
* 导出商品列表
*/
@SaCheckPermission("work:prod:export")
@Log(title = "商品", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpProdBo bo, HttpServletResponse response) {
List<TpProdVo> list = tpProdService.queryList(bo);
ExcelUtil.exportExcel(list, "商品", TpProdVo.class, response);
}
/**
* 获取商品详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:prod:query")
@GetMapping("/{id}")
public R<TpProdVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpProdService.queryById(id));
}
/**
* 新增商品
*/
@SaCheckPermission("work:prod:add")
@Log(title = "商品", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpProdBo bo) {
return toAjax(tpProdService.insertByBo(bo));
}
/**
* 修改商品
*/
@SaCheckPermission("work:prod:edit")
@Log(title = "商品", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpProdBo bo) {
return toAjax(tpProdService.updateByBo(bo));
}
/**
* 删除商品
*
* @param ids 主键串
*/
@SaCheckPermission("work:prod:remove")
@Log(title = "商品", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpProdService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,178 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.ObjectUtil;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.domain.dto.RoleDTO;
import org.dromara.common.core.domain.model.LoginUser;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpReceiptBo;
import org.dromara.work.domain.vo.ReceiptSumVo;
import org.dromara.work.domain.vo.TpReceiptVo;
import org.dromara.work.service.ITpReceiptService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.concurrent.TimeUnit;
/**
* 收款管理
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/receipt")
public class TpReceiptController extends BaseController {
private final ITpReceiptService tpReceiptService;
/**
* 查询收款管理列表
*/
@SaCheckPermission("work:receipt:list")
@GetMapping("/list")
public TableDataInfo<TpReceiptVo> list(TpReceiptBo bo, PageQuery pageQuery) {
LoginUser loginUser = LoginHelper.getLoginUser();
if(loginUser.getIdentity() == 2){
throw new ServiceException("您无权限查看汇款信息");
}
return tpReceiptService.queryPageList(bo, pageQuery);
}
/**
* 查询收款统计信息
*/
@SaCheckPermission("work:receiptSum:list")
@GetMapping("/receiptSum")
public R<ReceiptSumVo> receiptSum(TpReceiptBo bo) {
LoginUser loginUser = LoginHelper.getLoginUser();
if(loginUser.getIdentity() == 2){
throw new ServiceException("您无权限查看汇款信息");
}
return R.ok(tpReceiptService.queryListSum(bo));
}
/**
* 导出收款管理列表
*/
@SaCheckPermission("work:receipt:export")
@Log(title = "收款管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpReceiptBo bo, HttpServletResponse response) {
LoginUser loginUser = LoginHelper.getLoginUser();
if(loginUser.getIdentity() == 2){
throw new ServiceException("您无权限查看汇款信息");
}
List<TpReceiptVo> list = tpReceiptService.queryList(bo);
ExcelUtil.exportExcel(list, "收款管理", TpReceiptVo.class, response);
}
/**
* 获取收款管理详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:receipt:query")
@GetMapping("/{id}")
public R<TpReceiptVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpReceiptService.queryById(id));
}
/**
* 新增收款管理
*/
@SaCheckPermission("work:receipt:add")
@Log(title = "收款管理", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpReceiptBo bo) {
return toAjax(tpReceiptService.insertByBo(bo));
}
/**
* 修改收款管理
*/
/*@SaCheckPermission("work:receipt:edit")
@Log(title = "收款管理", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpReceiptBo bo) {
return toAjax(tpReceiptService.updateByBo(bo));
}*/
/**
* 认领汇款
*/
@SaCheckPermission("work:receipt:claim")
@Log(title = "认领汇款", businessType = BusinessType.UPDATE)
@PostMapping("/claim")
@RepeatSubmit(interval = 5,timeUnit = TimeUnit.SECONDS,message = "不允许重复提交")
public R<Void> claim(@RequestBody TpReceiptBo bo) {
if(ObjectUtil.isNull(bo.getCid())){
return R.fail("客户ID不能为空");
}
LoginUser loginUser = LoginHelper.getLoginUser();
List<RoleDTO> list1 = loginUser.getRoles();
boolean isRole = list1.stream().anyMatch(role -> role.getRoleId() == 1 || role.getRoleId() == 2);
if(!isRole){
if(loginUser.getIdentity() == 2){
throw new ServiceException("您无认领汇款权限");
}
}
return toAjax(tpReceiptService.updateClaimByBo(bo));
}
/**
* 回退汇款
*/
@SaCheckPermission("work:receipt:back")
@Log(title = "回退汇款", businessType = BusinessType.UPDATE)
@PostMapping("/back")
@RepeatSubmit(interval = 5,timeUnit = TimeUnit.SECONDS,message = "不允许重复提交")
public R<Void> back(@RequestBody TpReceiptBo bo) {
/*LoginUser loginUser = LoginHelper.getLoginUser();
List<RoleDTO> list1 = loginUser.getRoles();
boolean isRole = list1.stream().anyMatch(role -> role.getRoleId() == 1 || role.getRoleId() == 2);
if(!isRole){
if(loginUser.getIdentity() == 2 || loginUser.getIdentity() == 3 || loginUser.getIdentity() == 4){
throw new ServiceException("您无回退汇款权限");
}
}*/
return toAjax(tpReceiptService.updateBackByBo(bo));
}
/**
* 作废汇款
*
* @param ids 主键串
*/
@SaCheckPermission("work:receipt:remove")
@Log(title = "作废汇款", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpReceiptService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,106 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpRemittanceBo;
import org.dromara.work.domain.vo.TpRemittanceVo;
import org.dromara.work.service.ITpRemittanceService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 汇款
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/remittance")
public class TpRemittanceController extends BaseController {
private final ITpRemittanceService tpRemittanceService;
/**
* 查询汇款列表
*/
@SaCheckPermission("work:remittance:list")
@GetMapping("/list")
public TableDataInfo<TpRemittanceVo> list(TpRemittanceBo bo, PageQuery pageQuery) {
return tpRemittanceService.queryPageList(bo, pageQuery);
}
/**
* 导出汇款列表
*/
@SaCheckPermission("work:remittance:export")
@Log(title = "汇款", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpRemittanceBo bo, HttpServletResponse response) {
List<TpRemittanceVo> list = tpRemittanceService.queryList(bo);
ExcelUtil.exportExcel(list, "汇款", TpRemittanceVo.class, response);
}
/**
* 获取汇款详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:remittance:query")
@GetMapping("/{id}")
public R<TpRemittanceVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpRemittanceService.queryById(id));
}
/**
* 新增汇款
*/
@SaCheckPermission("work:remittance:add")
@Log(title = "汇款", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpRemittanceBo bo) {
return toAjax(tpRemittanceService.insertByBo(bo));
}
/**
* 修改汇款
*/
@SaCheckPermission("work:remittance:edit")
@Log(title = "汇款", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpRemittanceBo bo) {
return toAjax(tpRemittanceService.updateByBo(bo));
}
/**
* 删除汇款
*
* @param ids 主键串
*/
@SaCheckPermission("work:remittance:remove")
@Log(title = "汇款", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpRemittanceService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,106 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpStaffBo;
import org.dromara.work.domain.vo.TpStaffVo;
import org.dromara.work.service.ITpStaffService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 人员
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/staff")
public class TpStaffController extends BaseController {
private final ITpStaffService tpStaffService;
/**
* 查询人员列表
*/
@SaCheckPermission("work:staff:list")
@GetMapping("/list")
public TableDataInfo<TpStaffVo> list(TpStaffBo bo, PageQuery pageQuery) {
return tpStaffService.queryPageList(bo, pageQuery);
}
/**
* 导出人员列表
*/
@SaCheckPermission("work:staff:export")
@Log(title = "人员", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpStaffBo bo, HttpServletResponse response) {
List<TpStaffVo> list = tpStaffService.queryList(bo);
ExcelUtil.exportExcel(list, "人员", TpStaffVo.class, response);
}
/**
* 获取人员详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:staff:query")
@GetMapping("/{id}")
public R<TpStaffVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpStaffService.queryById(id));
}
/**
* 新增人员
*/
@SaCheckPermission("work:staff:add")
@Log(title = "人员", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpStaffBo bo) {
return toAjax(tpStaffService.insertByBo(bo));
}
/**
* 修改人员
*/
@SaCheckPermission("work:staff:edit")
@Log(title = "人员", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpStaffBo bo) {
return toAjax(tpStaffService.updateByBo(bo));
}
/**
* 删除人员
*
* @param ids 主键串
*/
@SaCheckPermission("work:staff:remove")
@Log(title = "人员", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpStaffService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,106 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpStaffPayBo;
import org.dromara.work.domain.vo.TpStaffPayVo;
import org.dromara.work.service.ITpStaffPayService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 客服支出记录
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/staffPay")
public class TpStaffPayController extends BaseController {
private final ITpStaffPayService tpStaffPayService;
/**
* 查询客服支出记录列表
*/
@SaCheckPermission("work:staffPay:list")
@GetMapping("/list")
public TableDataInfo<TpStaffPayVo> list(TpStaffPayBo bo, PageQuery pageQuery) {
return tpStaffPayService.queryPageList(bo, pageQuery);
}
/**
* 导出客服支出记录列表
*/
@SaCheckPermission("work:staffPay:export")
@Log(title = "客服支出记录", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpStaffPayBo bo, HttpServletResponse response) {
List<TpStaffPayVo> list = tpStaffPayService.queryList(bo);
ExcelUtil.exportExcel(list, "客服支出记录", TpStaffPayVo.class, response);
}
/**
* 获取客服支出记录详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:staffPay:query")
@GetMapping("/{id}")
public R<TpStaffPayVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpStaffPayService.queryById(id));
}
/**
* 新增客服支出记录
*/
@SaCheckPermission("work:staffPay:add")
@Log(title = "客服支出记录", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpStaffPayBo bo) {
return toAjax(tpStaffPayService.insertByBo(bo));
}
/**
* 修改客服支出记录
*/
@SaCheckPermission("work:staffPay:edit")
@Log(title = "客服支出记录", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpStaffPayBo bo) {
return toAjax(tpStaffPayService.updateByBo(bo));
}
/**
* 删除客服支出记录
*
* @param ids 主键串
*/
@SaCheckPermission("work:staffPay:remove")
@Log(title = "客服支出记录", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpStaffPayService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,146 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.domain.model.LoginUser;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpWechatBo;
import org.dromara.work.domain.vo.TpWechatVo;
import org.dromara.work.domain.vo.WechatSumVo;
import org.dromara.work.service.ITpWechatService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 微信管理
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/wechat")
public class TpWechatController extends BaseController {
private final ITpWechatService tpWechatService;
/**
* 查询微信管理列表
*/
@SaCheckPermission("work:wechat:list")
@GetMapping("/list")
public TableDataInfo<TpWechatVo> list(TpWechatBo bo, PageQuery pageQuery) {
return tpWechatService.queryPageList(bo, pageQuery);
}
/**
* 查询微信统计
*/
@SaCheckPermission("work:wechat:sum")
@GetMapping("/wechatSum")
public R<WechatSumVo> wechatSum(TpWechatBo bo) {
/*LoginUser loginUser = LoginHelper.getLoginUser();
if(!LoginHelper.isSuperAdmin()){
if(loginUser.getIdentity() == 2){
throw new ServiceException("您无权限查看微信信息");
} else if (loginUser.getIdentity() == 3) {
bo.setUid(loginUser.getUserId());
}
}*/
return R.ok(tpWechatService.queryListSum(bo));
}
/**
* 导出客户微信
*/
@SaCheckPermission("work:wechat:export")
@Log(title = "导出客户微信", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpWechatBo bo, HttpServletResponse response) {
LoginUser loginUser = LoginHelper.getLoginUser();
if(!LoginHelper.isSuperAdmin()){
bo.setUid(loginUser.getUserId());
}
List<TpWechatVo> list = tpWechatService.queryList(bo);
ExcelUtil.exportExcel(list, "客户微信导出", TpWechatVo.class, response);
}
/**
* 获取微信管理详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:wechat:query")
@GetMapping("/{id}")
public R<TpWechatVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpWechatService.queryById(id));
}
/**
* 新增微信管理
*/
@SaCheckPermission("work:wechat:add")
@Log(title = "微信管理", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpWechatBo bo) {
return toAjax(tpWechatService.insertByBo(bo));
}
/**
* 修改微信管理
*/
@SaCheckPermission("work:wechat:edit")
@Log(title = "微信管理", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpWechatBo bo) {
return toAjax(tpWechatService.updateByBo(bo));
}
/**
* 修改使用人
*/
@SaCheckPermission("work:wechat:editUser")
@Log(title = "修改使用人", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PostMapping("/editUser")
public R<Void> editUser(@Validated(EditGroup.class) @RequestBody TpWechatBo bo) {
return toAjax(tpWechatService.updateUserByBo(bo));
}
/**
* 删除微信管理
*
* @param ids 主键串
*/
@SaCheckPermission("work:wechat:remove")
@Log(title = "微信管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpWechatService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,106 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpWechatNumBo;
import org.dromara.work.domain.vo.TpWechatNumVo;
import org.dromara.work.service.ITpWechatNumService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 更新好友数记录
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/wechatNum")
public class TpWechatNumController extends BaseController {
private final ITpWechatNumService tpWechatNumService;
/**
* 查询更新好友数记录列表
*/
@SaCheckPermission("work:wechatNum:list")
@GetMapping("/list")
public TableDataInfo<TpWechatNumVo> list(TpWechatNumBo bo, PageQuery pageQuery) {
return tpWechatNumService.queryPageList(bo, pageQuery);
}
/**
* 导出更新好友数记录列表
*/
@SaCheckPermission("work:wechatNum:export")
@Log(title = "更新好友数记录", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpWechatNumBo bo, HttpServletResponse response) {
List<TpWechatNumVo> list = tpWechatNumService.queryList(bo);
ExcelUtil.exportExcel(list, "更新好友数记录", TpWechatNumVo.class, response);
}
/**
* 获取更新好友数记录详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:wechatNum:query")
@GetMapping("/{id}")
public R<TpWechatNumVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpWechatNumService.queryById(id));
}
/**
* 新增更新好友数记录
*/
@SaCheckPermission("work:wechatNum:add")
@Log(title = "更新好友数记录", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpWechatNumBo bo) {
return toAjax(tpWechatNumService.insertByBo(bo));
}
/**
* 修改更新好友数记录
*/
@SaCheckPermission("work:wechatNum:edit")
@Log(title = "更新好友数记录", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpWechatNumBo bo) {
return toAjax(tpWechatNumService.updateByBo(bo));
}
/**
* 删除更新好友数记录
*
* @param ids 主键串
*/
@SaCheckPermission("work:wechatNum:remove")
@Log(title = "更新好友数记录", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpWechatNumService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,106 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpWechatUserBo;
import org.dromara.work.domain.vo.TpWechatUserVo;
import org.dromara.work.service.ITpWechatUserService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 微信使用人修改历史
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/wechatUser")
public class TpWechatUserController extends BaseController {
private final ITpWechatUserService tpWechatUserService;
/**
* 查询微信使用人修改历史列表
*/
@SaCheckPermission("work:wechatUser:list")
@GetMapping("/list")
public TableDataInfo<TpWechatUserVo> list(TpWechatUserBo bo, PageQuery pageQuery) {
return tpWechatUserService.queryPageList(bo, pageQuery);
}
/**
* 导出微信使用人修改历史列表
*/
@SaCheckPermission("work:wechatUser:export")
@Log(title = "微信使用人修改历史", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpWechatUserBo bo, HttpServletResponse response) {
List<TpWechatUserVo> list = tpWechatUserService.queryList(bo);
ExcelUtil.exportExcel(list, "微信使用人修改历史", TpWechatUserVo.class, response);
}
/**
* 获取微信使用人修改历史详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:wechatUser:query")
@GetMapping("/{id}")
public R<TpWechatUserVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpWechatUserService.queryById(id));
}
/**
* 新增微信使用人修改历史
*/
@SaCheckPermission("work:wechatUser:add")
@Log(title = "微信使用人修改历史", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpWechatUserBo bo) {
return toAjax(tpWechatUserService.insertByBo(bo));
}
/**
* 修改微信使用人修改历史
*/
@SaCheckPermission("work:wechatUser:edit")
@Log(title = "微信使用人修改历史", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpWechatUserBo bo) {
return toAjax(tpWechatUserService.updateByBo(bo));
}
/**
* 删除微信使用人修改历史
*
* @param ids 主键串
*/
@SaCheckPermission("work:wechatUser:remove")
@Log(title = "微信使用人修改历史", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpWechatUserService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,106 @@
package org.dromara.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.work.domain.bo.TpYearBo;
import org.dromara.work.domain.vo.TpYearVo;
import org.dromara.work.service.ITpYearService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 年目标
*
* @author Maosw
* @date 2024-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/work/year")
public class TpYearController extends BaseController {
private final ITpYearService tpYearService;
/**
* 查询年目标列表
*/
@SaCheckPermission("work:year:list")
@GetMapping("/list")
public TableDataInfo<TpYearVo> list(TpYearBo bo, PageQuery pageQuery) {
return tpYearService.queryPageList(bo, pageQuery);
}
/**
* 导出年目标列表
*/
@SaCheckPermission("work:year:export")
@Log(title = "年目标", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TpYearBo bo, HttpServletResponse response) {
List<TpYearVo> list = tpYearService.queryList(bo);
ExcelUtil.exportExcel(list, "年目标", TpYearVo.class, response);
}
/**
* 获取年目标详细信息
*
* @param id 主键
*/
@SaCheckPermission("work:year:query")
@GetMapping("/{id}")
public R<TpYearVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(tpYearService.queryById(id));
}
/**
* 新增年目标
*/
@SaCheckPermission("work:year:add")
@Log(title = "年目标", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TpYearBo bo) {
return toAjax(tpYearService.insertByBo(bo));
}
/**
* 修改年目标
*/
@SaCheckPermission("work:year:edit")
@Log(title = "年目标", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TpYearBo bo) {
return toAjax(tpYearService.updateByBo(bo));
}
/**
* 删除年目标
*
* @param ids 主键串
*/
@SaCheckPermission("work:year:remove")
@Log(title = "年目标", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(tpYearService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,52 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
/**
* 改价配置对象 tp_change_price
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tp_change_price")
public class TpChangePrice extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 包含人员
*/
private String sid;
/**
* 改价金额
*/
private Long price;
/**
* 状态1=开启2=关闭)
*/
private Long state;
/**
* 最后一次修改时间
*/
private Long addTime;
}

View File

@@ -0,0 +1,176 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.math.BigDecimal;
import java.util.Date;
/**
* 客户对象 tp_client
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tp_client")
public class TpClient {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 所属用户
*/
private Long uid;
/**
* 客服编号
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private String sname;
/**
* 客户编号
*/
private String code;
/**
* 客户姓名
*/
private String name;
/**
* 电话号码
*/
private String phone;
/**
* 性别
*/
private String sex;
/**
* 客户类型
*/
private Long type;
/**
* 主营业务类型
*/
private Long ywtype;
/**
* 状态1=正常2=禁用)
*/
private Long state;
/**
* 备注
*/
private String remark;
/**
* 录入时间
*/
private Date addTime;
/**
* 是否删除1=未删除2=已删除)
*/
private Integer isDel;
/**
* 会员到期时间
*/
private Long vipEnd;
/**
* 操作人
*/
private String addUser;
/**
* 会员等级
*/
private Long vip;
/**
* 余额
*/
private BigDecimal yue;
/**
* 总消费
*/
private BigDecimal allPrice;
/**
* 改图会员
*/
private Long gtVip;
/**
* 健康状态
*/
private Integer health;
/**
* 省
*/
private String province;
/**
* 市
*/
private String city;
/**
* 地区
*/
private String area;
/**
* 积分
*/
private Long integral;
/**
* 订单数量
*/
// private Long count;
/**
* 下单总额
*/
private BigDecimal price;
/**
* 实付余额
*/
private BigDecimal payPrice;
/**
* 未付余额
*/
private BigDecimal noPrice;
/**
* 到款率
*/
private Long lv;
}

View File

@@ -0,0 +1,73 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.math.BigDecimal;
import java.util.Date;
/**
* 客户+客服对象 tp_client_staff
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tp_client_staff")
public class TpClientStaff {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 所属客服
*/
private Long sid;
/**
* 客服名称
*/
private String sname;
/**
* 所属客户
*/
private Long kid;
/**
* 客户姓名
*/
private String name;
/**
* 备注
*/
private String remark;
/**
* 余额
*/
private BigDecimal yue;
/**
* 录入时间
*/
private Date addTime;
/**
* 是否删除1=未删除2=已删除)
*/
private Integer isDel;
}

View File

@@ -0,0 +1,83 @@
package org.dromara.work.domain;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.io.Serial;
/**
* 报价对象 tp_design_quotes
*
* @author Maosw
* @date 2025-03-10
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tp_design_quotes")
public class TpDesignQuotes extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id")
private Long id;
/**
* 客服ID
*/
private Long sid;
/**
* 客服名称
*/
private String sName;
/**
* 项目名称
*/
private String projectName;
/**
* 客户名称
*/
private String clientName;
/**
* 订单JSON详细
*/
private String orderInfo;
/**
* 总计图数
*/
private Integer totalImages;
/**
* 总计金额
*/
private BigDecimal totalAmount;
/**
* 定金
*/
private BigDecimal deposit;
/**
* 备注
*/
private String remark;
/**
* 租户 1-设计甄选 2-制图工厂 3-室内联盟
*/
private Integer tenant;
}

View File

@@ -0,0 +1,46 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 字段管理对象 tp_field
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tp_field")
public class TpField {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 类型
*/
private Long type;
/**
* 名称
*/
private String name;
/**
* 创建时间
*/
private Long addTime;
}

View File

@@ -0,0 +1,57 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
/**
* 积分明细对象 tp_integral_detail
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tp_integral_detail")
public class TpIntegralDetail extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 所属用户
*/
private Long uid;
/**
* 标题
*/
private String title;
/**
* 类型1为加2为减
*/
private Long type;
/**
* 数额
*/
private Long price;
/**
* 创建时间
*/
private Long addTime;
}

View File

@@ -0,0 +1,60 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.util.Date;
/**
* 月目标对象 tp_month
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tp_month")
public class TpMonth {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 人员
*/
private Long sid;
/**
* 月
*/
private String month;
/**
* 个人目标
*/
private Long geren;
/**
* 公司目标
*/
private Long gongsi;
/**
* 创建时间
*/
private Date addTime;
private Long deptId;
private String ancestors;
}

View File

@@ -0,0 +1,254 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.math.BigDecimal;
import java.util.Date;
/**
* 订单管理对象 tp_order
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tp_order")
public class TpOrder {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 订单编号
*/
private String orderId;
/**
* 订单客户
*/
private Long kid;
/**
* 订单微信
*/
private Long wid;
/**
* 订单风格
*/
private Long style;
/**
* 订单空间
*/
private String space;
/**
* 订单品质
*/
private Long quality;
/**
* 备注
*/
private String remark;
/**
* 订单类型
*/
private Long type;
/**
* 状态(1录入订单2上传小图3上传大图4已完成,5已评价)
*/
private Integer state;
/**
* 图纸数量
*/
private Long num;
/**
* 接待客服
*/
private Long sid;
/**
* 分图人员
*/
private Long fid;
/**
* 表现师编号
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long bid;
/**
* 订单价格
*/
private BigDecimal price;
/**
* 定金
*/
private BigDecimal djPrice;
/**
* 技术备注
*/
private String jsRemark;
/**
* 支付状态1=待支付2=尾款待支付3=已支付)
*/
private Integer payState;
/**
* 已付款
*/
private BigDecimal payPrice;
/**
* 尾款
*/
private BigDecimal endPrice;
/**
* 改价价格
*/
private BigDecimal gjPrice;
/**
* 是否删除1=未删除2=已删除)
*/
private Integer isDel;
/**
* 下单时间
*/
private Date addTime;
/**
* 对图时间
*/
private Date dtTime;
/**
* 定金支付时间
*/
private Date djpTime;
/**
* 尾款支付时间
*/
private Date endpTime;
/**
* 完成时间
*/
private Date finishTime;
/**
* 拆单价格
*/
private BigDecimal cdPrice;
/**
* 技术订单价格
*/
private BigDecimal jsPrice;
/**
* 技术已付款
*/
private BigDecimal jsPayPrice;
/**
* 是否自动改价1=否2=是)
*/
private Integer isC;
/**
* 自动改价价格
*/
private BigDecimal zGjPrice;
/**
* 客户已付款
*/
private BigDecimal khpay;
/**
* 改价已付款
*/
private BigDecimal gpay;
/**
* 是否拆单1=否2=是)
*/
private Integer isCd;
/**
* 客服已付款
*/
private BigDecimal kfpay;
private Long deptId;
private String ancestors;
private Long deptIdJs;
private String ancestorsJs;
/**
* 客户客服ID
*/
private Long skid;
/**
* 接待客服名称
*/
// private String sname;
/**
* 分图员名称
*/
// private String fname;
/**
* 表现师名称
*/
// private String bname;
/**
* 客户名称
*/
// private String cname;
/**
* 微信昵称
*/
// private String wname;
/**
* 已付比例
*/
// private String bili;
}

View File

@@ -0,0 +1,67 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.util.Date;
/**
* 订单大图对象 tp_order_big
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tp_order_big")
public class TpOrderBig {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 所属订单
*/
private Long oid;
/**
* 图片类型1=平面大图2全景大图
*/
private Long type;
/**
* 图片名称
*/
private String name;
/**
* 图片地址
*/
private String pic;
/**
* 全景地址
*/
private String link;
/**
* 上传时间
*/
private Date addTime;
/**
* 操作人
*/
private Long addUser;
}

View File

@@ -0,0 +1,53 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
import java.math.BigDecimal;
/**
* 拆单记录对象 tp_order_cd
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tp_order_cd")
public class TpOrderCd extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 所属订单
*/
private Long oid;
/**
* 订单价格
*/
private BigDecimal price;
/**
* 下单时间
*/
private Long addTime;
/**
* 操作人
*/
private Long addUser;
}

View File

@@ -0,0 +1,78 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
import java.util.Date;
/**
* 订单评论对象 tp_order_comment
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tp_order_comment")
public class TpOrderComment extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 所属订单
*/
private Long oid;
/**
* 评论人
*/
private Long uid;
/**
* 评价等级1=差评2=中评3=好评)
*/
private Long grade;
/**
* 速度
*/
private Long speed;
/**
* 质量、
*/
private Long quality;
/**
* 服务
*/
private Long serve;
/**
* 评论内容
*/
private String content;
/**
* 评论时间
*/
private Date addTime;
/**
* 提交人类型1=用户2=客服)
*/
private Long type;
}

View File

@@ -0,0 +1,57 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.util.Date;
/**
* 订单模型对象 tp_order_model
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tp_order_model")
public class TpOrderModel {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 所属订单
*/
private Long oid;
/**
* 模型名称
*/
private String name;
/**
* 模型地址
*/
private String pic;
/**
* 上传时间
*/
private Date addTime;
/**
* 操作人
*/
private Long addUser;
}

View File

@@ -0,0 +1,62 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
/**
* 订单支付记录对象 tp_order_pay
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tp_order_pay")
public class TpOrderPay extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 所属订单
*/
private Long oid;
/**
* 订单编号
*/
private String orderId;
/**
* 订单价格
*/
private Long price;
/**
* 状态(1待支付2已支付)
*/
private Long state;
/**
* 下单时间
*/
private Long addTime;
/**
* transaction_id
*/
private String transactionId;
}

View File

@@ -0,0 +1,67 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.util.Date;
/**
* 操作历史对象 tp_order_record
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tp_order_record")
public class TpOrderRecord {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 所属订单
*/
private Long oid;
/**
* 操作类型
*/
private String type;
/**
* 操作内容
*/
private String content;
/**
* 操作人
*/
private Long addUser;
/**
* 操作时间
*/
private Date addTime;
/**
* 操作状态1=记录2=节点)
*/
private Integer state;
/**
* json记录
*/
private String record;
}

View File

@@ -0,0 +1,57 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.util.Date;
/**
* 订单小图对象 tp_order_small
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tp_order_small")
public class TpOrderSmall {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 所属订单
*/
private Long oid;
/**
* 图片名称
*/
private String name;
/**
* 图片地址
*/
private String pic;
/**
* 上传时间
*/
private Date addTime;
/**
* 操作人
*/
private Long addUser;
}

View File

@@ -0,0 +1,76 @@
package org.dromara.work.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 全景对象 tp_panorama
*
* @author Maosw
* @date 2025-03-26
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tp_panorama")
public class TpPanorama extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "id")
private Long id;
/**
* 订单ID
*/
private Long orderId;
/**
* 标题
*/
private String title;
/**
* 背景链接
*/
private String url;
/**
* 热点
*/
private String point;
/**
* 样式
*/
private String style;
/**
* 图片
*/
private String imgs;
/**
* 宽度
*/
private Long width;
/**
* 排序
*/
private Integer sort;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,87 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
/**
* 商品对象 tp_prod
*
* @author Maosw
* @date 2025-03-15
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tp_prod")
public class TpProd extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 商品ID
*/
@TableId(value = "id")
private Long id;
/**
* 商品标题
*/
private String title;
/**
* 商品主图
*/
private String pic;
/**
* 商品图片,以,分割
*/
private String imgs;
/**
* 视频地址
*/
private String video;
/**
* 详细描述
*/
private String content;
/**
* 商品参数json
*/
private String parame;
/**
* 展示价
*/
private Long price;
/**
* 成本价
*/
private Long oriPrice;
/**
* 状态1-上架2-下架
*/
private Long status;
/**
* 库存
*/
private Long stocks;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,118 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.math.BigDecimal;
import java.util.Date;
/**
* 收款管理对象 tp_receipt
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tp_receipt")
public class TpReceipt {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 收款渠道
*/
private Long qid;
/**
* 收款金额
*/
private BigDecimal price;
/**
* 汇款时间
*/
private Date hkTime;
/**
* 状态1=待认领2=已认领)
*/
private Integer state;
/**
* 客户ID
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long cid;
/**
* 客户姓名
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private String kname;
/**
* 认领时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date rlTime;
/**
* 认领人
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long rid;
/**
* 备注
*/
private String remark;
/**
* 是否删除1=未删除2=已删除)
*/
private Integer isDel;
/**
* 创建时间
*/
private Date addTime;
/**
* 操作人
*/
private Long addUser;
/**
* 退款金额
*/
private Integer returnMoney;
/**
* 退款备注
*/
private String returnRemark;
/**
* 外部交易号
*/
private String outTradeNo;
/**
* 交易流水号
*/
private String tradeNo;
}

View File

@@ -0,0 +1,86 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 汇款对象 tp_remittance
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tp_remittance")
public class TpRemittance {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 别名
*/
private String alias;
/**
* 开户渠道
*/
private Long qid;
/**
* 开户类型
*/
private Long type;
/**
* 开户名称
*/
private String name;
/**
* 收款码
*/
private String qrcode;
/**
* 开户时间
*/
private Long opentime;
/**
* 付款码链接
*/
private String link;
/**
* 状态1=正常2=禁用)
*/
private Long state;
/**
* 创建人
*/
private Long addUser;
/**
* 是否删除1=未删除2=已删除)
*/
private Long isDel;
/**
* 录入时间
*/
private Long addTime;
}

View File

@@ -0,0 +1,118 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
import java.math.BigDecimal;
/**
* 人员对象 tp_staff
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tp_staff")
public class TpStaff extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 用户名称
*/
private String username;
/**
* 用户编号
*/
private String code;
/**
* 姓名
*/
private String name;
/**
* 所属部门
*/
private Long cid;
/**
* 手机号
*/
private String phone;
/**
* 工龄
*/
private Long year;
/**
* 工种
*/
private Integer work;
/**
* 擅长类型
*/
private String type;
/**
* 登录密码
*/
private String password;
/**
* 身份1=员工2=技术3=客服4=分图员)
*/
private Long identity;
/**
* 角色ID
*/
private Long rid;
/**
* 状态1=正常2=关闭)
*/
private Long state;
/**
* 是否删除1=未删除2=已删除)
*/
private Long isDel;
/**
* 创建时间
*/
private Long addTime;
/**
* 拆单
*/
private BigDecimal yue;
/**
* 上传类型1=服务器上传2=OSS上传3=局域网上传)
*/
private Long upType;
/**
* 上传节点
*/
private Long urid;
}

View File

@@ -0,0 +1,59 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
import java.math.BigDecimal;
import java.util.Date;
/**
* 客服支出记录对象 tp_staff_pay
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tp_staff_pay")
public class TpStaffPay {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 所属订单
*/
private Long oid;
/**
* 支出金额
*/
private BigDecimal price;
/**
* 操作内容
*/
private String content;
/**
* 操作人
*/
private Long addUser;
/**
* 操作时间
*/
private Date addTime;
}

View File

@@ -0,0 +1,149 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.math.BigDecimal;
import java.util.Date;
/**
* 基本信息对象 tp_wechat
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tp_wechat")
public class TpWechat {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 唯一编号
*/
private String code;
/**
* 微信昵称
*/
private String nikename;
/**
* 使用人
*/
private Long uid;
/**
* 使用人
*/
private String user;
/**
* 手机号
*/
private String phone;
/**
* 投入使用时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date userTime;
/**
* 实名制人
*/
private String name;
/**
* 身份证号
*/
private String cardId;
/**
* 绑定银行
*/
private String bank;
/**
* 绑定银行卡号
*/
private String number;
/**
* 初始好友数
*/
private Long num;
/**
* 总好友数
*/
private Long allnum;
/**
* 当前客服时间
*/
private Date nowTime;
/**
* 创建人
*/
private Long addUser;
/**
* 创建人
*/
private String addname;
/**
* 是否删除1=未删除2=已删除)
*/
private Integer isDel;
/**
* 创建时间
*/
private Date addTime;
/**
* 当前客服总业绩
*/
private BigDecimal nowPrice;
/**
* 成交客户数
*/
private Long dealNum;
/**
* 成交业绩总额
*/
private BigDecimal totalSum;
/**
* 成交单数
*/
private Long dealOrderNum;
/**
* 成交比例
*/
private String dealRatio;
/**
* 月均业绩
*/
private BigDecimal monthAmount;
}

View File

@@ -0,0 +1,71 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.util.Date;
/**
* 更新好友数记录对象 tp_wechat_num
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tp_wechat_num")
public class TpWechatNum {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 所属微信
*/
private Long wid;
/**
* 数量
*/
private Long num;
/**
* 备注
*/
private String remark;
/**
* 创建人
*/
private Long addUser;
/**
* 创建人
*/
private String addname;
/**
* 创建时间
*/
private Date addTime;
/**
* 好友数量
*/
private Long total;
/**
* 初始值
*/
private Long initial;
}

View File

@@ -0,0 +1,78 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.math.BigDecimal;
import java.util.Date;
/**
* 微信使用人修改历史对象 tp_wechat_user
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tp_wechat_user")
public class TpWechatUser {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 所属微信
*/
private Long wid;
/**
* 使用人
*/
private Long uid;
/**
* 使用人
*/
private String user;
/**
* 当前客服时间
*/
private Date nowTime;
/**
* 当前客服总业绩
*/
private BigDecimal nowPrice;
/**
* 结束时间
*/
private Date endTime;
/**
* 创建人
*/
private Long addUser;
/**
* 创建人
*/
private String addname;
/**
* 创建时间
*/
private Date addTime;
}

View File

@@ -0,0 +1,61 @@
package org.dromara.work.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.util.Date;
/**
* 年目标对象 tp_year
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tp_year")
public class TpYear {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 人员
*/
private Long sid;
/**
* 年
*/
private String year;
/**
* 个人目标
*/
private Long geren;
/**
* 公司目标
*/
private Long gongsi;
/**
* 创建时间
*/
private Date addTime;
private Long deptId;
private String ancestors;
}

View File

@@ -0,0 +1,71 @@
package org.dromara.work.domain.bo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
* 排行榜查询对象
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class OrderRankingBo {
/**
*用户编号
*/
private String userName;
/**
* 用户姓名
*/
private String realName;
/**
* 部门ID
*/
private Long deptId;
/**
* 部门ID集合
*/
private List<Long> deptIds;
/**
* 年份(格式:2023 按照月份统计时才传
*/
private String year;
/**
* 月份(格式:2023-03 按天统计时才传
*/
private String month;
/**
* 开始时间(不要传)
*/
private String startTime;
/**
* 结束时间(不要传)
*/
private String endTime;
/**
* 类型 1客服列表 2技术列表
*/
private Integer type;
/**
* 1:数量 2总业绩 3已到款 4未到款 5目标比例 6死单率
*/
private Integer sort;
/**
* isAsc一个布尔值表示排序方向。true 表示升序ASCfalse 表示降序DESC
*/
private Boolean isAsc;
}

View File

@@ -0,0 +1,55 @@
package org.dromara.work.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.work.domain.TpChangePrice;
/**
* 改价配置业务对象 tp_change_price
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TpChangePrice.class, reverseConvertGenerate = false)
public class TpChangePriceBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 包含人员
*/
@NotBlank(message = "包含人员不能为空", groups = { AddGroup.class, EditGroup.class })
private String sid;
/**
* 改价金额
*/
@NotNull(message = "改价金额不能为空", groups = { AddGroup.class, EditGroup.class })
private Long price;
/**
* 状态1=开启2=关闭)
*/
@NotNull(message = "状态1=开启2=关闭)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long state;
/**
* 最后一次修改时间
*/
@NotNull(message = "最后一次修改时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Long addTime;
}

View File

@@ -0,0 +1,144 @@
package org.dromara.work.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.work.domain.TpClient;
import java.util.Date;
import java.util.List;
/**
* 客户业务对象 tp_client
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TpClient.class, reverseConvertGenerate = false)
public class TpClientBo extends BaseEntity {
/**
* id
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 所属客服
*/
private Long sid;
/**
* 所属用户
*/
private Long uid;
/**
* 客户编号
*/
private String code;
/**
* 客服编号
*/
private String sname;
/**
* 客户姓名
*/
private String name;
/**
* 电话号码
*/
@NotBlank(message = "电话号码不能为空", groups = { AddGroup.class, EditGroup.class })
private String phone;
/**
* 性别
*/
private String sex;
/**
* 客户类型
*/
private Long type;
/**
* 主营业务类型
*/
private Long ywtype;
/**
* 状态1=正常2=禁用)
*/
private Long state;
/**
* 备注
*/
private String remark;
/**
* 录入时间
*/
private Date addTime;
/**
* 是否删除1=未删除2=已删除)
*/
private Integer isDel;
/**
* 操作人
*/
private String addUser;
/**
* 会员等级
*/
private Long vip;
/**
* 改图会员
*/
private Long gtVip;
/**
* 健康状态 1:健康 2:流失中 3:已流失
*/
private Integer health;
/**
* 多客服 1:多客服 2:多客服有余额
*/
private Integer multi;
/**
* 省
*/
private String province;
/**
* 市
*/
private String city;
/**
* 地区
*/
private String area;
/**
* 客户ID集合
*/
private List<Long> ids;
}

View File

@@ -0,0 +1,67 @@
package org.dromara.work.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.work.domain.TpClientStaff;
import java.math.BigDecimal;
import java.util.Date;
/**
* 客户+客服业务对象 tp_client_staff
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TpClientStaff.class, reverseConvertGenerate = false)
public class TpClientStaffBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 所属客服
*/
private Long sid;
/**
* 所属客户
*/
private Long kid;
/**
* 客户姓名
*/
private String name;
/**
* 备注
*/
private String remark;
/**
* 余额
*/
@NotNull(message = "余额不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal yue;
/**
* 录入时间
*/
private Date addTime;
private String phone;
private String code;
}

View File

@@ -0,0 +1,88 @@
package org.dromara.work.domain.bo;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.work.domain.TpDesignQuotes;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
/**
* 报价业务对象 tp_design_quotes
*
* @author Maosw
* @date 2025-03-10
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TpDesignQuotes.class, reverseConvertGenerate = false)
public class TpDesignQuotesBo extends BaseEntity {
/**
* 主键
*/
@NotNull(message = "主键不能为空", groups = { EditGroup.class })
private Long id;
/**
* 客服ID
*/
@NotNull(message = "客服ID不能为空", groups = { AddGroup.class, EditGroup.class })
private Long sid;
/**
* 客服名称
*/
private String sName;
/**
* 项目名称
*/
@NotBlank(message = "项目名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String projectName;
/**
* 客户名称
*/
@NotBlank(message = "客户名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String clientName;
/**
* 订单JSON详细
*/
@NotBlank(message = "订单JSON详细不能为空", groups = { AddGroup.class, EditGroup.class })
private String orderInfo;
/**
* 总计图数
*/
@NotNull(message = "总计图数不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer totalImages;
/**
* 总计金额
*/
@NotNull(message = "总计金额不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal totalAmount;
/**
* 定金
*/
private BigDecimal deposit;
/**
* 备注
*/
private String remark;
/**
* 租户 1-设计甄选 2-制图工厂 3-室内联盟
*/
private Integer tenant;
}

View File

@@ -0,0 +1,49 @@
package org.dromara.work.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.work.domain.TpField;
/**
* 字段管理业务对象 tp_field
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TpField.class, reverseConvertGenerate = false)
public class TpFieldBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 类型
*/
@NotNull(message = "类型不能为空", groups = { AddGroup.class, EditGroup.class })
private Long type;
/**
* 名称
*/
@NotBlank(message = "名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String name;
/**
* 创建时间
*/
@NotNull(message = "创建时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Long addTime;
}

View File

@@ -0,0 +1,61 @@
package org.dromara.work.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.work.domain.TpIntegralDetail;
/**
* 积分明细业务对象 tp_integral_detail
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TpIntegralDetail.class, reverseConvertGenerate = false)
public class TpIntegralDetailBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 所属用户
*/
@NotNull(message = "所属用户不能为空", groups = { AddGroup.class, EditGroup.class })
private Long uid;
/**
* 标题
*/
@NotBlank(message = "标题不能为空", groups = { AddGroup.class, EditGroup.class })
private String title;
/**
* 类型1为加2为减
*/
@NotNull(message = "类型1为加2为减不能为空", groups = { AddGroup.class, EditGroup.class })
private Long type;
/**
* 数额
*/
@NotNull(message = "数额不能为空", groups = { AddGroup.class, EditGroup.class })
private Long price;
/**
* 创建时间
*/
@NotNull(message = "创建时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Long addTime;
}

View File

@@ -0,0 +1,74 @@
package org.dromara.work.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.work.domain.TpMonth;
import java.util.Date;
import java.util.List;
/**
* 月目标业务对象 tp_month
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@AutoMapper(target = TpMonth.class, reverseConvertGenerate = false)
public class TpMonthBo {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 人员
*/
@NotNull(message = "人员不能为空", groups = { AddGroup.class, EditGroup.class })
private Long sid;
/**
* 月
*/
@NotBlank(message = "月不能为空", groups = { AddGroup.class, EditGroup.class })
private String month;
/**
* 个人目标
*/
private Long geren;
/**
* 公司目标
*/
private Long gongsi;
/**
* 创建时间
*/
private Date addTime;
/**
* 编号
*/
private String nickName;
/**
* 部门ID
*/
private Long deptId;
private String ancestors;
private List<Long> userIds;
}

View File

@@ -0,0 +1,82 @@
package org.dromara.work.domain.bo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.work.domain.TpOrderBig;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* 订单大图业务对象 tp_order_big
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@AutoMapper(target = TpOrderBig.class, reverseConvertGenerate = false)
public class TpOrderBigBo {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 所属订单
*/
@NotNull(message = "所属订单不能为空", groups = { AddGroup.class, EditGroup.class })
private Long oid;
/**
* 图片类型1=平面大图2全景大图
*/
@NotNull(message = "图片类型1=平面大图2全景大图不能为空", groups = { AddGroup.class, EditGroup.class })
private Long type;
/**
* 图片名称
*/
@NotBlank(message = "图片名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String name;
/**
* 图片地址
*/
@NotBlank(message = "图片地址不能为空", groups = { AddGroup.class, EditGroup.class })
private String pic;
/**
* 全景地址
*/
@NotBlank(message = "全景地址不能为空", groups = { AddGroup.class, EditGroup.class })
private String link;
/**
* 上传时间
*/
private Date addTime;
/**
* 操作人
*/
private Long addUser;
/**
* 请求参数
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@TableField(exist = false)
private Map<String, Object> params = new HashMap<>();
}

View File

@@ -0,0 +1,304 @@
package org.dromara.work.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.work.domain.TpOrder;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 订单管理业务对象 tp_order
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TpOrder.class, reverseConvertGenerate = false)
public class TpOrderBo extends BaseEntity {
/**
*ID
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 订单编号
*/
private String orderId;
/**
* 订单客户
*/
private Long kid;
/**
* 订单微信
*/
private Long wid;
/**
* 订单风格
*/
private Long style;
/**
* 订单空间
*/
private String space;
/**
* 订单品质
*/
private Long quality;
/**
* 备注
*/
private String remark;
/**
* 订单类型
*/
private Long type;
/**
* 状态(1录入订单2上传小图3上传大图4已完成,5已评价)
*/
private Integer state;
/**
* 图纸数量
*/
@NotNull(message = "图纸数量不能为空", groups = { AddGroup.class, EditGroup.class })
private Long num;
/**
* 客服ID
*/
private Long sid;
/**
* 客服编号
*/
private String scode;
/**
* 分图人员
*/
private Long fid;
/**
* 分图员编号
*/
private String fcode;
/**
* 表现师ID
*/
private String bid;
/**
* 表现是编号
*/
private String bcode;
/**
* 分配状态 1未分配 2已分配
*/
private Integer assignState;
/**
* 订单价格
*/
@NotNull(message = "订单价格不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal price;
/**
* 定金
*/
private BigDecimal djPrice;
/**
* 技术备注
*/
private String jsRemark;
/**
* 支付状态1=待支付2=尾款待支付3=已支付)
*/
private Integer payState;
/**
* 已付款
*/
private BigDecimal payPrice;
/**
* 尾款
*/
private BigDecimal endPrice;
/**
* 改价价格
*/
private BigDecimal gjPrice;
/**
* 是否删除1=未删除2=已删除)
*/
private Integer isDel;
/**
* 下单时间
*/
private Date addTime;
/**
* 对图时间
*/
private Date dtTime;
/**
* 定金支付时间
*/
private Date djpTime;
/**
* 尾款支付时间
*/
private Date endpTime;
/**
* 完成时间
*/
private Date finishTime;
/**
* 拆单价格
*/
private BigDecimal cdPrice;
/**
* 技术订单价格
*/
private BigDecimal jsPrice;
/**
* 技术已付款
*/
private BigDecimal jsPayPrice;
/**
* 是否自动改价1=否2=是)
*/
private Integer isC;
/**
* 自动改价价格
*/
private BigDecimal zGjPrice;
/**
* 客户已付款
*/
private BigDecimal khpay;
/**
* 改价已付款
*/
private BigDecimal gpay;
/**
* 是否拆单1=否2=是)
*/
private Integer isCd;
/**
* 客服已付款
*/
private BigDecimal kfpay;
/**
* 接待客服名称
*/
private String sname;
/**
* 分图员名称
*/
private String fname;
/**
* 表现师名称
*/
private String bname;
/**
* 客户名称
*/
private String cname;
/**
* 微信编号
*/
private String wcode;
/**
* 微信昵称
*/
private String wname;
private Long deptId;
private String ancestors;
private Long deptIdJs;
private String ancestorsJs;
/**
* 客户手机号码
*/
private String phone;
/**
* 客户客服ID
*/
private Long skid;
/**
* json记录
*/
private String record;
/**
* 部门id集合
*/
private List<Long> deptIds;
/**
* 用户id
*/
private Long userId;
/**
* 订单id集合
*/
private List<Long> orderIds;
/**
* 1客服2技术
*/
private int kfOrjs;
}

View File

@@ -0,0 +1,56 @@
package org.dromara.work.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.work.domain.TpOrderCd;
import java.math.BigDecimal;
/**
* 拆单记录业务对象 tp_order_cd
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TpOrderCd.class, reverseConvertGenerate = false)
public class TpOrderCdBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 所属订单
*/
@NotNull(message = "所属订单不能为空", groups = { AddGroup.class, EditGroup.class })
private Long oid;
/**
* 订单价格
*/
@NotNull(message = "订单价格不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal price;
/**
* 下单时间
*/
@NotNull(message = "下单时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Long addTime;
/**
* 操作人
*/
@NotNull(message = "操作人不能为空", groups = { AddGroup.class, EditGroup.class })
private Long addUser;
}

View File

@@ -0,0 +1,87 @@
package org.dromara.work.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.work.domain.TpOrderComment;
import java.util.Date;
/**
* 订单评论业务对象 tp_order_comment
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TpOrderComment.class, reverseConvertGenerate = false)
public class TpOrderCommentBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 所属订单
*/
@NotNull(message = "所属订单不能为空", groups = { AddGroup.class, EditGroup.class })
private Long oid;
/**
* 评论人
*/
@NotNull(message = "评论人不能为空", groups = { AddGroup.class, EditGroup.class })
private Long uid;
/**
* 评价等级1=差评2=中评3=好评)
*/
@NotNull(message = "评价等级1=差评2=中评3=好评)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long grade;
/**
* 速度
*/
@NotNull(message = "速度不能为空", groups = { AddGroup.class, EditGroup.class })
private Long speed;
/**
* 质量、
*/
@NotNull(message = "质量、不能为空", groups = { AddGroup.class, EditGroup.class })
private Long quality;
/**
* 服务
*/
@NotNull(message = "服务不能为空", groups = { AddGroup.class, EditGroup.class })
private Long serve;
/**
* 评论内容
*/
@NotBlank(message = "评论内容不能为空", groups = { AddGroup.class, EditGroup.class })
private String content;
/**
* 评论时间
*/
@NotNull(message = "评论时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date addTime;
/**
* 提交人类型1=用户2=客服)
*/
@NotNull(message = "提交人类型1=用户2=客服)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long type;
}

View File

@@ -0,0 +1,70 @@
package org.dromara.work.domain.bo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.work.domain.TpOrderModel;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* 订单模型业务对象 tp_order_model
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@AutoMapper(target = TpOrderModel.class, reverseConvertGenerate = false)
public class TpOrderModelBo {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 所属订单
*/
@NotNull(message = "所属订单不能为空", groups = { AddGroup.class, EditGroup.class })
private Long oid;
/**
* 模型名称
*/
@NotBlank(message = "模型名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String name;
/**
* 模型地址
*/
@NotBlank(message = "模型地址不能为空", groups = { AddGroup.class, EditGroup.class })
private String pic;
/**
* 上传时间
*/
private Date addTime;
/**
* 操作人
*/
private Long addUser;
/**
* 请求参数
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@TableField(exist = false)
private Map<String, Object> params = new HashMap<>();
}

View File

@@ -0,0 +1,67 @@
package org.dromara.work.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.work.domain.TpOrderPay;
/**
* 订单支付记录业务对象 tp_order_pay
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TpOrderPay.class, reverseConvertGenerate = false)
public class TpOrderPayBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 所属订单
*/
@NotNull(message = "所属订单不能为空", groups = { AddGroup.class, EditGroup.class })
private Long oid;
/**
* 订单编号
*/
@NotBlank(message = "订单编号不能为空", groups = { AddGroup.class, EditGroup.class })
private String orderId;
/**
* 订单价格
*/
@NotNull(message = "订单价格不能为空", groups = { AddGroup.class, EditGroup.class })
private Long price;
/**
* 状态(1待支付2已支付)
*/
@NotNull(message = "状态(1待支付2已支付)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long state;
/**
* 下单时间
*/
@NotNull(message = "下单时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Long addTime;
/**
* transaction_id
*/
@NotBlank(message = "transaction_id不能为空", groups = { AddGroup.class, EditGroup.class })
private String transactionId;
}

View File

@@ -0,0 +1,78 @@
package org.dromara.work.domain.bo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.work.domain.TpOrderRecord;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* 操作历史业务对象 tp_order_record
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@AutoMapper(target = TpOrderRecord.class, reverseConvertGenerate = false)
public class TpOrderRecordBo {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 所属订单
*/
@NotNull(message = "所属订单不能为空", groups = { AddGroup.class, EditGroup.class })
private Long oid;
/**
* 操作类型
*/
@NotBlank(message = "操作类型不能为空", groups = { AddGroup.class, EditGroup.class })
private String type;
/**
* 操作内容
*/
@NotBlank(message = "操作内容不能为空", groups = { AddGroup.class, EditGroup.class })
private String content;
/**
* 操作人
*/
@NotNull(message = "操作人不能为空", groups = { AddGroup.class, EditGroup.class })
private Long addUser;
/**
* 操作时间
*/
@NotNull(message = "操作时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date addTime;
/**
* 操作状态1=记录2=节点)
*/
@NotNull(message = "操作状态1=记录2=节点)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long state;
/**
* 请求参数
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@TableField(exist = false)
private Map<String, Object> params = new HashMap<>();
}

View File

@@ -0,0 +1,70 @@
package org.dromara.work.domain.bo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.work.domain.TpOrderSmall;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* 订单小图业务对象 tp_order_small
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@AutoMapper(target = TpOrderSmall.class, reverseConvertGenerate = false)
public class TpOrderSmallBo {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 所属订单
*/
@NotNull(message = "所属订单不能为空", groups = { AddGroup.class, EditGroup.class })
private Long oid;
/**
* 图片名称
*/
@NotBlank(message = "图片名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String name;
/**
* 图片地址
*/
@NotBlank(message = "图片地址不能为空", groups = { AddGroup.class, EditGroup.class })
private String pic;
/**
* 上传时间
*/
private Date addTime;
/**
* 操作人
*/
private Long addUser;
/**
* 请求参数
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@TableField(exist = false)
private Map<String, Object> params = new HashMap<>();
}

View File

@@ -0,0 +1,75 @@
package org.dromara.work.domain.bo;
import org.dromara.work.domain.TpPanorama;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 全景业务对象 tp_panorama
*
* @author Maosw
* @date 2025-03-26
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TpPanorama.class, reverseConvertGenerate = false)
public class TpPanoramaBo extends BaseEntity {
/**
* ID
*/
@NotNull(message = "ID不能为空", groups = { EditGroup.class })
private Long id;
/**
* 订单ID
*/
private Long orderId;
/**
* 标题
*/
private String title;
/**
* 背景链接
*/
private String url;
/**
* 热点
*/
private String point;
/**
* 样式
*/
private String style;
/**
* 图片
*/
private String imgs;
/**
* 宽度
*/
private Long width;
/**
* 排序
*/
private Integer sort;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,90 @@
package org.dromara.work.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.work.domain.TpProd;
/**
* 商品业务对象 tp_prod
*
* @author Maosw
* @date 2025-03-15
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TpProd.class, reverseConvertGenerate = false)
public class TpProdBo extends BaseEntity {
/**
* 商品ID
*/
@NotNull(message = "商品ID不能为空", groups = { EditGroup.class })
private Long id;
/**
* 商品标题
*/
@NotBlank(message = "商品标题不能为空", groups = { AddGroup.class, EditGroup.class })
private String title;
/**
* 商品主图
*/
@NotBlank(message = "商品主图不能为空", groups = { AddGroup.class, EditGroup.class })
private String pic;
/**
* 商品图片,以,分割
*/
private String imgs;
/**
* 视频地址
*/
private String video;
/**
* 详细描述
*/
private String content;
/**
* 商品参数json
*/
private String parame;
/**
* 展示价
*/
@NotNull(message = "展示价不能为空", groups = { AddGroup.class, EditGroup.class })
private Long price;
/**
* 成本价
*/
private Long oriPrice;
/**
* 状态1-上架2-下架
*/
@NotNull(message = "状态1-上架2-下架不能为空", groups = { AddGroup.class, EditGroup.class })
private Long status;
/**
* 库存
*/
private Long stocks;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,140 @@
package org.dromara.work.domain.bo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.work.domain.TpReceipt;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* 收款管理业务对象 tp_receipt
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@AutoMapper(target = TpReceipt.class, reverseConvertGenerate = false)
public class TpReceiptBo {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 收款渠道
*/
@NotNull(message = "收款渠道不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer qid;
/**
* 收款金额
*/
@NotNull(message = "收款金额不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal price;
/**
* 汇款时间
*/
private Date hkTime;
/**
* 状态1=待认领2=已认领)
*/
private Integer state;
/**
* 客户姓名
*/
private Long cid;
/**
* 认领时间
*/
private Date rlTime;
/**
* 认领人
*/
private Long rid;
/**
* 备注
*/
private String remark;
/**
* 是否删除1=未删除2=已删除)
*/
private Integer isDel;
/**
* 创建时间
*/
private Date addTime;
/**
* 操作人
*/
private Long addUser;
/**
* 退款金额
*/
private Integer returnMoney;
/**
* 退款备注
*/
private String returnRemark;
/**
* 外部交易号
*/
private String outTradeNo;
/**
* 交易流水号
*/
private String tradeNo;
/**
* 客户编号
*/
private String kcode;
/**
* 客户姓名
*/
private String cname;
/**
* 认领人姓名
*/
private String rname;
/**
* 操作人姓名
*/
private String addname;
/**
* 请求参数
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@TableField(exist = false)
private Map<String, Object> params = new HashMap<>();
}

View File

@@ -0,0 +1,96 @@
package org.dromara.work.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.work.domain.TpRemittance;
/**
* 汇款业务对象 tp_remittance
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@AutoMapper(target = TpRemittance.class, reverseConvertGenerate = false)
public class TpRemittanceBo {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 别名
*/
@NotBlank(message = "别名不能为空", groups = { AddGroup.class, EditGroup.class })
private String alias;
/**
* 开户渠道
*/
@NotNull(message = "开户渠道不能为空", groups = { AddGroup.class, EditGroup.class })
private Long qid;
/**
* 开户类型
*/
@NotNull(message = "开户类型不能为空", groups = { AddGroup.class, EditGroup.class })
private Long type;
/**
* 开户名称
*/
@NotBlank(message = "开户名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String name;
/**
* 收款码
*/
@NotBlank(message = "收款码不能为空", groups = { AddGroup.class, EditGroup.class })
private String qrcode;
/**
* 开户时间
*/
@NotNull(message = "开户时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Long opentime;
/**
* 付款码链接
*/
@NotBlank(message = "付款码链接不能为空", groups = { AddGroup.class, EditGroup.class })
private String link;
/**
* 状态1=正常2=禁用)
*/
@NotNull(message = "状态1=正常2=禁用)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long state;
/**
* 创建人
*/
@NotNull(message = "创建人不能为空", groups = { AddGroup.class, EditGroup.class })
private Long addUser;
/**
* 是否删除1=未删除2=已删除)
*/
@NotNull(message = "是否删除1=未删除2=已删除)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long isDel;
/**
* 录入时间
*/
@NotNull(message = "录入时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Long addTime;
}

View File

@@ -0,0 +1,135 @@
package org.dromara.work.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.work.domain.TpStaff;
import java.math.BigDecimal;
/**
* 人员业务对象 tp_staff
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TpStaff.class, reverseConvertGenerate = false)
public class TpStaffBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 用户名称
*/
@NotBlank(message = "用户名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String username;
/**
* 用户编号
*/
@NotBlank(message = "用户编号不能为空", groups = { AddGroup.class, EditGroup.class })
private String code;
/**
* 姓名
*/
@NotBlank(message = "姓名不能为空", groups = { AddGroup.class, EditGroup.class })
private String name;
/**
* 所属部门
*/
@NotNull(message = "所属部门不能为空", groups = { AddGroup.class, EditGroup.class })
private Long cid;
/**
* 手机号
*/
@NotBlank(message = "手机号不能为空", groups = { AddGroup.class, EditGroup.class })
private String phone;
/**
* 工龄
*/
@NotNull(message = "工龄不能为空", groups = { AddGroup.class, EditGroup.class })
private Long year;
/**
* 工种
*/
@NotNull(message = "工种不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer work;
/**
* 擅长类型
*/
@NotBlank(message = "擅长类型不能为空", groups = { AddGroup.class, EditGroup.class })
private String type;
/**
* 登录密码
*/
@NotBlank(message = "登录密码不能为空", groups = { AddGroup.class, EditGroup.class })
private String password;
/**
* 身份1=员工2=技术3=客服4=分图员)
*/
@NotNull(message = "身份1=员工2=技术3=客服4=分图员)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long identity;
/**
* 角色ID
*/
@NotNull(message = "角色ID不能为空", groups = { AddGroup.class, EditGroup.class })
private Long rid;
/**
* 状态1=正常2=关闭)
*/
@NotNull(message = "状态1=正常2=关闭)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long state;
/**
* 是否删除1=未删除2=已删除)
*/
@NotNull(message = "是否删除1=未删除2=已删除)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long isDel;
/**
* 创建时间
*/
@NotNull(message = "创建时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Long addTime;
/**
* 拆单
*/
@NotNull(message = "拆单不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal yue;
/**
* 上传类型1=服务器上传2=OSS上传3=局域网上传)
*/
@NotNull(message = "上传类型1=服务器上传2=OSS上传3=局域网上传)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long upType;
/**
* 上传节点
*/
@NotNull(message = "上传节点不能为空", groups = { AddGroup.class, EditGroup.class })
private Long urid;
}

View File

@@ -0,0 +1,64 @@
package org.dromara.work.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.work.domain.TpStaffPay;
import java.math.BigDecimal;
import java.util.Date;
/**
* 客服支出记录业务对象 tp_staff_pay
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@AutoMapper(target = TpStaffPay.class, reverseConvertGenerate = false)
public class TpStaffPayBo{
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 所属订单
*/
@NotNull(message = "所属订单不能为空", groups = { AddGroup.class, EditGroup.class })
private Long oid;
/**
* 支出金额
*/
@NotNull(message = "支出金额不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal price;
/**
* 操作内容
*/
@NotBlank(message = "操作内容不能为空", groups = { AddGroup.class, EditGroup.class })
private String content;
/**
* 操作人
*/
@NotNull(message = "操作人不能为空", groups = { AddGroup.class, EditGroup.class })
private Long addUser;
/**
* 操作时间
*/
@NotNull(message = "操作时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date addTime;
}

View File

@@ -0,0 +1,139 @@
package org.dromara.work.domain.bo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.work.domain.TpWechat;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 基本信息业务对象 tp_wechat
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TpWechat.class, reverseConvertGenerate = false)
public class TpWechatBo extends BaseEntity {
/**
*id
*/
@NotNull(message = "id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 唯一编号
*/
@NotBlank(message = "唯一编号不能为空", groups = { AddGroup.class, EditGroup.class })
private String code;
/**
* 微信昵称
*/
private String nikename;
/**
* 使用人
*/
private Long uid;
/**
* 使用人
*/
private String user;
/**
* 手机号
*/
@NotBlank(message = "手机号不能为空", groups = { AddGroup.class, EditGroup.class })
private String phone;
/**
* 投入使用时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date userTime;
/**
* 实名制人
*/
private String name;
/**
* 身份证号
*/
private String cardId;
/**
* 绑定银行
*/
private String bank;
/**
* 绑定银行卡号
*/
private String number;
/**
* 初始好友数
*/
private Long num;
/**
* 总好友数
*/
private Long allnum;
/**
* 当前客服时间
*/
private Date nowTime;
/**
* 创建人
*/
private Long addUser;
/**
* 创建人
*/
private String addname;
/**
* 是否删除1=未删除2=已删除)
*/
private Integer isDel;
/**
* 创建时间
*/
private Date addTime;
/**
* 当前客服总业绩
*/
private BigDecimal nowPrice;
/**
* 开始时间
*/
private String beginUserTime;
/**
* 结束时间
*/
private String endUserTime;
private List<Long> deptIds;
}

View File

@@ -0,0 +1,71 @@
package org.dromara.work.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.work.domain.TpWechatNum;
import java.util.Date;
/**
* 更新好友数记录业务对象 tp_wechat_num
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TpWechatNum.class, reverseConvertGenerate = false)
public class TpWechatNumBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 所属微信
*/
private Long wid;
/**
* 数量
*/
private Long num;
/**
* 备注
*/
private String remark;
/**
* 创建人
*/
private Long addUser;
/**
* 创建人
*/
private String addname;
/**
* 创建时间
*/
private Date addTime;
/**
* 好友数量
*/
private Long total;
/**
* 初始值
*/
private Long initial;
}

View File

@@ -0,0 +1,88 @@
package org.dromara.work.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.work.domain.TpWechatUser;
import java.math.BigDecimal;
import java.util.Date;
/**
* 微信使用人修改历史业务对象 tp_wechat_user
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TpWechatUser.class, reverseConvertGenerate = false)
public class TpWechatUserBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 所属微信
*/
@NotNull(message = "所属微信不能为空", groups = { AddGroup.class, EditGroup.class })
private Long wid;
/**
* 使用人
*/
@NotNull(message = "使用人不能为空", groups = { AddGroup.class, EditGroup.class })
private Long uid;
/**
* 使用人
*/
@NotBlank(message = "使用人不能为空", groups = { AddGroup.class, EditGroup.class })
private String user;
/**
* 当前客服时间
*/
@NotNull(message = "当前客服时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date nowTime;
/**
* 当前客服总业绩
*/
@NotNull(message = "当前客服总业绩不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal nowPrice;
/**
* 结束时间
*/
@NotNull(message = "结束时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date endTime;
/**
* 创建人
*/
@NotNull(message = "创建人不能为空", groups = { AddGroup.class, EditGroup.class })
private Long addUser;
/**
* 创建人
*/
@NotBlank(message = "创建人不能为空", groups = { AddGroup.class, EditGroup.class })
private String addname;
/**
* 创建时间
*/
@NotNull(message = "创建时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date addTime;
}

View File

@@ -0,0 +1,73 @@
package org.dromara.work.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.work.domain.TpYear;
import java.util.Date;
import java.util.List;
/**
* 年目标业务对象 tp_year
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@AutoMapper(target = TpYear.class, reverseConvertGenerate = false)
public class TpYearBo {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 人员
*/
@NotNull(message = "人员不能为空", groups = { AddGroup.class, EditGroup.class })
private Long sid;
/**
* 年
*/
@NotBlank(message = "年不能为空", groups = { AddGroup.class, EditGroup.class })
private String year;
/**
* 个人目标
*/
private Long geren;
/**
* 公司目标
*/
private Long gongsi;
/**
* 创建时间
*/
private Date addTime;
/**
* 编号
*/
private String nickName;
/**
* 部门ID
*/
private Long deptId;
private String ancestors;
private List<Long> userIds;
}

View File

@@ -0,0 +1,30 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 客户统计对象
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@ExcelIgnoreUnannotated
public class ClientSumVo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
private Long id;
/**
* 金额
*/
private BigDecimal amount;
}

View File

@@ -0,0 +1,70 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
@ExcelIgnoreUnannotated
public class CustomerOrderSumVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*订单总数
*/
private Long orderCount;
/**
* 总业绩
*/
private BigDecimal zyjSum;
/**
* 已到款
*/
private BigDecimal ydkSum;
/**
* 未到款
*/
private BigDecimal wdkSum;
/**
* 到款率
*/
private String dkl;
/**
* 均价
*/
private BigDecimal jj;
/**
* 改价业绩
*/
private BigDecimal gjyj;
/**
* 改价已到款
*/
private BigDecimal gjydk;
/**
* 拆单总额
*/
private BigDecimal cdze;
/**
* 拆单已付款
*/
private BigDecimal cdyfk;
/**
* 实际已到款
*/
private BigDecimal sjydk;
}

View File

@@ -0,0 +1,255 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.work.domain.TpOrder;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 客服订单管理视图对象 tp_order
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TpOrder.class)
public class CustomerOrderVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "id")
private Long id;
/**
* 订单编号
*/
@ExcelProperty(value = "订单编号")
private String orderId;
/**
* 订单客户
*/
@ExcelProperty(value = "订单客户")
private Long kid;
/**
* 订单微信
*/
@ExcelProperty(value = "订单微信")
private Long wid;
/**
* 订单风格
*/
@ExcelProperty(value = "订单风格")
private Long style;
/**
* 订单空间
*/
@ExcelProperty(value = "订单空间")
private String space;
/**
* 订单品质
*/
@ExcelProperty(value = "订单品质")
private Long quality;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 订单类型
*/
@ExcelProperty(value = "订单类型")
private Long type;
/**
* 状态(1录入订单2上传小图3上传大图4已完成,5已评价)
*/
@ExcelProperty(value = "状态(1录入订单2上传小图3上传大图4已完成,5已评价)")
private Long state;
/**
* 图纸数量
*/
@ExcelProperty(value = "图纸数量")
private Long num;
/**
* 接待客服
*/
@ExcelProperty(value = "接待客服")
private Long sid;
/**
* 接待客服名称
*/
@ExcelProperty(value = "接待客服名称")
private String sname;
/**
* 分图员名称
*/
@ExcelProperty(value = "分图员名称")
private String fname;
/**
* 表现师名称
*/
@ExcelProperty(value = "表现师名称")
private String bname;
/**
* 客户名称
*/
@ExcelProperty(value = "客户名称")
private String cname;
/**
* 微信昵称
*/
@ExcelProperty(value = "微信昵称")
private String wname;
/**
* 已付比例
*/
@ExcelProperty(value = "已付比例")
private String bili;
/**
* 分图人员
*/
@ExcelProperty(value = "分图人员")
private Long fid;
/**
* 表现师编号
*/
@ExcelProperty(value = "表现师编号")
private String bid;
/**
* 订单价格
*/
@ExcelProperty(value = "订单价格")
private BigDecimal price;
/**
* 定金
*/
@ExcelProperty(value = "定金")
private BigDecimal djPrice;
/**
* 技术备注
*/
@ExcelProperty(value = "技术备注")
private String jsRemark;
/**
* 支付状态1=待支付2=尾款待支付3=已支付)
*/
@ExcelProperty(value = "支付状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "1==待支付2=尾款待支付3=已支付")
private Long payState;
/**
* 已付款
*/
@ExcelProperty(value = "已付款")
private BigDecimal payPrice;
/**
* 尾款
*/
@ExcelProperty(value = "尾款")
private BigDecimal endPrice;
/**
* 下单时间
*/
@ExcelProperty(value = "下单时间")
private Date addTime;
/**
* 对图时间
*/
@ExcelProperty(value = "对图时间")
private Date dtTime;
/**
* 定金支付时间
*/
@ExcelProperty(value = "定金支付时间")
private Date djpTime;
/**
* 尾款支付时间
*/
@ExcelProperty(value = "尾款支付时间")
private Date endpTime;
/**
* 完成时间
*/
@ExcelProperty(value = "完成时间")
private Date finishTime;
/**
* 拆单价格
*/
@ExcelProperty(value = "拆单价格")
private BigDecimal cdPrice;
/**
* 客户已付款
*/
@ExcelProperty(value = "客户已付款")
private BigDecimal khpay;
/**
* 是否拆单1=否2=是)
*/
@ExcelProperty(value = "是否拆单", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "1==否2=是")
private Long isCd;
/**
* 客服已付款
*/
@ExcelProperty(value = "客服已付款")
private BigDecimal kfpay;
/**
* 改价金额
*/
private BigDecimal gjPrice;
/**
* 改价已支付金额
*/
private BigDecimal gpay;
}

View File

@@ -0,0 +1,73 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 排行榜列表
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@ExcelIgnoreUnannotated
public class DeptRankingVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 部门id
*/
private Long deptId;
/**
* 父部门ID
*/
private Long parentId;
/**
* 部门名称
*/
private String deptName;
/**
* 部门类别编码
*/
private String deptCategory;
/**
* 总业绩
*/
private String totalPerformance;
/**
* 目标完成比例
*/
private String targetCompletionRate;
/**
* 实际已到款金额
*/
private String completionAmount;
/**
* 到款率
*/
private String completionRate;
/**
* 未到款率
*/
private String unpaidRate;
/**
* 订单数
*/
private String orderCount;
}

View File

@@ -0,0 +1,76 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 首页统计管理视图对象
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@ExcelIgnoreUnannotated
public class IndexSumVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*个人年目标
*/
private Long grnTarget;
/**
* 公司修正年目标
*/
private Long gsnTarget;
/**
*个人月目标
*/
private Long gryTarget;
/**
* 公司修正月目标
*/
private Long gsyTarget;
/**
* 年已完成
*/
private String ywcYSum;
/**
* 年已到款
*/
private String ydkYSum;
/**
* 月已完成
*/
private String ywcMSum;
/**
* 月已到款
*/
private String ydkMSum;
/**
* 日已完成
*/
private String ywcDSum;
/**
* 日已到款
*/
private String ydkDSum;
}

View File

@@ -0,0 +1,39 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
/**
* 客服订单日数据合集
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@ExcelIgnoreUnannotated
public class KfDayListVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 客服ID
*/
private Long sid;
/**
* 客服编号
*/
private String name;
/**
* 集合
*/
private List<OrderDayListVo> list;
}

View File

@@ -0,0 +1,49 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 订单日数据合集
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@ExcelIgnoreUnannotated
public class OrderDayListVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 客服ID
*/
private Long sid;
/**
* 技术ID
*/
private Long bid;
/**
* 分图ID
*/
private Long fid;
/**
* 日期
*/
private String date;
/**
* 金额
*/
private String amount;
}

View File

@@ -0,0 +1,49 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 排行榜列表
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@ExcelIgnoreUnannotated
public class OrderRankingSumVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*总人数
*/
private Long totalNum;
/**
* 总订单数
*/
private Long totalOrderNum;
/**
* 总业绩
*/
private BigDecimal totalPerformance;
/**
* 总已到款金额
*/
private BigDecimal totalPaidAmount;
/**
* 总到款率
*/
private String totalCompletionRate;
}

View File

@@ -0,0 +1,68 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 排行榜列表
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@ExcelIgnoreUnannotated
public class OrderRankingVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*用户编号
*/
private String userName;
/**
* 用户姓名
*/
private String realName;
/**
* 部门名称
*/
private String deptName;
/**
* 订单数量
*/
private Long orderNum;
/**
* 总业绩
*/
private String totalPerformance;
/**
* 目标完成率/到款率
*/
private String targetCompletionRate;
/**
* 实际已到款金额
*/
private String completionAmount;
/**
* 订单未到款金额
*/
private String unpaidAmount;
/**
* 死单率
*/
private String deadOrderRate;
}

View File

@@ -0,0 +1,36 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 报表理视图对象
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@ExcelIgnoreUnannotated
public class PerCountVo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 类型
*/
private String type;
/**
* 金额
*/
private BigDecimal amount;
/**
* 数量
*/
private Long count;
}

View File

@@ -0,0 +1,42 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 报表理视图对象
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@ExcelIgnoreUnannotated
public class PerSumVo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 日期
*/
private String date;
/**
* 业绩总金额
*/
private BigDecimal totalAmount;
/**
* 业绩已到款金额
*/
private BigDecimal payAmount;
/**
* 客服已付款
*/
private BigDecimal kfPayAmount;
}

View File

@@ -0,0 +1,42 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
@ExcelIgnoreUnannotated
public class ReceiptSumVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 汇款笔数
*/
private Long hkzbCount;
/**
* 汇款总额
*/
private BigDecimal hkzeSum;
/**
* 已认领总额
*/
private BigDecimal yrlzeSum;
/**
* 未认领总额
*/
private BigDecimal wrlzeSum;
/**
* 作废总额
*/
private BigDecimal zfzeSum;
}

View File

@@ -0,0 +1,51 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
@ExcelIgnoreUnannotated
public class SkillOrderSumVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*订单总数
*/
private Long orderCount;
/**
* 总业绩
*/
private BigDecimal zyjSum;
/**
* 已到款
*/
private BigDecimal ydkSum;
/**
* 到款率
*/
private String dkl;
/**
* 已传大图
*/
private Long ycdt;
/**
* 已传小图
*/
private Long ycxt;
/**
* 已传模型
*/
private Long ycmx;
}

View File

@@ -0,0 +1,197 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.work.domain.TpOrder;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 技术订单管理视图对象 tp_order
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TpOrder.class)
public class SkillOrderVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "id")
private Long id;
/**
* 订单编号
*/
@ExcelProperty(value = "订单编号")
private String orderId;
/**
* 订单客户
*/
@ExcelProperty(value = "订单客户")
private Long kid;
/**
* 订单风格
*/
@ExcelProperty(value = "订单风格")
private Long style;
/**
* 订单空间
*/
@ExcelProperty(value = "订单空间")
private String space;
/**
* 订单品质
*/
@ExcelProperty(value = "订单品质")
private Long quality;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 订单类型
*/
@ExcelProperty(value = "订单类型")
private Long type;
/**
* 状态(1录入订单2上传小图3上传大图4已完成,5已评价)
*/
@ExcelProperty(value = "状态(1录入订单2上传小图3上传大图4已完成,5已评价)")
private Long state;
/**
* 图纸数量
*/
@ExcelProperty(value = "图纸数量")
private Long num;
/**
* 接待客服
*/
@ExcelProperty(value = "接待客服")
private Long sid;
/**
* 接待客服名称
*/
@ExcelProperty(value = "接待客服名称")
private String sname;
/**
* 分图员名称
*/
@ExcelProperty(value = "分图员名称")
private String fname;
/**
* 表现师名称
*/
@ExcelProperty(value = "表现师名称")
private String bname;
/**
* 客户名称
*/
@ExcelProperty(value = "客户名称")
private String cname;
/**
* 分图人员
*/
@ExcelProperty(value = "分图人员")
private Long fid;
/**
* 表现师编号
*/
@ExcelProperty(value = "表现师编号")
private String bid;
/**
* 技术备注
*/
@ExcelProperty(value = "技术备注")
private String jsRemark;
/**
* 支付状态1=待支付2=尾款待支付3=已支付)
*/
@ExcelProperty(value = "支付状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "1==待支付2=尾款待支付3=已支付")
private Long payState;
/**
* 是否删除1=未删除2=已删除)
*/
@ExcelProperty(value = "是否删除", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "1==未删除2=已删除")
private Long isDel;
/**
* 下单时间
*/
@ExcelProperty(value = "下单时间")
private Date addTime;
/**
* 对图时间
*/
@ExcelProperty(value = "对图时间")
private Date dtTime;
/**
* 定金支付时间
*/
@ExcelProperty(value = "定金支付时间")
private Date djpTime;
/**
* 尾款支付时间
*/
@ExcelProperty(value = "尾款支付时间")
private Date endpTime;
/**
* 完成时间
*/
@ExcelProperty(value = "完成时间")
private Date finishTime;
/**
* 技术订单价格
*/
@ExcelProperty(value = "技术订单价格")
private BigDecimal jsPrice;
/**
* 技术已付款
*/
@ExcelProperty(value = "技术已付款")
private BigDecimal jsPayPrice;
}

View File

@@ -0,0 +1,62 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.work.domain.TpChangePrice;
import java.io.Serial;
import java.io.Serializable;
/**
* 改价配置视图对象 tp_change_price
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TpChangePrice.class)
public class TpChangePriceVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
/**
* 包含人员
*/
@ExcelProperty(value = "包含人员")
private String sid;
/**
* 改价金额
*/
@ExcelProperty(value = "改价金额")
private Long price;
/**
* 状态1=开启2=关闭)
*/
@ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "1==开启2=关闭")
private Long state;
/**
* 最后一次修改时间
*/
@ExcelProperty(value = "最后一次修改时间")
private Long addTime;
}

View File

@@ -0,0 +1,91 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.work.domain.TpClientStaff;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 客户+客服视图对象 tp_client_staff
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TpClientStaff.class)
public class TpClientStaffVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*ID
*/
@ExcelProperty(value = "ID")
private Long id;
/**
* 所属客服
*/
@ExcelProperty(value = "所属客服")
private Long sid;
/**
* 客服编号
*/
@ExcelProperty(value = "客服编号")
private String sname;
/**
* 所属客户
*/
@ExcelProperty(value = "所属客户")
private Long kid;
/**
* 客户姓名
*/
@ExcelProperty(value = "客户姓名")
private String name;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 余额
*/
@ExcelProperty(value = "余额")
private BigDecimal yue;
/**
* 录入时间
*/
@ExcelProperty(value = "录入时间")
private Date addTime;
/**
* 手机号码
*/
@ExcelProperty(value = "手机号码")
private String phone;
/**
* 客户编号
*/
@ExcelProperty(value = "客户编号")
private String code;
}

View File

@@ -0,0 +1,206 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.work.domain.TpClient;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 客户视图对象 tp_client
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TpClient.class)
public class TpClientVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*ID
*/
@ExcelProperty(value = "ID")
private Long id;
/**
* 所属用户
*/
// @ExcelProperty(value = "所属用户")
private Long uid;
/**
* 客服编号
*/
@ExcelProperty(value = "所属客服")
private String sname;
/**
* 客户编号
*/
@ExcelProperty(value = "客户编号")
private String code;
/**
* 客户姓名
*/
@ExcelProperty(value = "客户姓名")
private String name;
/**
* 电话号码
*/
@ExcelProperty(value = "电话号码")
private String phone;
/**
* 性别
*/
@ExcelProperty(value = "性别")
private String sex;
/**
* 客户类型
*/
@ExcelProperty(value = "客户类型")
private Long type;
/**
* 主营业务类型
*/
@ExcelProperty(value = "主营业务类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "yw_type")
private Long ywtype;
/**
* 状态1=正常2=禁用)
*/
@ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "1=正常,2=禁用")
private Long state;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 录入时间
*/
@ExcelProperty(value = "录入时间")
private Date addTime;
/**
* 是否删除1=未删除2=已删除)
*/
@ExcelProperty(value = "是否删除", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "1=未删除,2=已删除")
private Long isDel;
/**
* 会员到期时间
*/
private Long vipEnd;
/**
* 操作人
*/
private String addUser;
/**
* 会员等级
*/
private Long vip;
/**
* 余额
*/
@ExcelProperty(value = "余额")
private BigDecimal yue;
/**
* 总消费
*/
// @ExcelProperty(value = "总消费")
private BigDecimal allPrice;
/**
* 改图会员
*/
private Long gtVip;
/**
* 健康状态
*/
@ExcelProperty(value = "健康状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "health_status")
private Long health;
/**
* 省
*/
@ExcelProperty(value = "")
private String province;
/**
* 市
*/
@ExcelProperty(value = "")
private String city;
/**
* 地区
*/
@ExcelProperty(value = "地区")
private String area;
/**
* 积分
*/
private Long integral;
/**
* 订单数量
*/
// @ExcelProperty(value = "订单数量")
private Long count;
/**
* 下单总额
*/
// @ExcelProperty(value = "下单总额")
private BigDecimal price;
/**
* 实付余额
*/
// @ExcelProperty(value = "实付余额")
private BigDecimal payPrice;
/**
* 未付余额
*/
// @ExcelProperty(value = "未付余额")
private BigDecimal noPrice;
/**
* 到款率
*/
// @ExcelProperty(value = "到款率")
private Long lv;
}

View File

@@ -0,0 +1,103 @@
package org.dromara.work.domain.vo;
import java.math.BigDecimal;
import org.dromara.work.domain.TpDesignQuotes;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 报价视图对象 tp_design_quotes
*
* @author Maosw
* @date 2025-03-10
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TpDesignQuotes.class)
public class TpDesignQuotesVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ExcelProperty(value = "主键")
private Long id;
/**
* 客服ID
*/
@ExcelProperty(value = "客服ID")
private Long sid;
/**
* 客服名称
*/
@ExcelProperty(value = "客服名称")
private String sName;
/**
* 项目名称
*/
@ExcelProperty(value = "项目名称")
private String projectName;
/**
* 客户名称
*/
@ExcelProperty(value = "客户名称")
private String clientName;
/**
* 订单JSON详细
*/
@ExcelProperty(value = "订单JSON详细")
private String orderInfo;
/**
* 总计图数
*/
@ExcelProperty(value = "总计图数")
private Integer totalImages;
/**
* 总计金额
*/
@ExcelProperty(value = "总计金额")
private BigDecimal totalAmount;
/**
* 定金
*/
@ExcelProperty(value = "定金")
private BigDecimal deposit;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 创建时间
*/
@ExcelProperty(value = "创建时间")
private Date createTime;
/**
* 租户 1-设计甄选 2-制图工厂 3-室内联盟
*/
private Integer tenant;
}

View File

@@ -0,0 +1,53 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.work.domain.TpField;
import java.io.Serial;
import java.io.Serializable;
/**
* 字段管理视图对象 tp_field
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TpField.class)
public class TpFieldVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
/**
* 类型
*/
@ExcelProperty(value = "类型")
private Long type;
/**
* 名称
*/
@ExcelProperty(value = "名称")
private String name;
/**
* 创建时间
*/
@ExcelProperty(value = "创建时间")
private Long addTime;
}

View File

@@ -0,0 +1,68 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.work.domain.TpIntegralDetail;
import java.io.Serial;
import java.io.Serializable;
/**
* 积分明细视图对象 tp_integral_detail
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TpIntegralDetail.class)
public class TpIntegralDetailVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
/**
* 所属用户
*/
@ExcelProperty(value = "所属用户")
private Long uid;
/**
* 标题
*/
@ExcelProperty(value = "标题")
private String title;
/**
* 类型1为加2为减
*/
@ExcelProperty(value = "类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "1=为加2为减")
private Long type;
/**
* 数额
*/
@ExcelProperty(value = "数额")
private Long price;
/**
* 创建时间
*/
@ExcelProperty(value = "创建时间")
private Long addTime;
}

View File

@@ -0,0 +1,81 @@
package org.dromara.work.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.work.domain.TpMonth;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 月目标视图对象 tp_month
*
* @author Maosw
* @date 2024-08-12
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TpMonth.class)
public class TpMonthVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
/**
* 人员
*/
@ExcelProperty(value = "人员")
private Long sid;
/**
* 月
*/
@ExcelProperty(value = "")
private String month;
/**
* 个人目标
*/
@ExcelProperty(value = "个人目标")
private Long geren;
/**
* 公司目标
*/
@ExcelProperty(value = "公司目标")
private Long gongsi;
/**
* 创建时间
*/
@ExcelProperty(value = "创建时间")
private Date addTime;
/**
* 用户昵称
*/
private String nickName;
/**
* 真实姓名
*/
private String realName;
/**
* 部门名称
*/
private String deptName;
}

Some files were not shown because too many files have changed in this diff Show More