修改审核代码

master
bynt 11 months ago
parent 55a2ff1f9a
commit 5830e97c69

@ -43,7 +43,7 @@ public enum SalesManEnum {
FIRST_INSTANCE(20L, 2),
/**
*
*
*/
RETRIAL(21L, 3);

@ -1,7 +1,17 @@
package com.baiye.system.mapper;
import com.baiye.constant.GlobalConstants;
import com.baiye.domain.PageParam;
import com.baiye.domain.PageResult;
import com.baiye.domain.SelectData;
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.system.model.dto.SysUserNameRoleDTO;
import com.baiye.system.model.entity.SysUser;
import com.baiye.system.model.qo.SysUserQO;
import com.baiye.system.model.vo.SysUserBalanceVO;
import com.baiye.system.model.vo.SysUserPageVO;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -9,16 +19,6 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.baiye.constant.GlobalConstants;
import com.baiye.domain.PageParam;
import com.baiye.domain.PageResult;
import com.baiye.domain.SelectData;
import com.baiye.system.model.entity.SysUser;
import com.baiye.system.model.qo.SysUserQO;
import com.baiye.system.model.vo.SysUserPageVO;
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 org.apache.ibatis.annotations.Param;
import java.util.Collection;
@ -185,7 +185,7 @@ public interface SysUserMapper extends ExtendMapper<SysUser> {
/**
*
*/
int recharge(@Param("userId") Long userId, @Param("rechargeClueNum") Integer rechargeClueNum);
int recharge(@Param("userId") Long userId, @Param("rechargeClueNum") Integer rechargeClueNum);
/**
*
@ -202,5 +202,38 @@ public interface SysUserMapper extends ExtendMapper<SysUser> {
*/
List<SysUserBalanceVO> listUserBalance(@Param("userIdList") Collection<Long> userIdList);
/**
*
*
* @param userId
* @return
*/
SysUserBalanceVO userBalance(@Param("userId") Long userId);
/**
*
*/
int charging(@Param("userId") Long userId);
void updateDistributeNum(@Param("map") Map<Long, Integer> map);
/**
*
*
* @param userId
* @param num
* @return
*/
int operationsNum(@Param("userId") Long userId, @Param("num") Integer num);
/**
* id
* @param whichUserId
* @param id
* @return
*/
List<SelectData<Void>> getReviewList(@Param("userId") Long whichUserId,@Param("roleCode") String roleCode);
}

@ -224,4 +224,20 @@ public interface SysUserService extends ExtendService<SysUser> {
*
*/
boolean recharge(SysUserDTO sysUserDTO);
/**
*
* @param userId
* @return
*/
Boolean deductionQuantity(Long userId);
/**
*
*
* @param whichUserId
* @param roleCode
* @return
*/
List<SelectData<Void>> getUserByRoleAndWhichId(Long whichUserId, String roleCode);
}

@ -5,41 +5,41 @@ import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.StrUtil;
import com.baiye.domain.PageParam;
import com.baiye.domain.PageResult;
import com.baiye.domain.SelectData;
import com.baiye.enums.SalesManEnum;
import com.baiye.exception.BadRequestException;
import com.baiye.exception.BusinessException;
import com.baiye.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import com.baiye.result.BaseResultCode;
import com.baiye.security.util.SecurityUtils;
import com.baiye.system.checker.AdminUserChecker;
import com.baiye.system.component.PasswordHelper;
import com.baiye.system.constant.SysUserConst;
import com.baiye.system.converter.SysUserConverter;
import com.baiye.system.enums.RoleCodeEnum;
import com.baiye.system.event.UserCreatedEvent;
import com.baiye.system.event.UserDelEvent;
import com.baiye.system.event.UserOrganizationChangeEvent;
import com.baiye.system.mapper.SysUserMapper;
import com.baiye.system.model.dto.SysUserDTO;
import com.baiye.system.model.dto.SysUserNameRoleDTO;
import com.baiye.system.model.dto.SysUserScope;
import com.baiye.system.model.dto.UserInfoDTO;
import com.baiye.system.model.entity.SysMenu;
import com.baiye.system.model.entity.SysRole;
import com.baiye.system.model.entity.SysUser;
import com.baiye.system.model.qo.SysUserQO;
import com.baiye.system.model.vo.SysUserBalanceVO;
import com.baiye.system.model.vo.SysUserPageVO;
import com.baiye.system.properties.FileProperties;
import com.baiye.system.service.SysMenuService;
import com.baiye.system.service.SysUserRoleService;
import com.baiye.system.service.SysUserService;
import com.baiye.util.FileUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.baiye.exception.BusinessException;
import com.baiye.security.util.SecurityUtils;
import com.baiye.util.FileUtil;
import com.baiye.domain.PageParam;
import com.baiye.domain.PageResult;
import com.baiye.domain.SelectData;
import com.baiye.result.BaseResultCode;
import com.baiye.system.component.PasswordHelper;
import com.baiye.system.constant.SysUserConst;
import com.baiye.system.model.dto.SysUserDTO;
import com.baiye.system.model.dto.UserInfoDTO;
import com.baiye.system.model.entity.SysMenu;
import com.baiye.system.model.entity.SysUser;
import com.baiye.system.model.qo.SysUserQO;
import com.baiye.system.model.vo.SysUserPageVO;
import com.baiye.system.service.SysUserService;
import com.baiye.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@ -531,4 +531,26 @@ public class SysUserServiceImpl extends ExtendServiceImpl<SysUserMapper, SysUser
return SqlHelper.retBool(baseMapper.recharge(sysUserDTO.getUserId(), rechargeClueNum));
}
@Override
public Boolean deductionQuantity(Long userId) {
SysUserBalanceVO balanceVO = baseMapper.userBalance(userId);
if (!adminUserChecker.isAdminUser(balanceVO.getWhichUserId())) {
SysUser sysUser = baseMapper.selectById(balanceVO.getWhichUserId());
if (sysUser.getChargingStatus() == 1) {
Integer residueClueNum = balanceVO.getResidueClueNum();
if (residueClueNum < 1) {
throw new BadRequestException("用户" + balanceVO.getUsername() + "可用数量不足!");
}
return baseMapper.operationsNum(userId, balanceVO.getResidueClueNum() - 1) > 0;
}
}
return Boolean.FALSE;
}
@Override
public List<SelectData<Void>> getUserByRoleAndWhichId(Long whichUserId, String roleCode) {
return baseMapper.getReviewList(whichUserId, roleCode);
}
}

