diff --git a/ad-distribute-common/common-core/src/main/java/com/baiye/enums/SalesManEnum.java b/ad-distribute-common/common-core/src/main/java/com/baiye/enums/SalesManEnum.java index ab96bed..464b29b 100644 --- a/ad-distribute-common/common-core/src/main/java/com/baiye/enums/SalesManEnum.java +++ b/ad-distribute-common/common-core/src/main/java/com/baiye/enums/SalesManEnum.java @@ -43,7 +43,7 @@ public enum SalesManEnum { FIRST_INSTANCE(20L, 2), /** - * + * 复审员 */ RETRIAL(21L, 3); diff --git a/ad-distribute-system/system-biz/src/main/java/com/baiye/system/mapper/SysUserMapper.java b/ad-distribute-system/system-biz/src/main/java/com/baiye/system/mapper/SysUserMapper.java index c55bb5d..47e1556 100644 --- a/ad-distribute-system/system-biz/src/main/java/com/baiye/system/mapper/SysUserMapper.java +++ b/ad-distribute-system/system-biz/src/main/java/com/baiye/system/mapper/SysUserMapper.java @@ -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 { /** * 余额充值 */ - 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 { */ List listUserBalance(@Param("userIdList") Collection userIdList); + + /** + * 查询用户余额 + * + * @param userId + * @return + */ + SysUserBalanceVO userBalance(@Param("userId") Long userId); + + + /** + * 余额扣费 + */ + int charging(@Param("userId") Long userId); + void updateDistributeNum(@Param("map") Map map); + + + /** + * 操作数量 + * + * @param userId + * @param num + * @return + */ + int operationsNum(@Param("userId") Long userId, @Param("num") Integer num); + + /** + * id查询记录 + * @param whichUserId + * @param id + * @return + */ + List> getReviewList(@Param("userId") Long whichUserId,@Param("roleCode") String roleCode); } diff --git a/ad-distribute-system/system-biz/src/main/java/com/baiye/system/service/SysUserService.java b/ad-distribute-system/system-biz/src/main/java/com/baiye/system/service/SysUserService.java index 66cd168..ea09025 100644 --- a/ad-distribute-system/system-biz/src/main/java/com/baiye/system/service/SysUserService.java +++ b/ad-distribute-system/system-biz/src/main/java/com/baiye/system/service/SysUserService.java @@ -224,4 +224,20 @@ public interface SysUserService extends ExtendService { * 余额充值 */ boolean recharge(SysUserDTO sysUserDTO); + + /** + * 扣减数量 + * @param userId + * @return + */ + Boolean deductionQuantity(Long userId); + + /** + * 获取该公司重审列表 + * + * @param whichUserId + * @param roleCode + * @return + */ + List> getUserByRoleAndWhichId(Long whichUserId, String roleCode); } diff --git a/ad-distribute-system/system-biz/src/main/java/com/baiye/system/service/impl/SysUserServiceImpl.java b/ad-distribute-system/system-biz/src/main/java/com/baiye/system/service/impl/SysUserServiceImpl.java index 7d013c8..13e6696 100644 --- a/ad-distribute-system/system-biz/src/main/java/com/baiye/system/service/impl/SysUserServiceImpl.java +++ b/ad-distribute-system/system-biz/src/main/java/com/baiye/system/service/impl/SysUserServiceImpl.java @@ -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 0; + } + } + + return Boolean.FALSE; + } + + @Override + public List> getUserByRoleAndWhichId(Long whichUserId, String roleCode) { + return baseMapper.getReviewList(whichUserId, roleCode); + } + } diff --git a/ad-distribute-system/system-biz/src/main/resources/mapper/SysUserMapper.xml b/ad-distribute-system/system-biz/src/main/resources/mapper/SysUserMapper.xml index 09b2e1b..968db14 100644 --- a/ad-distribute-system/system-biz/src/main/resources/mapper/SysUserMapper.xml +++ b/ad-distribute-system/system-biz/src/main/resources/mapper/SysUserMapper.xml @@ -161,4 +161,53 @@ + + + + UPDATE sys_user SET distribute_num = distribute_num + 1,residue_clue_num = #{num} WHERE user_id = #{userId} + + + + + + diff --git a/ad-distribute-system/system-controller/src/main/java/com/baiye/system/controller/SysUserController.java b/ad-distribute-system/system-controller/src/main/java/com/baiye/system/controller/SysUserController.java index ba85e7f..d1f4501 100644 --- a/ad-distribute-system/system-controller/src/main/java/com/baiye/system/controller/SysUserController.java +++ b/ad-distribute-system/system-controller/src/main/java/com/baiye/system/controller/SysUserController.java @@ -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>> recharge() { + return R.ok(sysUserService.getUserByRoleAndWhichId + (SecurityUtils.getWhichUserId(), RoleCodeEnum.ROLE_REVIEWER.getRoleCode())); + } + + } diff --git a/admin/src/main/java/com/baiye/modules/distribute/controller/CustomController.java b/admin/src/main/java/com/baiye/modules/distribute/controller/CustomController.java index 4ed302d..957bd75 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/controller/CustomController.java +++ b/admin/src/main/java/com/baiye/modules/distribute/controller/CustomController.java @@ -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 audit(@Validated({UpdateGroup.class}) @RequestBody ChangeCustomDTO dto) { + public R 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 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, "审核失败"); + } + + } diff --git a/admin/src/main/java/com/baiye/modules/distribute/dto/ChangeCustomDTO.java b/admin/src/main/java/com/baiye/modules/distribute/dto/ChangeCustomDTO.java index ad483a5..b37b78f 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/dto/ChangeCustomDTO.java +++ b/admin/src/main/java/com/baiye/modules/distribute/dto/ChangeCustomDTO.java @@ -12,4 +12,6 @@ public class ChangeCustomDTO { private Long customId; private Integer status; + + private Long reviewUserId; } diff --git a/admin/src/main/java/com/baiye/modules/distribute/entity/CustomEntity.java b/admin/src/main/java/com/baiye/modules/distribute/entity/CustomEntity.java index 73e8442..f9ef63d 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/entity/CustomEntity.java +++ b/admin/src/main/java/com/baiye/modules/distribute/entity/CustomEntity.java @@ -86,4 +86,8 @@ public class CustomEntity extends BaseEntity { @Schema(title = "客户类型 0:A型 1:B型") private Integer customType; + + @Schema(title = "复审员id") + private Long reviewUserId; + } diff --git a/admin/src/main/java/com/baiye/modules/distribute/mapper/CustomMapper.java b/admin/src/main/java/com/baiye/modules/distribute/mapper/CustomMapper.java index 9919bc0..dc01bcb 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/mapper/CustomMapper.java +++ b/admin/src/main/java/com/baiye/modules/distribute/mapper/CustomMapper.java @@ -20,12 +20,14 @@ public interface CustomMapper extends ExtendMapper { LambdaAliasQueryWrapperX 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()); diff --git a/admin/src/main/java/com/baiye/modules/distribute/qo/CustomQo.java b/admin/src/main/java/com/baiye/modules/distribute/qo/CustomQo.java index 9f7bde4..7dfcc2e 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/qo/CustomQo.java +++ b/admin/src/main/java/com/baiye/modules/distribute/qo/CustomQo.java @@ -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; + + + } diff --git a/admin/src/main/java/com/baiye/modules/distribute/service/CustomService.java b/admin/src/main/java/com/baiye/modules/distribute/service/CustomService.java index 3aae137..b6c41b1 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/service/CustomService.java +++ b/admin/src/main/java/com/baiye/modules/distribute/service/CustomService.java @@ -53,4 +53,11 @@ public interface CustomService extends ExtendService { * @return */ Boolean auditFormById(ChangeCustomDTO dto); + + /** + * 重新审核操作 + * @param dto + * @return + */ + Boolean reAuditFormById(ChangeCustomDTO dto); } diff --git a/admin/src/main/java/com/baiye/modules/distribute/service/impl/CustomServiceImpl.java b/admin/src/main/java/com/baiye/modules/distribute/service/impl/CustomServiceImpl.java index 3633ff7..fc9e14a 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/service/impl/CustomServiceImpl.java +++ b/admin/src/main/java/com/baiye/modules/distribute/service/impl/CustomServiceImpl.java @@ -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 queryPage(PageParam pageParam, CustomQo qo) { PageResult customVOPageResult = baseMapper.queryPage(pageParam, qo); List 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 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 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("门店信息不能为空"); diff --git a/admin/src/main/resources/mapper/CustomMapper.xml b/admin/src/main/resources/mapper/CustomMapper.xml index 210dc51..8b02a5f 100644 --- a/admin/src/main/resources/mapper/CustomMapper.xml +++ b/admin/src/main/resources/mapper/CustomMapper.xml @@ -15,6 +15,7 @@ cm.enroll_status, cm.remark, cm.create_time, + cm.update_time, cm.custom_type, cm.distribute_time @@ -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