添加查询条件

master
bynt 10 months ago
parent e1d91a4f9c
commit 5e9edb304f

@ -22,9 +22,11 @@ import com.baiye.system.model.dto.SysUserPassDTO;
import com.baiye.system.model.dto.SysUserScope;
import com.baiye.system.model.entity.SysRole;
import com.baiye.system.model.entity.SysUser;
import com.baiye.system.model.entity.SysUserRolePromise;
import com.baiye.system.model.qo.SysUserQO;
import com.baiye.system.model.vo.SysUserInfo;
import com.baiye.system.model.vo.SysUserPageVO;
import com.baiye.system.service.SysUserRolePromiseService;
import com.baiye.system.service.SysUserRoleService;
import com.baiye.system.service.SysUserService;
import com.baiye.validation.group.CreateGroup;
@ -64,6 +66,8 @@ public class SysUserController {
private final SysUserRoleService sysUserRoleService;
private final SysUserRolePromiseService sysUserRolePromiseService;
private final PasswordHelper passwordHelper;
/**
@ -193,17 +197,18 @@ public class SysUserController {
@GetMapping("/scope/{userId}")
@PreAuthorize("@per.hasPermission('system:user:grant')")
public R<SysUserScope> getUserRoleIds(@PathVariable("userId") Long userId) {
List<SysRole> roleList = sysUserRoleService.listRoles(userId);
List<String> roleCodes = new ArrayList<>();
if (!CollectionUtils.isEmpty(roleList)) {
roleList.forEach(role -> roleCodes.add(role.getCode()));
}
SysUserScope sysUserScope = new SysUserScope();
sysUserScope.setRoleCodes(roleCodes);
SysUserRolePromise promise = sysUserRolePromiseService.queryIsShowByUserId(userId);
if (ObjectUtil.isNotNull(promise)){
sysUserScope.setIsAutoAudits(promise.getIsAutoAudits());
sysUserScope.setIsShowNid(promise.getIsShowNid());
}
return R.ok(sysUserScope);
}

@ -106,4 +106,9 @@ public class SysUserDTO {
@Schema(title = "充值数量")
private Integer rechargeClueNum;
private Boolean isAutoAudits;
private Boolean isShowNid;
}

@ -1,5 +1,6 @@
package com.baiye.system.model.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
@ -13,6 +14,11 @@ import java.util.List;
@Data
public class SysUserScope {
private Boolean isAutoAudits;
private Boolean isShowNid;
private List<String> roleCodes;
}

@ -0,0 +1,64 @@
package com.baiye.system.model.entity;
import com.baiye.extend.mybatis.plus.alias.TableAlias;
import com.baiye.extend.mybatis.plus.converter.JsonStringArrayTypeHandler;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author Enzo
* @date : 2023/12/5
*/
@Data
@TableAlias("urp")
@TableName(value = "sys_user_role_promise",autoResultMap = true)
@Schema(title = "用户角色")
public class SysUserRolePromise implements Serializable {
private static final long serialVersionUID = 355851270267008536L;
@TableId
private Long id;
/**
* ID
*/
@Schema(title = "用户id")
private Long userId;
/**
* id
*/
@Schema(title = "公司id")
private Long companyId;
/**
* Code
*/
@Schema(title = "角色Code")
@TableField(value = "role_codes", typeHandler = JsonStringArrayTypeHandler.class)
private List<String> roleCodes;
/**
* 1 2
*/
@Schema(title = "权限类型")
private Integer roleType;
@Schema(title = "是否审核")
private Boolean isAutoAudits;
@Schema(title = "ni是否可见")
private Boolean isShowNid;
}

@ -88,4 +88,6 @@ public class SysUserInfo implements Serializable {
private List<SysRole> roleList;
}

@ -0,0 +1,32 @@
package com.baiye.modules.distribute.dto;
import lombok.Builder;
import lombok.Data;
/**
* @author Enzo
* @date : 2023/12/7
*/
@Data
@Builder
public class CallbackCustomDTO {
private String remark;
private Long companyId;
private String enterName;
private String customName;
private String customNid;
private Integer channelType;
private Long reportUserId;
private Long distributeId;
private String identifying;
}

@ -14,4 +14,6 @@ public class ChangeCustomDTO {
private Integer status;
private Long reviewUserId;
}

@ -0,0 +1,34 @@
package com.baiye.modules.distribute.dto;
import com.baiye.validation.group.CreateGroup;
import com.baiye.validation.group.UpdateGroup;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author Enzo
* @date 2023-12-6
*/
@Data
@Builder
public class CreateCustomDTO {
@Schema(title = "客户名称")
private String customName;
@Schema(title = "客户联系方式")
@NotBlank(message = "客户联系方式不能为空", groups = {CreateGroup.class, UpdateGroup.class})
private String customNid;
@Schema(title = "备注")
private String remark;
@Schema(title = "渠道类型")
private Integer channelType;
}

@ -6,9 +6,7 @@ import com.baiye.validation.group.UpdateGroup;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

@ -5,7 +5,6 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
@ -20,7 +19,6 @@ public class OceanEngineTokenDto implements Serializable {
private Long expiresIn;
@NotNull
private Long companyId;
private Integer status;

@ -0,0 +1,37 @@
package com.baiye.modules.distribute.dto;
import cn.hutool.json.JSONArray;
import lombok.Data;
/**
* @author Enzo
* @date 2023-12-6
*/
@Data
public class PushClueDTO {
private String remark;
/**
* , mobile
*/
private String called;
/**
* 线ID
*/
private Long variable;
/**
* nid
*/
private String mobile;
private String empClientTypeName;
}

@ -5,10 +5,8 @@ import com.baiye.domain.PageResult;
import com.baiye.extend.mybatis.plus.conditions.query.LambdaAliasQueryWrapperX;
import com.baiye.extend.mybatis.plus.mapper.ExtendMapper;
import com.baiye.extend.mybatis.plus.toolkit.WrappersX;
import com.baiye.modules.distribute.dto.HomePageDTO;
import com.baiye.modules.distribute.entity.CustomEntity;
import com.baiye.modules.distribute.qo.CustomQo;
import com.baiye.modules.distribute.qo.HomePageQo;
import com.baiye.modules.distribute.vo.CustomVO;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -22,15 +20,36 @@ public interface CustomMapper extends ExtendMapper<CustomEntity> {
default PageResult<CustomVO> queryPage(PageParam pageParam, CustomQo qo) {
IPage<CustomVO> page = this.prodPage(pageParam);
Wrapper<CustomEntity> wrapperX = this.buildQueryWrapper(qo);
this.selectByPage(page, wrapperX, qo.getStoreId());
return new PageResult<>(page.getRecords(), page.getTotal());
}
IPage<CustomVO> selectByPage(IPage<CustomVO> page, @Param(Constants.WRAPPER) Wrapper<CustomEntity> wrapper, @Param("storeId") Long storeId);
/**
*
*/
String selectMaxBatchNoByCompanyId(@Param("code") String code,@Param("companyId") Long companyId);
/**
* qo wrapper
* @param qo
* @return LambdaQueryWrapperX
*/
default Wrapper<CustomEntity> buildQueryWrapper(CustomQo qo) {
LambdaAliasQueryWrapperX<CustomEntity> wrapperX = WrappersX.lambdaAliasQueryX(CustomEntity.class);
wrapperX.eqIfPresent(CustomEntity::getCreateBy, qo.getCreateBy())
.likeIfPresent(CustomEntity::getRemark, qo.getRemark())
.likeIfPresent(CustomEntity::getCustomName, qo.getCustomName())
.likeIfPresent(CustomEntity::getBatchNo, qo.getBatchNo())
.eqIfPresent(CustomEntity::getType, qo.getSalesmanType())
.eqIfPresent(CustomEntity::getCompanyId, qo.getCompanyId())
.eqIfPresent(CustomEntity::getCustomNid, qo.getCustomNid())
.eqIfPresent(CustomEntity::getReviewUserId, qo.getReviewUserId())
.eqIfPresent(CustomEntity::getDistributorId, qo.getDistributorId())
.gtIfPresent(CustomEntity::getEnrollStatus, qo.getGreaterStatus())
.eqIfPresent(CustomEntity::getEnrollStatus, qo.getEnrollStatus());
if (StringUtils.isNotBlank(qo.getDistributeStartTime()) && StringUtils.isNotBlank(qo.getDistributeEndTime())) {
@ -40,13 +59,16 @@ public interface CustomMapper extends ExtendMapper<CustomEntity> {
if (StringUtils.isNotBlank(qo.getStartTime()) && StringUtils.isNotBlank(qo.getEndTime())) {
wrapperX.between(CustomEntity::getCreateTime, qo.getStartTime(), qo.getEndTime());
}
this.selectByPage(page, wrapperX, qo.getStoreId());
return new PageResult<>(page.getRecords(), page.getTotal());
return wrapperX;
}
IPage<CustomVO> selectByPage(IPage<CustomVO> page, @Param(Constants.WRAPPER) Wrapper<CustomEntity> wrapper, @Param("storeId") Long storeId);
default List<CustomEntity> queryList(CustomQo customQo){
Wrapper<CustomEntity> wrapperX = buildQueryWrapper(customQo);
return this.selectList(wrapperX);
}
/**
*
*/

@ -3,12 +3,16 @@ package com.baiye.modules.distribute.service;
import com.baiye.domain.PageParam;
import com.baiye.domain.PageResult;
import com.baiye.extend.mybatis.plus.service.ExtendService;
import com.baiye.modules.distribute.dto.CallbackCustomDTO;
import com.baiye.modules.distribute.dto.ChangeCustomDTO;
import com.baiye.modules.distribute.dto.CreateCustomDTO;
import com.baiye.modules.distribute.dto.CustomDTO;
import com.baiye.modules.distribute.entity.CustomEntity;
import com.baiye.modules.distribute.qo.CustomQo;
import com.baiye.modules.distribute.vo.CustomVO;
import java.util.List;
public interface CustomService extends ExtendService<CustomEntity> {
/**
@ -60,4 +64,25 @@ public interface CustomService extends ExtendService<CustomEntity> {
* @return
*/
Boolean reAuditFormById(ChangeCustomDTO dto);
/**
*
* @param customQo
* @return
*/
List<CustomEntity> queryList(CustomQo customQo);
/**
*
* @param createCustomDTO
* @return
*/
Boolean createByType(CreateCustomDTO createCustomDTO);
/**
*
* @param dtoList
* @return
*/
Boolean createByCallBack(List <CallbackCustomDTO> dtoList);
}

@ -5,16 +5,14 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.StrPool;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baiye.constant.DefaultNumberConstants;
import com.baiye.domain.PageParam;
import com.baiye.domain.PageResult;
import com.baiye.enums.ClueSourceEnum;
import com.baiye.exception.BadRequestException;
import com.baiye.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import com.baiye.modules.distribute.converter.CustomConverter;
import com.baiye.modules.distribute.dto.ChangeCustomDTO;
import com.baiye.modules.distribute.dto.ClueDTO;
import com.baiye.modules.distribute.dto.CustomDTO;
import com.baiye.modules.distribute.dto.StoreUserDTO;
import com.baiye.modules.distribute.dto.*;
import com.baiye.modules.distribute.entity.CustomEntity;
import com.baiye.modules.distribute.entity.CustomStoreEntity;
import com.baiye.modules.distribute.entity.StoreEntity;
@ -24,10 +22,14 @@ import com.baiye.modules.distribute.service.*;
import com.baiye.modules.distribute.vo.AddressDTO;
import com.baiye.modules.distribute.vo.CustomStoreVO;
import com.baiye.modules.distribute.vo.CustomVO;
import com.baiye.polling.QueueBalance;
import com.baiye.security.userdetails.User;
import com.baiye.security.util.SecurityUtils;
import com.baiye.system.constant.DateConst;
import com.baiye.system.constant.LetterConst;
import com.baiye.system.enums.RoleCodeEnum;
import com.baiye.system.model.entity.SysUser;
import com.baiye.system.service.SysUserRoleService;
import com.baiye.system.service.SysUserService;
import com.baiye.util.AESUtils;
import com.baiye.utils.SerialCode;
@ -58,11 +60,14 @@ public class CustomServiceImpl extends ExtendServiceImpl<CustomMapper, CustomEnt
private final SecurityProperties securityProperties;
private final SysUserRoleService sysUserRoleService;
private final StoreUserService storeUserService;
private final SysUserService sysUserService;
private final ClueService clueService;
private final StoreService storeService;
@ -96,19 +101,7 @@ public class CustomServiceImpl extends ExtendServiceImpl<CustomMapper, CustomEnt
public boolean add(CustomDTO customDTO) {
this.validDate(customDTO);
User user = SecurityUtils.getUser();
Long companyId = user.getWhichUserId();
CustomEntity customEntity = CustomConverter.INSTANCE.dtoToPo(customDTO);
String code = LetterConst.D.concat(StrPool.DASHED.concat(DateUtil.format(DateUtil.date(), DateConst.YYYY_MM_DD)));
String maxCode = baseMapper.selectMaxBatchNoByCompanyId(code, companyId);
// 拼接编号
String newCode = StringUtils.isNotBlank(maxCode) ?
code.concat(SerialCode.getNum(Integer.parseInt
(maxCode.substring(10)))) : code.concat(LetterConst.ONE);
customEntity.setType(2);
customEntity.setBatchNo(newCode);
customEntity.setCompanyId(companyId);
customEntity.setEnterName(user.getUsername());
customEntity.setUpdateTime(LocalDateTime.now());
CustomEntity customEntity = getCustomEntity(CustomConverter.INSTANCE.dtoToPo(customDTO), user.getWhichUserId(), user.getUsername());
int insert = baseMapper.insert(customEntity);
List<CustomStoreEntity> customStoreEntities = customDTO.getCustomStoreEntities();
customStoreEntities.forEach(c -> c.setCustomId(customEntity.getCustomId()));
@ -148,7 +141,6 @@ public class CustomServiceImpl extends ExtendServiceImpl<CustomMapper, CustomEnt
}
}
customVO.setCustomStoreVOList(customStoreVOList);
if (customVO.getEnrollStatus() == 2) {
StringBuilder stringBuilder = new StringBuilder(customVO.getCustomNid());
customVO.setCustomNid(stringBuilder.replace(3, 7, "****").toString());
@ -231,6 +223,61 @@ public class CustomServiceImpl extends ExtendServiceImpl<CustomMapper, CustomEnt
return Boolean.FALSE;
}
@Override
public List<CustomEntity> queryList(CustomQo customQo) {
return baseMapper.queryList(customQo);
}
@Override
public Boolean createByType(CreateCustomDTO createCustomDTO) {
User user = SecurityUtils.getUser();
Long whichUserId = user.getWhichUserId();
createCustomDTO.setChannelType(DefaultNumberConstants.ONE_NUMBER);
// 查询所有分发员
List<Long> userList = sysUserRoleService.selectUserIdByRoleCode
(whichUserId, RoleCodeEnum.ROLE_PRELIMINARY_EXAMINER.getRoleCode());
CustomEntity customEntity = getCustomEntity(CustomConverter.INSTANCE.dtoToPo(createCustomDTO), whichUserId, user.getUsername());
QueueBalance<Long> balance = new QueueBalance<>();
Long distributeId = balance.chooseOne(userList);
customEntity.setCreateBy(user.getUserId());
customEntity.setDistributorId(distributeId);
return SqlHelper.retBool(baseMapper.insert(customEntity));
}
@Override
public Boolean createByCallBack(List<CallbackCustomDTO> dtoList) {
ArrayList<CustomEntity> customEntities = Lists.newArrayList();
CustomEntity entity = new CustomEntity();
for (CallbackCustomDTO dto : dtoList) {
entity.setRemark(dto.getRemark());
entity.setCustomNid(dto.getCustomNid());
entity.setChannelType(dto.getChannelType());
entity.setCreateBy(dto.getReportUserId());
entity.setDistributorId(dto.getDistributeId());
entity.setChannelIdentifying(dto.getIdentifying());
customEntities.add(getCustomEntity(entity, dto.getCompanyId(), dto.getEnterName()));
}
return SqlHelper.retBool(this.baseMapper.insertBatchSomeColumn(customEntities));
}
private CustomEntity getCustomEntity(CustomEntity entity,Long companyId,String username) {
String code = LetterConst.D.concat(StrPool.DASHED.concat(DateUtil.format(DateUtil.date(), DateConst.YYYY_MM_DD)));
String maxCode = baseMapper.selectMaxBatchNoByCompanyId(code, companyId);
// 拼接编号
String newCode = StringUtils.isNotBlank(maxCode) ?
code.concat(SerialCode.getNum(Integer.parseInt
(maxCode.substring(10)))) : code.concat(LetterConst.ONE);
entity.setType(2);
entity.setBatchNo(newCode);
entity.setCompanyId(companyId);
entity.setEnterName(username);
entity.setUpdateTime(LocalDateTime.now());
entity.setEnrollStatus(DefaultNumberConstants.ONE_NUMBER);
return entity;
}
/**

Loading…
Cancel
Save