@ -161,4 +161,53 @@
</select>
<select id="userBalance" resultType="com.baiye.system.model.vo.SysUserBalanceVO">
SELECT
<include refid="Base_Alias_Column_List"/>
FROM
sys_user su
WHERE
user_id = #{userId}
</select>
<update id="operationsNum">
UPDATE sys_user SET distribute_num = distribute_num + 1,residue_clue_num = #{num} WHERE user_id = #{userId}
</update>
<select id="listSelectSonListData" resultType="com.baiye.domain.SelectData">
select su.username as name,
su.user_id as value
from
sys_user su
where
which_user_id = #{userId}
<if test="roleCodes != null and roleCodes.size() > 0">
AND
EXISTS (
SELECT 1 from sys_user_role ur
where
ur.`role_code`
in
<foreach collection="roleCodes" item="roleCode" separator="," open="(" close=")">
#{roleCode}
</foreach>
and ur.user_id = su.user_id
)
</if>
AND su.deleted = 0
</select>
<select id="getReviewList" resultType="com.baiye.domain.SelectData">
select su.username as name,
su.user_id as value
from
sys_user su
JOIN
sys_user_role sur ON su.user_id = sur.user_id
where
su.which_user_id = #{userId}
and sur.role_code = #{roleCode}
</select>
</mapper>

@ -16,6 +16,7 @@ import com.baiye.security.util.SecurityUtils;
import com.baiye.system.component.PasswordHelper;
import com.baiye.system.constant.SysUserConst;
import com.baiye.system.converter.SysUserConverter;
import com.baiye.system.enums.RoleCodeEnum;
import com.baiye.system.model.dto.SysUserDTO;
import com.baiye.system.model.dto.SysUserPassDTO;
import com.baiye.system.model.dto.SysUserScope;
@ -294,4 +295,13 @@ public class SysUserController {
: R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "充值失败");
}
@Operation(summary = "重审", description = "重审列表")
@GetMapping("/review/list")
public R<List<SelectData<Void>>> recharge() {
return R.ok(sysUserService.getUserByRoleAndWhichId
(SecurityUtils.getWhichUserId(), RoleCodeEnum.ROLE_REVIEWER.getRoleCode()));
}
}

@ -52,6 +52,9 @@ public class CustomController {
qo.setSalesmanType(null);
qo.setCreateBy(SecurityUtils.getCurrentUserId());
}
if (salesmanType == 3){
qo.setReviewUserId(SecurityUtils.getCurrentUserId());
}
}
return R.ok(customService.queryPage(pageParam, qo));
}
@ -98,10 +101,24 @@ public class CustomController {
*/
@PostMapping("/audit")
@Operation(summary = "审核表单")
public R<Boolean> audit(@Validated({UpdateGroup.class}) @RequestBody ChangeCustomDTO dto) {
public R<String> audit(@Validated({UpdateGroup.class}) @RequestBody ChangeCustomDTO dto) {
Boolean result = customService.auditFormById(dto);
return Boolean.TRUE.equals(result) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "审核失败");
}
/**
*
*
* @param dto
* @return
*/
@PostMapping("/reAudit")
@Operation(summary = "审核表单")
public R<Boolean> reAudit(@Validated({UpdateGroup.class}) @RequestBody ChangeCustomDTO dto) {
Boolean result = customService.reAuditFormById(dto);
return Boolean.TRUE.equals(result) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "审核失败");
}
}

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

@ -86,4 +86,8 @@ public class CustomEntity extends BaseEntity {
@Schema(title = "客户类型 0:A型 1:B型")
private Integer customType;
@Schema(title = "复审员id")
private Long reviewUserId;
}

