1
0

WEB:客户管理

This commit is contained in:
2025-07-03 11:39:49 +08:00
parent abe9dc2fe8
commit b06e071196
11 changed files with 51 additions and 47 deletions

View File

@ -214,6 +214,8 @@ springdoc:
packages-to-scan: com.fuyuanshen.workflow
- group: 设备管理模块
packages-to-scan: com.fuyuanshen.equipment
- group: 客户管理模块
packages-to-scan: com.fuyuanshen.customer
# 防止XSS攻击
xss:

View File

@ -18,7 +18,7 @@ import java.util.List;
@AllArgsConstructor
public class PageResult<T> implements Serializable {
private List<T> content;
private List<T> rows;
private long totalElements;
private long total;
}

View File

@ -1,14 +1,14 @@
package com.fuyuanshen.fyscustomer.controller;
package com.fuyuanshen.customer.controller;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fuyuanshen.common.core.domain.PageResult;
import com.fuyuanshen.common.core.domain.ResponseVO;
import com.fuyuanshen.common.core.utils.StringUtils;
import com.fuyuanshen.fyscustomer.domain.Customer;
import com.fuyuanshen.fyscustomer.domain.query.UserQueryCriteria;
import com.fuyuanshen.fyscustomer.domain.vo.ConsumerVo;
import com.fuyuanshen.fyscustomer.service.CustomerService;
import com.fuyuanshen.common.mybatis.core.page.TableDataInfo;
import com.fuyuanshen.customer.domain.Customer;
import com.fuyuanshen.customer.domain.query.UserQueryCriteria;
import com.fuyuanshen.customer.domain.vo.ConsumerVo;
import com.fuyuanshen.customer.service.CustomerService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.undertow.util.BadRequestException;
@ -42,10 +42,9 @@ public class CustomerController {
*/
@Operation(summary = "分页查询客户")
@GetMapping(value = "/customer")
public ResponseVO<PageResult<ConsumerVo>> queryCustomer(UserQueryCriteria criteria) {
Page<Customer> page = new Page<>(criteria.getPage(), criteria.getSize());
PageResult<ConsumerVo> pageUsers = customerService.queryCustomers(criteria, page);
return ResponseVO.success(pageUsers);
public TableDataInfo<ConsumerVo> queryCustomer(UserQueryCriteria criteria) {
Page<Customer> page = new Page<>(criteria.getPageNum(), criteria.getPageSize());
return customerService.queryCustomers(criteria, page);
}

View File

@ -1,4 +1,4 @@
package com.fuyuanshen.fyscustomer.domain;
package com.fuyuanshen.customer.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.fuyuanshen.common.core.constant.SystemConstants;
@ -100,6 +100,10 @@ public class Customer extends TenantEntity {
@TableLogic
private String delFlag;
@NotNull
@Schema(name = "是否启用")
private Boolean enabled;
/**
* 最后登录IP
*/

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.fuyuanshen.fyscustomer.domain.query;
package com.fuyuanshen.customer.domain.query;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@ -56,10 +56,10 @@ public class UserQueryCriteria implements Serializable {
private List<Timestamp> createTime;
@Schema(name = "页码", example = "1")
private Integer page = 1;
private Integer pageNum = 1;
@Schema(name = "每页数据量", example = "10")
private Integer size = 10;
private Integer pageSize = 10;
@Schema(name = "偏移量", hidden = true)
private long offset;

View File

@ -1,4 +1,4 @@
package com.fuyuanshen.fyscustomer.domain.vo;
package com.fuyuanshen.customer.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
@ -9,7 +9,6 @@ import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.Set;
/**
* @author: 默苍璃

View File

@ -1,8 +1,8 @@
package com.fuyuanshen.fyscustomer.mapper;
package com.fuyuanshen.customer.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fuyuanshen.fyscustomer.domain.Customer;
import com.fuyuanshen.fyscustomer.domain.query.UserQueryCriteria;
import com.fuyuanshen.customer.domain.Customer;
import com.fuyuanshen.customer.domain.query.UserQueryCriteria;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

View File

@ -1,10 +1,10 @@
package com.fuyuanshen.fyscustomer.service;
package com.fuyuanshen.customer.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fuyuanshen.common.core.domain.PageResult;
import com.fuyuanshen.fyscustomer.domain.Customer;
import com.fuyuanshen.fyscustomer.domain.query.UserQueryCriteria;
import com.fuyuanshen.fyscustomer.domain.vo.ConsumerVo;
import com.fuyuanshen.common.mybatis.core.page.TableDataInfo;
import com.fuyuanshen.customer.domain.Customer;
import com.fuyuanshen.customer.domain.query.UserQueryCriteria;
import com.fuyuanshen.customer.domain.vo.ConsumerVo;
import io.undertow.util.BadRequestException;
import java.util.List;
@ -24,7 +24,7 @@ public interface CustomerService {
* @param page
* @return
*/
PageResult<ConsumerVo> queryCustomers(UserQueryCriteria criteria, Page<Customer> page);
TableDataInfo<ConsumerVo> queryCustomers(UserQueryCriteria criteria, Page<Customer> page);
/**

View File

@ -1,17 +1,16 @@
package com.fuyuanshen.fyscustomer.service.impl;
package com.fuyuanshen.customer.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fuyuanshen.common.core.domain.PageResult;
import com.fuyuanshen.common.core.domain.model.LoginUser;
import com.fuyuanshen.common.core.utils.PageUtil;
import com.fuyuanshen.common.mybatis.core.page.TableDataInfo;
import com.fuyuanshen.common.satoken.utils.LoginHelper;
import com.fuyuanshen.fyscustomer.domain.Customer;
import com.fuyuanshen.fyscustomer.domain.query.UserQueryCriteria;
import com.fuyuanshen.fyscustomer.domain.vo.ConsumerVo;
import com.fuyuanshen.fyscustomer.mapper.CustomerMapper;
import com.fuyuanshen.fyscustomer.service.CustomerService;
import com.fuyuanshen.customer.domain.Customer;
import com.fuyuanshen.customer.domain.query.UserQueryCriteria;
import com.fuyuanshen.customer.domain.vo.ConsumerVo;
import com.fuyuanshen.customer.mapper.CustomerMapper;
import com.fuyuanshen.customer.service.CustomerService;
import io.undertow.util.BadRequestException;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@ -39,13 +38,14 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> i
* @return
*/
@Override
public PageResult<ConsumerVo> queryCustomers(UserQueryCriteria criteria, Page<Customer> page) {
public TableDataInfo<ConsumerVo> queryCustomers(UserQueryCriteria criteria, Page<Customer> page) {
criteria.setOffset(page.offset());
criteria.setPid(LoginHelper.getUserId());
List<Customer> users = customerMapper.findCustomers(criteria);
List<ConsumerVo> consumerVoList = BeanUtil.copyToList(users, ConsumerVo.class);
Long total = customerMapper.countCustomers(criteria);
return PageUtil.toPage(consumerVoList, total);
// return PageUtil.toPage(consumerVoList, total);
return new TableDataInfo<ConsumerVo>(consumerVoList, total);
}

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.fuyuanshen.fyscustomer.mapper.CustomerMapper">
<resultMap id="BaseResultMap" type="com.fuyuanshen.fyscustomer.domain.Customer">
<resultMap id="BaseResultMap" type="com.fuyuanshen.customer.domain.Customer">
<id column="user_user_id" property="userId"/>
<result column="user_dept_id" property="deptId"/>
<result column="user_user_name" property="userName"/>
@ -92,9 +92,9 @@
<!-- 分页查询客户 -->
<select id="findCustomers" resultType="com.fuyuanshen.fyscustomer.domain.Customer">
<select id="findCustomers" resultType="com.fuyuanshen.customer.domain.Customer">
select
u.user_id as id, u.nick_name , u.username, u.enabled, u.create_time
u.user_id as id, u.nick_name , u.user_name, u.enabled, u.create_time
from sys_user u
<where>
<if test="criteria.ids != null and !criteria.ids.isEmpty()">
@ -118,7 +118,7 @@
</where>
order by u.user_id desc
<if test="criteria.offset != null">
limit #{criteria.offset}, #{criteria.size}
limit #{criteria.offset}, #{criteria.pageSize}
</if>
</select>
@ -150,7 +150,7 @@
<!-- 查询所有客户 -->
<select id="queryAllCustomers" resultType="com.fuyuanshen.fyscustomer.domain.Customer">
<select id="queryAllCustomers" resultType="com.fuyuanshen.customer.domain.Customer">
select u.user_id as customerId,
u.nick_name,
u.user_name,
@ -170,8 +170,8 @@
<!-- 根据条件查询客户 -->
<select id="queryCustomers" resultType="com.fuyuanshen.fyscustomer.domain.Customer"
parameterType="com.fuyuanshen.fyscustomer.domain.query.UserQueryCriteria">
<select id="queryCustomers" resultType="com.fuyuanshen.customer.domain.Customer"
parameterType="com.fuyuanshen.customer.domain.query.UserQueryCriteria">
select u.user_id as customerId,
u.nick_name,
u.user_name,
@ -186,7 +186,7 @@
</select>
<!-- 根据id查询客户 -->
<select id="queryCustomerById" resultType="com.fuyuanshen.fyscustomer.domain.Customer">
<select id="queryCustomerById" resultType="com.fuyuanshen.customer.domain.Customer">
select u.*
from sys_user u
<where>

View File

@ -17,8 +17,8 @@ import com.fuyuanshen.equipment.domain.vo.CustomerVo;
import com.fuyuanshen.equipment.mapper.DeviceMapper;
import com.fuyuanshen.equipment.mapper.DeviceTypeMapper;
import com.fuyuanshen.equipment.service.DeviceService;
import com.fuyuanshen.fyscustomer.domain.Customer;
import com.fuyuanshen.fyscustomer.mapper.CustomerMapper;
import com.fuyuanshen.customer.domain.Customer;
import com.fuyuanshen.customer.mapper.CustomerMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;