Commit 61eb53bb authored by liuyang's avatar liuyang

finished 客户管理

parent 127709bf
package com.qkdata.biz.management.controller;
import com.qkdata.biz.management.service.MemberService;
import com.qkdata.biz.sys.vo.MemberListModel;
import com.qkdata.biz.sys.vo.QueryMemberModel;
import com.qkdata.common.base.model.PageResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "客户管理")
@RestController
@RequestMapping("/api/mgr/member")
public class MemberController {
@Autowired
private MemberService memberService;
@ApiOperation("查询客户列表")
@PostMapping("/list")
public PageResult<MemberListModel> list(@RequestBody QueryMemberModel param){
return memberService.queryPage(param);
}
}
package com.qkdata.biz.management.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qkdata.biz.sys.mapper.SysUserExtMapper;
import com.qkdata.biz.sys.vo.MemberListModel;
import com.qkdata.biz.sys.vo.QueryMemberModel;
import com.qkdata.common.base.enums.CodeEnum;
import com.qkdata.common.base.model.PageResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class MemberService {
@Autowired
private SysUserExtMapper sysUserExtMapper;
public PageResult<MemberListModel> queryPage(QueryMemberModel param) {
Page page = new Page(param.getPageIndex(),param.getPageSize());
List<MemberListModel> list = sysUserExtMapper.queryPage(page,param);
return PageResult.<MemberListModel>builder().code(CodeEnum.SUCCESS.getCode()).count(page.getTotal()).data(list).build();
}
}
package com.qkdata.biz.sys.mapper; package com.qkdata.biz.sys.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qkdata.biz.sys.entity.SysUserExtPO; import com.qkdata.biz.sys.entity.SysUserExtPO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qkdata.biz.sys.vo.MemberListModel;
import com.qkdata.biz.sys.vo.QueryMemberModel;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* <p> * <p>
...@@ -11,6 +18,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -11,6 +18,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @author liuyang * @author liuyang
* @since 2021-04-26 * @since 2021-04-26
*/ */
@Mapper
public interface SysUserExtMapper extends BaseMapper<SysUserExtPO> { public interface SysUserExtMapper extends BaseMapper<SysUserExtPO> {
List<MemberListModel> queryPage(Page page, @Param("p") QueryMemberModel param);
} }
package com.qkdata.biz.sys.vo;
import com.qkdata.biz.enums.AccountStatusEnum;
import com.qkdata.biz.enums.AccountTypeEnum;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class MemberListModel {
/**
* 用户ID
*/
private Long id;
/**
* 用户帐号
*/
private String username;
/**
* 用户昵称
*/
private String nickName;
/**
* 头像
*/
private String avatarUrl;
/**
* 注册时间
*/
private LocalDateTime createTime;
/**
* 用户状态
*/
private AccountStatusEnum status;
/**
* 用户类型
*/
private AccountTypeEnum type;
/**
* 所属企业ID
*/
private Long enterpriseId;
/**
* 所属企业名称
*/
private String enterpriseName;
/**
* 最后登陆时间
*/
private LocalDateTime lastLoginTime;
/**
* 会员生效时间
*/
private LocalDateTime vipStartTime;
/**
* 会员失效时间
*/
private LocalDateTime vipEndTime;
}
package com.qkdata.biz.sys.vo;
import com.qkdata.common.constants.Constants;
import lombok.Data;
@Data
public class QueryMemberModel {
private int pageIndex = Constants.DEFAULT_PAGE;
private int pageSize = Constants.DEFAULT_PAGE_SIZE;
private String username;
}
...@@ -2,4 +2,27 @@ ...@@ -2,4 +2,27 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qkdata.biz.sys.mapper.SysUserExtMapper"> <mapper namespace="com.qkdata.biz.sys.mapper.SysUserExtMapper">
<select id="queryPage" resultType="com.qkdata.biz.sys.vo.MemberListModel">
SELECT
u.id,
u.username,
u.nick_name,
e.avatar_url,
u.create_time,
u.`status`,
e.type,
e.enterprise_id,
o.`name` enterprise_name,
u.last_login_time,
e.vip_start_time,
e.vip_end_time
FROM sys_user u
INNER JOIN user_ext e on u.id = e.user_id
LEFT JOIN organization o on e.enterprise_id = o.id
WHERE u.is_del = 0
<if test="p.username != null and p.username != ''">
and u.username like concat('%',#{p.username},'%')
</if>
ORDER BY u.last_login_time desc
</select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment