提交 13979758 authored 作者: 李秋林's avatar 李秋林

2. 管理后台:人员权限控制

上级 91ff4bcd
......@@ -13,7 +13,7 @@
<groupId>com.wangxiaolu</groupId>
<artifactId>wangxiaolu-promotion-service</artifactId>
<version>0.1.10</version>
<version>0.1.11</version>
<name>wangxiaolu-promotion-service</name>
<description>promotion-service</description>
......
package com.wangxiaolu.promotion.controller.user.employee;
import com.wangxiaolu.promotion.pojo.activity.manage.vo.ManageEmployeeVo;
import com.wangxiaolu.promotion.pojo.user.dto.PromotionManageEmployeeDto;
import com.wangxiaolu.promotion.result.basedata.R;
import com.wangxiaolu.promotion.service.user.ManageEmployeeQueryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author : liqiulin
* @date : 2024-05-28 19
* @describe : 王小卤员工登录接口
*/
@RestController
@RequestMapping("/user/employee/query")
public class ManageEmployeeQueryController {
@Autowired
ManageEmployeeQueryService manageEmployeeQueryService;
@PostMapping("/one")
public R findOne(@RequestBody ManageEmployeeVo manageEmployeeVo){
PromotionManageEmployeeDto one = manageEmployeeQueryService.findOne(manageEmployeeVo);
return R.success(one);
}
@PostMapping("/list")
public R findList(@RequestBody ManageEmployeeVo manageEmployeeVo){
List<PromotionManageEmployeeDto> dtos = manageEmployeeQueryService.findList(manageEmployeeVo);
return R.success(dtos);
}
}
package com.wangxiaolu.promotion.controller.user.login.employee;
package com.wangxiaolu.promotion.controller.user.employee;
import com.wangxiaolu.promotion.pojo.user.vo.LoginVo;
import com.wangxiaolu.promotion.pojo.user.vo.UserLoginParam;
......
......@@ -32,9 +32,6 @@ public class QinCeEmployeeQueryController {
*/
@PostMapping("/enroll/list")
public R getEmployeeList(@RequestBody QinceEmployeeQueryVo employeeQueryVo){
if (StringUtils.isBlank(employeeQueryVo.getWaiqin365OrgId())){
return R.success(new ArrayList<>());
}
List<QinCeEmployeeDto> employees = qinCeEmployeeQueryService.getEmployeeList(employeeQueryVo);
return R.success(employees);
}
......
package com.wangxiaolu.promotion.controller.user.login.tem;
package com.wangxiaolu.promotion.controller.user.tem;
import com.wangxiaolu.promotion.pojo.user.vo.UserLoginParam;
import com.wangxiaolu.promotion.result.basedata.R;
......
package com.wangxiaolu.promotion.controller.user.login.tem;
package com.wangxiaolu.promotion.controller.user.tem;
import com.alibaba.fastjson.JSONObject;
import com.wangxiaolu.promotion.common.redis.RedisKeys;
......
package com.wangxiaolu.promotion.controller.user.login.tem;
package com.wangxiaolu.promotion.controller.user.tem;
import com.alibaba.fastjson.JSONObject;
import com.wangxiaolu.promotion.common.redis.RedisKeys;
......
package com.wangxiaolu.promotion.domain.activity.dao;
import com.wangxiaolu.promotion.domain.activity.wrapperQo.ManageEmployeeWrapper;
import com.wangxiaolu.promotion.pojo.user.dto.PromotionManageEmployeeDto;
import java.util.List;
/**
* @author : liqiulin
* @date : 2024-05-29 13
......@@ -11,4 +14,9 @@ public interface PromotionManageEmployeeDao {
PromotionManageEmployeeDto loginByEmployeeNo(String employeeNo,String pwd);
PromotionManageEmployeeDto selectById(Integer employeeId);
PromotionManageEmployeeDto selectOne(ManageEmployeeWrapper ewrap);
List<PromotionManageEmployeeDto> selectList(ManageEmployeeWrapper ewrap);
}
......@@ -5,13 +5,17 @@ import com.wangxiaolu.promotion.common.util.MD5Utils;
import com.wangxiaolu.promotion.domain.activity.dao.PromotionManageEmployeeDao;
import com.wangxiaolu.promotion.domain.activity.mapper.PromotionManageEmployeeMapper;
import com.wangxiaolu.promotion.domain.activity.mapper.entity.PromotionManageEmployeeDO;
import com.wangxiaolu.promotion.domain.activity.wrapperQo.ManageEmployeeWrapper;
import com.wangxiaolu.promotion.exception.ParamException;
import com.wangxiaolu.promotion.pojo.user.dto.PromotionManageEmployeeDto;
import com.wangxiaolu.promotion.result.basedata.RCode;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
......@@ -27,10 +31,7 @@ public class PromotionManageEmployeeDaoImpl implements PromotionManageEmployeeDa
@Override
public PromotionManageEmployeeDto loginByEmployeeNo(String employeeNo, String pwd) {
LambdaQueryWrapper<PromotionManageEmployeeDO> lqw = new LambdaQueryWrapper();
lqw.eq(PromotionManageEmployeeDO::getEmployeeNo,employeeNo);
PromotionManageEmployeeDO promotionManageEmployeeDO = promotionManageEmployeeMapper.selectOne(lqw);
PromotionManageEmployeeDO promotionManageEmployeeDO = promotionManageEmployeeMapper.selectToLogin(employeeNo);
if (Objects.isNull(promotionManageEmployeeDO)){
throw new ParamException(RCode.LOGIN_PARAM_ERROR,null);
......@@ -47,6 +48,62 @@ public class PromotionManageEmployeeDaoImpl implements PromotionManageEmployeeDa
return transitionDto(promotionManageEmployeeMapper.selectById(employeeId));
}
@Override
public PromotionManageEmployeeDto selectOne(ManageEmployeeWrapper ewrap) {
LambdaQueryWrapper<PromotionManageEmployeeDO> qw = builderOneWrapper(ewrap);
if (qw.isEmptyOfWhere()){
return null;
}
return transitionDto(promotionManageEmployeeMapper.selectOne(qw));
}
@Override
public List<PromotionManageEmployeeDto> selectList(ManageEmployeeWrapper ewrap) {
LambdaQueryWrapper<PromotionManageEmployeeDO> qw = builderWrapper(ewrap);
List<PromotionManageEmployeeDO> dos = promotionManageEmployeeMapper.selectList(qw);
return transitionDtos(dos);
}
private LambdaQueryWrapper<PromotionManageEmployeeDO> builderOneWrapper(ManageEmployeeWrapper ewrap){
LambdaQueryWrapper<PromotionManageEmployeeDO> qw = new LambdaQueryWrapper<>();
if (Objects.nonNull(ewrap.getId())){
qw.eq(PromotionManageEmployeeDO::getId,ewrap.getId());
}
if (Objects.nonNull(ewrap.getQcId())){
qw.eq(PromotionManageEmployeeDO::getQcId,ewrap.getQcId());
}
if (Objects.nonNull(ewrap.getEmployeeNo())){
qw.eq(PromotionManageEmployeeDO::getEmployeeNo,ewrap.getEmployeeNo());
}
return qw;
}
private LambdaQueryWrapper<PromotionManageEmployeeDO> builderWrapper(ManageEmployeeWrapper ewrap){
LambdaQueryWrapper<PromotionManageEmployeeDO> qw = new LambdaQueryWrapper<>();
if (ewrap.isHasDeptQcId()){
qw.ne(PromotionManageEmployeeDO::getDeptQcId,"");
}
return qw;
}
/**
* DO to DTO (单个对象)
*
* @param dos DO对象List
* @return DTO对象
*/
private List<PromotionManageEmployeeDto> transitionDtos(List<PromotionManageEmployeeDO> dos) {
if (CollectionUtils.isEmpty(dos)) {
return new ArrayList<>();
}
List<PromotionManageEmployeeDto> dtos = new ArrayList<>(dos.size() * 2);
for (PromotionManageEmployeeDO edo : dos) {
dtos.add(transitionDto(edo));
}
return dtos;
}
private PromotionManageEmployeeDto transitionDto(PromotionManageEmployeeDO employeeDO) {
PromotionManageEmployeeDto dto = null;
if (Objects.isNull(employeeDO)) {
......
......@@ -109,6 +109,9 @@ public class TemporaryActivityReportedDaoImpl implements TemporaryActivityReport
if (!StringUtils.isEmpty(tw.getApproverId())) {
queryWrapper.eq(TemporaryActivityReportedDO::getApproverId, tw.getApproverId());
}
if (!StringUtils.isEmpty(tw.getDeptQcId())) {
queryWrapper.eq(TemporaryActivityReportedDO::getDeptQcId, tw.getDeptQcId());
}
if (!StringUtils.isEmpty(tw.getNotApproveStatus())) {
queryWrapper.ne(TemporaryActivityReportedDO::getApproveStatus, tw.getNotApproveStatus());
}
......
......@@ -15,6 +15,7 @@ import org.springframework.stereotype.Repository;
@Mapper
public interface PromotionManageEmployeeMapper extends BaseMapper<PromotionManageEmployeeDO> {
PromotionManageEmployeeDO selectToLogin(String employeeNo);
}
......
......@@ -7,12 +7,14 @@ import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 促销平台管理后台员工信息
*
* @TableName promotion_manage_employee
*/
@TableName(value ="promotion_manage_employee")
@TableName(value = "promotion_manage_employee")
@Data
public class PromotionManageEmployeeDO implements Serializable {
/**
......@@ -56,6 +58,10 @@ public class PromotionManageEmployeeDO implements Serializable {
*/
// private String remarks;
@TableField(exist = false)
private List<String> privileges;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.wangxiaolu.promotion.domain.activity.wrapperQo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* @author : liqiulin
* @date : 2024-09-20 11
* @describe :
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class ManageEmployeeWrapper {
private Integer id;
private String qcId;
private String employeeNo;
private boolean hasDeptQcId;
}
......@@ -50,8 +50,9 @@ public class TemporaryActivityWrapper {
private String approveStatus;
/**
* 关联—审核人员qc_id
* 关联—审核人员(负责人)的战区、user
*/
private String deptQcId;
private String approverId;
/**
......
......@@ -49,4 +49,6 @@ public class TemporaryClockWrapper {
private String createDateStart;
private String createDateEnd;
private String nameLike;
private String deptQcId;
private String chargerQcId;
}
......@@ -80,7 +80,11 @@ public class QinCeEmployeeDaoImpl implements QinCeEmployeeDao {
if (StringUtils.isNotBlank(ew.getWaiqin365OrgId())){
qw.eq(QinCeEmployeeDO::getWaiqin365OrgId,ew.getWaiqin365OrgId());
}
if (StringUtils.isNotBlank(ew.getEmpName())){
qw.like(QinCeEmployeeDO::getEmpName,ew.getEmpName());
}
qw.eq(QinCeEmployeeDO::getEmpStatus,1);
qw.last("limit 50");
return qw;
}
......
......@@ -22,6 +22,7 @@ public class EmployeeWrapper {
* 对应QinCeDepartmentDO.qcId
*/
private String waiqin365OrgId;
private String empName;
/**
* 员工账号状态。0:销户,1:正常,2:停用
......
package com.wangxiaolu.promotion.pojo.activity.manage.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* @author : liqiulin
* @date : 2024-09-20 11
* @describe :
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Accessors(chain = true)
public class ManageEmployeeVo {
private Integer id;
private String qcId;
private String employeeNo;
private boolean hasDeptQcId;
}
......@@ -5,6 +5,8 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.util.List;
/**
* @author : liqiulin
* @date : 2024-05-29 13
......@@ -44,4 +46,5 @@ public class PromotionManageEmployeeDto {
* 部门信息-勤策部门名称
*/
private String deptQcName;
private List<String> privileges;
}
......@@ -14,4 +14,6 @@ public class QinceEmployeeQueryVo {
* 按部门查询
*/
private String waiqin365OrgId;
private String empName;
}
......@@ -127,10 +127,8 @@ public class TemporaryActivityCoreServiceImpl implements TemporaryActivityCoreSe
}
// 查询促销员负责人,将人员补充到审批中
WxTemporaryInfoDto wxTemporaryInfoDto = temporaryInfoDao.selectOneById(reportedDto.getTemporaryId());
TemporaryActivityReportedDto updateDto = new TemporaryActivityReportedDto()
.setId(id)
.setApproveName(wxTemporaryInfoDto.getChargerName())
.setApproveStatus(TemActApproveStatus.APPROVED)
.setApproveTime(new Date());
......
package com.wangxiaolu.promotion.service.user;
import com.wangxiaolu.promotion.pojo.activity.manage.vo.ManageEmployeeVo;
import com.wangxiaolu.promotion.pojo.user.dto.PromotionManageEmployeeDto;
import java.util.List;
/**
* @author : liqiulin
* @date : 2024-09-20 11
* @describe :
*/
public interface ManageEmployeeQueryService {
PromotionManageEmployeeDto findOne(ManageEmployeeVo manageEmployeeVo);
List<PromotionManageEmployeeDto> findList(ManageEmployeeVo manageEmployeeVo);
}
package com.wangxiaolu.promotion.service.user.impl;
import com.wangxiaolu.promotion.domain.activity.dao.PromotionManageEmployeeDao;
import com.wangxiaolu.promotion.domain.activity.wrapperQo.ManageEmployeeWrapper;
import com.wangxiaolu.promotion.pojo.activity.manage.vo.ManageEmployeeVo;
import com.wangxiaolu.promotion.pojo.user.dto.PromotionManageEmployeeDto;
import com.wangxiaolu.promotion.service.user.ManageEmployeeQueryService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author : liqiulin
* @date : 2024-09-20 11
* @describe :
*/
@Service
public class ManageEmployeeQueryServiceImpl implements ManageEmployeeQueryService {
@Autowired
PromotionManageEmployeeDao promotionManageEmployeeDao;
@Override
public PromotionManageEmployeeDto findOne(ManageEmployeeVo manageEmployeeVo) {
ManageEmployeeWrapper ewrap = new ManageEmployeeWrapper();
BeanUtils.copyProperties(manageEmployeeVo,ewrap);
return promotionManageEmployeeDao.selectOne(ewrap);
}
@Override
public List<PromotionManageEmployeeDto> findList(ManageEmployeeVo manageEmployeeVo) {
ManageEmployeeWrapper wrap = new ManageEmployeeWrapper();
BeanUtils.copyProperties(manageEmployeeVo,wrap);
return promotionManageEmployeeDao.selectList(wrap);
}
}
......@@ -5,6 +5,7 @@ import com.wangxiaolu.promotion.domain.user.wrapperQo.EmployeeWrapper;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.QinCeEmployeeDto;
import com.wangxiaolu.promotion.pojo.user.vo.QinceEmployeeQueryVo;
import com.wangxiaolu.promotion.service.user.QinCeEmployeeQueryService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -23,8 +24,8 @@ public class QinCeEmployeeQueryServiceImpl implements QinCeEmployeeQueryService
@Override
public List<QinCeEmployeeDto> getEmployeeList(QinceEmployeeQueryVo employeeQueryVo) {
EmployeeWrapper ew = new EmployeeWrapper()
.setWaiqin365OrgId(employeeQueryVo.getWaiqin365OrgId());
EmployeeWrapper ew = new EmployeeWrapper();
BeanUtils.copyProperties(employeeQueryVo,ew);
return qinCeEmployeeDao.getEmployeeList(ew);
}
}
......@@ -4,15 +4,30 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wangxiaolu.promotion.domain.activity.mapper.PromotionManageEmployeeMapper">
<resultMap id="BaseResultMap" type="com.wangxiaolu.promotion.domain.activity.mapper.entity.PromotionManageEmployeeDO">
<id property="id" column="id" jdbcType="INTEGER"/>
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="employeeNo" column="employee_no" jdbcType="VARCHAR"/>
<result property="passwork" column="passwork" jdbcType="VARCHAR"/>
<resultMap id="BaseResultMap"
type="com.wangxiaolu.promotion.domain.activity.mapper.entity.PromotionManageEmployeeDO">
<id property="id" column="id" jdbcType="INTEGER"/>
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="employeeNo" column="employee_no" jdbcType="VARCHAR"/>
<result property="passwork" column="passwork" jdbcType="VARCHAR"/>
<result property="qcId" column="qc_id" jdbcType="VARCHAR"/>
<result property="deptQcId" column="dept_qc_id" jdbcType="VARCHAR"/>
<result property="deptQcName" column="dept_qc_name" jdbcType="VARCHAR"/>
<collection property="privileges" ofType="string">
<result column="privilege"/>
</collection>
</resultMap>
<sql id="Base_Column_List">
id,name,employee_no,
passwork
</sql>
<!-- <sql id="Base_Column_List">-->
<!-- id-->
<!-- ,name,employee_no,-->
<!-- passwork-->
<!-- </sql>-->
<select id="selectToLogin" resultMap="BaseResultMap">
select pme.*, merp.privilege
from promotion_manage_employee pme
left join manage_employee_ref_privilege merp on pme.id = merp.employee_id
where employee_no = #{employeeNo};
</select>
</mapper>
......@@ -69,6 +69,12 @@
<if test="tcw.nameLike != null">
and temporary_name like concat('%',#{tcw.nameLike},'%')
</if>
<if test="tcw.deptQcId != null">
and dept_qc_id = #{tcw.deptQcId}
</if>
<if test="tcw.chargerQcId != null">
and charger_qc_id = #{tcw.chargerQcId}
</if>
</if>
and is_delete = 1
</where>
......
package com.wangxiaolu.promotion.controller.user;
import com.wangxiaolu.promotion.controller.user.login.tem.PromotionLoginController;
import com.wangxiaolu.promotion.controller.user.tem.PromotionLoginController;
import com.wangxiaolu.promotion.pojo.user.vo.UserLoginParam;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
......
package com.wangxiaolu.promotion.controller.wechat;
import com.alibaba.fastjson.JSONObject;
import com.wangxiaolu.promotion.controller.user.login.tem.TemporaryInfoCoreController;
import com.wangxiaolu.promotion.controller.user.login.tem.temporaryInfoQueryController;
import com.wangxiaolu.promotion.controller.user.tem.TemporaryInfoCoreController;
import com.wangxiaolu.promotion.controller.user.tem.temporaryInfoQueryController;
import com.wangxiaolu.promotion.pojo.user.vo.WxTemporaryEnrollVo;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
......
package com.wangxiaolu.promotion.controller.wechat;
import com.wangxiaolu.promotion.controller.user.login.tem.temporaryInfoQueryController;
import com.wangxiaolu.promotion.controller.user.tem.temporaryInfoQueryController;
import com.wangxiaolu.promotion.pojo.user.vo.WxTemporaryLoginVo;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论