@ -20,12 +20,14 @@ public interface CustomMapper extends ExtendMapper<CustomEntity> {
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())
.gtIfPresent(CustomEntity::getEnrollStatus, qo.getGreaterStatus())
.eqIfPresent(CustomEntity::getCompanyId, qo.getCompanyId())
.eqIfPresent(CustomEntity::getType, qo.getSalesmanType())
.eqIfPresent(CustomEntity::getCompanyId, qo.getCompanyId())
.eqIfPresent(CustomEntity::getCustomNid, qo.getCustomNid())
.eqIfPresent(CustomEntity::getReviewUserId, qo.getReviewUserId())
.gtIfPresent(CustomEntity::getEnrollStatus, qo.getGreaterStatus())
.eqIfPresent(CustomEntity::getEnrollStatus, qo.getEnrollStatus());
if (StringUtils.isNotBlank(qo.getDistributeStartTime()) && StringUtils.isNotBlank(qo.getDistributeEndTime())) {
wrapperX.between(CustomEntity::getDistributeTime, qo.getDistributeStartTime(), qo.getDistributeEndTime());

@ -16,7 +16,7 @@ public class CustomQo {
@Parameter(description = "客户联系方式")
private String customNid;
@Parameter(description = "报名状态 0:待提交 1:已报名 2通过")
@Parameter(description = "报名状态 0:待提交 1:已报名 2通过")
private Integer enrollStatus;
@Schema(title = "创建者")
@ -48,6 +48,16 @@ public class CustomQo {
private Long storeId;
@Schema(title = "备注")
private String remark;
@Schema(title = "复审员id")
private Long reviewUserId;
@Parameter(description = "大于状态值")
private Integer greaterStatus;
}

@ -53,4 +53,11 @@ public interface CustomService extends ExtendService<CustomEntity> {
* @return
*/
Boolean auditFormById(ChangeCustomDTO dto);
/**
*
* @param dto
* @return
*/
Boolean reAuditFormById(ChangeCustomDTO dto);
}

@ -26,6 +26,7 @@ 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.service.SysUserService;
import com.baiye.util.AESUtils;
import com.baiye.utils.SerialCode;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
@ -55,18 +56,22 @@ public class CustomServiceImpl extends ExtendServiceImpl<CustomMapper, CustomEnt
private final StoreUserService storeUserService;
private final SysUserService sysUserService;
private final ClueService clueService;
private final StoreService storeService;
@Override
public PageResult<CustomVO> queryPage(PageParam pageParam, CustomQo qo) {
PageResult<CustomVO> customVOPageResult = baseMapper.queryPage(pageParam, qo);
List<CustomVO> records = customVOPageResult.getRecords();
// 返回数据处理
if (CollUtil.isNotEmpty(records)){
if (CollUtil.isNotEmpty(records)) {
for (CustomVO record : records) {
if (record.getEnrollStatus() == 2){
if (record.getEnrollStatus() == 2) {
StringBuilder stringBuilder = new StringBuilder(record.getCustomNid());
record.setCustomNid(stringBuilder.replace(3, 7, "****").toString());
}
@ -132,7 +137,7 @@ public class CustomServiceImpl extends ExtendServiceImpl<CustomMapper, CustomEnt
}
customVO.setCustomStoreVOList(customStoreVOList);
if (customVO.getEnrollStatus() == 2){
if (customVO.getEnrollStatus() == 2) {
StringBuilder stringBuilder = new StringBuilder(customVO.getCustomNid());
customVO.setCustomNid(stringBuilder.replace(3, 7, "****").toString());
}
@ -154,7 +159,11 @@ public class CustomServiceImpl extends ExtendServiceImpl<CustomMapper, CustomEnt
CustomEntity customEntity = baseMapper.selectById(id);
if (ObjectUtil.isNotNull(customEntity)) {
if (ObjectUtil.isNotNull(status) && status == 0) {
if (ObjectUtil.isNull(dto.getReviewUserId())) {
throw new BadRequestException("复审员不能为空!");
}
customEntity.setType(3);
customEntity.setReviewUserId(dto.getReviewUserId());
return SqlHelper.retBool(baseMapper.updateById(customEntity));
}
Gson gson = new Gson();
@ -168,13 +177,18 @@ public class CustomServiceImpl extends ExtendServiceImpl<CustomMapper, CustomEnt
for (CustomStoreEntity store : customStores) {
Long userId = storeUserService.findUserIdByStoreId(store.getStoreId());
if (ObjectUtil.isNotNull(userId) && userId > 0) {
ClueDTO clueDTO = ClueDTO.builder().originName(ClueSourceEnum.STORE_DISTRIBUTION.getDescription()).remark
(customEntity.getRemark()).nid(AESUtils.encrypt(customEntity.getCustomNid(), securityProperties.getPasswordSecretKey())).assignedBy
(userId).createBy(customEntity.getCompanyId()).assignedName(store.getStoreName()).otherClue(otherClue).build();
list.add(clueDTO);
// 扣减余额
Boolean result = sysUserService.deductionQuantity(userId);
if (Boolean.TRUE.equals(result)) {
ClueDTO clueDTO = ClueDTO.builder().originName(ClueSourceEnum.STORE_DISTRIBUTION.getDescription()).remark
(customEntity.getRemark()).nid(AESUtils.encrypt(customEntity.getCustomNid(), securityProperties.getPasswordSecretKey())).assignedBy
(userId).createBy(customEntity.getCompanyId()).assignedName(store.getStoreName()).otherClue(otherClue).build();
list.add(clueDTO);
}
}
}
if (CollUtil.isNotEmpty(list)) {
// 扣减数量
customEntity.setEnrollStatus(2);
clueService.saveClueListByStoreInfo(list);
customEntity.setDistributeTime(DateUtil.date());
@ -185,17 +199,36 @@ public class CustomServiceImpl extends ExtendServiceImpl<CustomMapper, CustomEnt
return Boolean.FALSE;
}
@Override
public Boolean reAuditFormById(ChangeCustomDTO dto) {
Long id = dto.getCustomId();
Integer status = dto.getStatus();
CustomEntity customEntity = baseMapper.selectById(id);
if (ObjectUtil.isNotNull(customEntity)) {
if (customEntity.getCustomType() == 0) {
throw new BadRequestException("只能审核B类表单!");
}
if (ObjectUtil.isNotNull(status) && status == 1) {
customEntity.setType(2);
customEntity.setCustomType(0);
return SqlHelper.retBool(baseMapper.updateById(customEntity));
}
}
return Boolean.FALSE;
}
/**
*
*/
public void validDate(CustomDTO customDTO){
if (customDTO.getEnrollStatus() == 1 && customDTO.getCustomType() == 0){
public void validDate(CustomDTO customDTO) {
if (customDTO.getEnrollStatus() == 1 && customDTO.getCustomType() == 0) {
String economize = customDTO.getEconomize();
String market = customDTO.getMarket();
String detailAddress = customDTO.getDetailAddress();
String radius = customDTO.getRadius();
List<CustomStoreEntity> customStoreEntities = customDTO.getCustomStoreEntities();
if (StringUtils.isBlank(economize) || StringUtils.isBlank(market)) throw new BadRequestException("省市不能为空");
if (StringUtils.isBlank(economize) || StringUtils.isBlank(market))
throw new BadRequestException("省市不能为空");
if (StringUtils.isBlank(detailAddress)) throw new BadRequestException("详细地址不能为空");
if (StringUtils.isBlank(radius)) throw new BadRequestException("半径不能为空");
if (CollUtil.isEmpty(customStoreEntities)) throw new BadRequestException("门店信息不能为空");

@ -15,6 +15,7 @@
cm.enroll_status,
cm.remark,
cm.create_time,
cm.update_time,
cm.custom_type,
cm.distribute_time
</sql>
@ -26,7 +27,7 @@
FROM
tb_custom cm
${ew.customSqlSegment}
order by cm.create_time desc, cm.custom_id desc
order by cm.update_time desc,cm.create_time desc, cm.custom_id desc
</select>
<select id="selectMaxBatchNoByCompanyId" resultType="java.lang.String">

Loading…
Cancel
Save