Merge remote-tracking branch 'origin/dev/feat/partner1.1_20230727' into dev/feat/partner1.1_20230727

# Conflicts:
#	coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java
This commit is contained in:
俞扬
2023-07-20 19:20:20 +08:00
69 changed files with 2588 additions and 90 deletions

View File

@@ -12,7 +12,7 @@ public class CommonConstants {
public static final String MESSAGE_ID = "messageId";
public static final String ACCESS_TOKEN_KEY = "access_token";
public static final String ACCESS_TOKEN_KEY = "access_token:{0}";
public static final String REFRESH_TOKEN_KEY = "refresh_token";

View File

@@ -82,6 +82,9 @@ public enum ErrorCodeEnum {
SIGN_FAIL(600000, "验签失败", null),
GET_ACCESSTOKEN_ERROR(600001, "获取小程序TOKEN错误", null),
NEW_MOBILE_HAS_EXIST(600002,"加盟商用户信息已存在",null),
INSPECTION_USER_OCCUPY(600002,"当前稽核人已经配置其他战区",null),
INSPECTION_INFO_NOT_EXIST(600005, "稽核信息不存在!", null),
OPEN_AREA_NULL(600006,"归属地区不能为空",null),
;

View File

@@ -0,0 +1,33 @@
package com.cool.store.enums;
/**
* @author Fun Li
* @version 1.0
* @date 2023/7/19 17:55
*/
//稽核操作类型
public enum InspectionOperationTypeEnum {
PASS(0, "合格"),
NOT_PASS(1, "不合格"),
REVOCATION(2, "撤销");
private Integer code;
private String type;
InspectionOperationTypeEnum(Integer code, String type) {
this.code = code;
this.type = type;
}
public Integer getCode() {
return code;
}
public String getType() {
return type;
}
}

View File

@@ -0,0 +1,32 @@
package com.cool.store.enums;
/**
* @author Fun Li
* @version 1.0
* @date 2023/7/19 17:22
*/
//稽核信息状态
public enum InspectionStatusEnum {
NOT_INSPECT(0, "未稽核"),
PASS(1, "合格"),
NOT_PASS(2, "不合格");
private Integer code;
private String type;
InspectionStatusEnum(Integer code, String type) {
this.code = code;
this.type = type;
}
public Integer getCode() {
return code;
}
public String getType() {
return type;
}
}

View File

@@ -0,0 +1,29 @@
package com.cool.store.enums;
/**
* @author Fun Li
* @version 1.0
* @date 2023/7/19 17:16
*/
//稽核类型
public enum InspectionTyeEnum {
INTERVIEW_INSPECTION(0, "面试稽核");
private Integer code;
private String type;
InspectionTyeEnum(Integer code, String type) {
this.code = code;
this.type = type;
}
public Integer getCode() {
return code;
}
public String getType() {
return type;
}
}

View File

@@ -11,6 +11,8 @@ import org.springframework.stereotype.Repository;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@@ -109,7 +111,22 @@ public class EnterpriseUserDAO {
return userList.stream().filter(o->!StringUtils.isAnyBlank(o.getMobile(), o.getName())).collect(Collectors.toMap(k -> k.getUserId(), v -> v.getName() + " " + v.getMobile()));
}
public Map<String, String> getUserNameMap(List<String> userIds){
List<EnterpriseUserDO> userList = getUserInfoByUserIds(userIds);
return userList.stream().filter(o->!StringUtils.isAnyBlank(o.getMobile(), o.getName())).collect(Collectors.toMap(k -> k.getUserId(), v -> v.getName()));
}
public Map<String, EnterpriseUserDO> getUserMap(List<String> userIds){
List<EnterpriseUserDO> userList = getUserInfoByUserIds(userIds);
return userList.stream().filter(o->!StringUtils.isAnyBlank(o.getMobile(), o.getName())).collect(Collectors.toMap(k -> k.getUserId(), Function.identity()));
}
public String selectByMobile(String mobile) {
return enterpriseUserMapper.selectByMobile(mobile);
}
public String getUserName(String userId){
EnterpriseUserDO userInfo = getUserInfoById(userId);
return Optional.ofNullable(userInfo).map(EnterpriseUserDO::getName).orElse(StringUtils.EMPTY);
}
}

View File

@@ -0,0 +1,90 @@
package com.cool.store.dao;
import com.cool.store.entity.HyInspectionSettingDO;
import com.cool.store.mapper.HyInspectionSettingMapper;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: HyInspectionSettingDAO
* @Description:
* @date 2023-07-18 16:29
*/
@Repository
public class HyInspectionSettingDAO {
@Resource
private HyInspectionSettingMapper hyInspectionSettingMapper;
/**
* 获取分页
* @param pageNum
* @param pageSize
* @return
*/
public Page<HyInspectionSettingDO> getInspectionSettingPage(Integer pageNum, Integer pageSize){
PageHelper.startPage(pageNum, pageSize);
Page<HyInspectionSettingDO> resultPage = hyInspectionSettingMapper.getInspectionSettingPage();
return resultPage;
}
/**
* 获取稽查详情
* @param inspectionSettingId
* @return
*/
public HyInspectionSettingDO getInspectionSettingDetail(Long inspectionSettingId){
if(Objects.isNull(inspectionSettingId)){
return null;
}
return hyInspectionSettingMapper.getInspectionSettingDetail(inspectionSettingId);
}
public Long addInspectionSetting(HyInspectionSettingDO param){
hyInspectionSettingMapper.insertSelective(param);
return param.getId();
}
public Integer updateInspectionSetting(HyInspectionSettingDO param){
return hyInspectionSettingMapper.updateByPrimaryKeySelective(param);
}
public List<String> getInspectionUserIds(){
return hyInspectionSettingMapper.getInspectionUserIds();
}
/**
* 获取配置列表
* @param inspectionSettingIds
* @return
*/
public List<HyInspectionSettingDO> getHyInspectionSettingByIds(List<Long> inspectionSettingIds){
if(CollectionUtils.isEmpty(inspectionSettingIds)){
return Lists.newArrayList();
}
return hyInspectionSettingMapper.getHyInspectionSettingByIds(inspectionSettingIds);
}
/**
* 获取用户配置的区域 编辑的时候排除某个配置
* @param inspectionUserId
* @param excludeInspectionSettingId
* @return
*/
public List<HyInspectionSettingDO> getHyInspectionSettingByUserId(String inspectionUserId, Long excludeInspectionSettingId){
if(StringUtils.isBlank(inspectionUserId)){
return Lists.newArrayList();
}
return hyInspectionSettingMapper.getHyInspectionSettingByUserId(inspectionUserId, excludeInspectionSettingId);
}
}

View File

@@ -0,0 +1,100 @@
package com.cool.store.dao;
import com.cool.store.constants.CommonConstants;
import com.cool.store.entity.HyInspectionSettingMappingDO;
import com.cool.store.mapper.HyInspectionSettingMappingMapper;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Repository;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: HyInspectionSettingMappingDAO
* @Description:
* @date 2023-07-18 16:29
*/
@Repository
public class HyInspectionSettingMappingDAO {
@Resource
private HyInspectionSettingMappingMapper hyInspectionSettingMappingMapper;
/**
* 获取区域ids
* @param inspectionSettingId
* @return
*/
public List<Long> getOpenAreaMappingIds(Long inspectionSettingId){
if(Objects.isNull(inspectionSettingId)){
return Lists.newArrayList();
}
return hyInspectionSettingMappingMapper.getOpenAreaMappingIds(inspectionSettingId);
}
/**
* 新增映射关系
* @param inspectionSettingId
* @param openAreaMappingIds
* @return
*/
public Integer addInspectionSettingMapping(Long inspectionSettingId, List<Long> openAreaMappingIds){
if(CollectionUtils.isEmpty(openAreaMappingIds) || Objects.isNull(inspectionSettingId)){
return CommonConstants.ZERO;
}
hyInspectionSettingMappingMapper.deleteInOpenAreaMappingIds(inspectionSettingId, openAreaMappingIds);
List<HyInspectionSettingMappingDO> insertList = new ArrayList<>();
for (Long openAreaMappingId : openAreaMappingIds) {
HyInspectionSettingMappingDO insert = new HyInspectionSettingMappingDO();
insert.setInspectionSettingId(inspectionSettingId);
insert.setOpenAreaMappingId(openAreaMappingId);
insert.setCreateTime(new Date());
insert.setDeleted(Boolean.FALSE);
insertList.add(insert);
}
return hyInspectionSettingMappingMapper.batchInsertSelective(insertList);
}
/**
* 更新映射关系
* @param inspectionSettingId
* @param openAreaMappingIds
* @return
*/
public Integer updateInspectionSettingMapping(Long inspectionSettingId, List<Long> openAreaMappingIds){
hyInspectionSettingMappingMapper.deleteNotInOpenAreaMappingIds(inspectionSettingId, openAreaMappingIds);
return addInspectionSettingMapping(inspectionSettingId, openAreaMappingIds);
}
/**
* 删除映射关系
* @param inspectionSettingId
* @return
*/
public Integer deleteInspectionSettingMapping(Long inspectionSettingId){
if(Objects.isNull(inspectionSettingId)){
return CommonConstants.ZERO;
}
return hyInspectionSettingMappingMapper.deleteInspectionSettingMapping(inspectionSettingId);
}
/**
* 获取冲突的映射关系
* @param inspectionSettingId
* @param openAreaMappingIds
* @return
*/
public List<HyInspectionSettingMappingDO> getConflictInspectionSetting(Long inspectionSettingId, List<Long> openAreaMappingIds){
if(CollectionUtils.isEmpty(openAreaMappingIds)){
return Lists.newArrayList();
}
return hyInspectionSettingMappingMapper.getConflictInspectionSetting(inspectionSettingId, openAreaMappingIds);
}
}

View File

@@ -89,6 +89,14 @@ public class HyOpenAreaInfoDAO {
return hyOpenAreaInfoMapper.selectByIds(ids);
}
public Map<Long, String> getNameMapByIds(List<Long> ids){
if (CollectionUtils.isEmpty(ids)){
return Maps.newHashMap();
}
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoMapper.selectByIds(ids);
return ListUtils.emptyIfNull(hyOpenAreaInfoDOS).stream().collect(Collectors.toMap(k->k.getId(), v->v.getAreaName(), (k1, k2)->k1));
}
public Map<String, String> selectNameMapByIds(List<Long> ids){
if (CollectionUtils.isEmpty(ids)){
return Maps.newHashMap();
@@ -108,4 +116,17 @@ public class HyOpenAreaInfoDAO {
public List<HyOpenAreaInfoDO> getAllOpenArea(){
return hyOpenAreaInfoMapper.getAllOpenArea();
}
/**
* 过滤叶子节点
* @param openAreaIds
* @return 叶子节点id
*/
public List<Long> filterLeafNode(List<Long> openAreaIds){
if(CollectionUtils.isEmpty(openAreaIds)){
return Lists.newArrayList();
}
return hyOpenAreaInfoMapper.filterLeafNode(openAreaIds);
}
}

View File

@@ -108,4 +108,16 @@ public class RegionDAO {
List<String> regionPathList = regionList.stream().map(RegionDO::getRegionPath).collect(Collectors.toList());
return regionMapper.getSubRegionIds(regionPathList);
}
/**
* 获取子部门
* @param regionId
* @return
*/
public List<RegionDO> getSubRegion(String regionId){
if(StringUtils.isBlank(regionId)){
return Lists.newArrayList();
}
return regionMapper.getSubRegion(regionId);
}
}

View File

@@ -0,0 +1,37 @@
package com.cool.store.mapper;
import com.cool.store.entity.HyInspectionDO;
import com.cool.store.request.GetInterviewInspectionListReq;
import com.cool.store.request.GetInterviewInspectionResultListReq;
import com.cool.store.vo.interview.InterviewInspectionHistoryInfo;
import com.cool.store.vo.interview.InterviewInspectionInfo;
import com.cool.store.vo.interview.InterviewInspectionResultVO;
import com.cool.store.vo.interview.InterviewInspectionVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface HyInspectionMapper {
int deleteByPrimaryKey(Long id);
int insert(HyInspectionDO record);
int insertSelective(HyInspectionDO record);
HyInspectionDO selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(HyInspectionDO record);
int updateByPrimaryKey(HyInspectionDO record);
List<InterviewInspectionVO> interviewInspectionGetList(GetInterviewInspectionListReq request);
InterviewInspectionInfo interviewInspectionGetDetail(@Param("id") Long id);
List<InterviewInspectionHistoryInfo> interviewInspectionGetHistoryDetail(@Param("id") Long id);
List<InterviewInspectionResultVO> interviewInspectionResultGetList(GetInterviewInspectionResultListReq request);
}

View File

@@ -0,0 +1,61 @@
package com.cool.store.mapper;
import com.cool.store.entity.HyInspectionSettingDO;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author zhangchenbiao
* @date 2023-07-18 04:27
*/
public interface HyInspectionSettingMapper {
/**
*
* 默认插入方法,只会给有值的字段赋值
* 会对传进来的字段做判空处理如果字段为空则使用数据库默认字段或者null
* dateTime:2023-07-18 04:27
*/
int insertSelective(HyInspectionSettingDO record);
/**
*
* 默认更新方法根据主键更新不会把null值更新到数据库避免覆盖之前有值的
* dateTime:2023-07-18 04:27
*/
int updateByPrimaryKeySelective(HyInspectionSettingDO record);
/**
* 获取稽核区域设置分页
* @return
*/
Page<HyInspectionSettingDO> getInspectionSettingPage();
/**
* 获取稽核详情
* @param inspectionSettingId
* @return
*/
HyInspectionSettingDO getInspectionSettingDetail(@Param("inspectionSettingId") Long inspectionSettingId);
/**
* 获取已经配置的稽核人
* @return
*/
List<String> getInspectionUserIds();
/**
* 根据id批量获取
* @param inspectionSettingIds
* @return
*/
List<HyInspectionSettingDO> getHyInspectionSettingByIds(@Param("inspectionSettingIds") List<Long> inspectionSettingIds);
/**
*
* @param inspectionUserId
* @return
*/
List<HyInspectionSettingDO> getHyInspectionSettingByUserId(@Param("inspectionUserId") String inspectionUserId, @Param("excludeInspectionSettingId") Long excludeInspectionSettingId);
}

View File

@@ -0,0 +1,65 @@
package com.cool.store.mapper;
import com.cool.store.entity.HyInspectionSettingMappingDO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author zhangchenbiao
* @date 2023-07-18 04:28
*/
public interface HyInspectionSettingMappingMapper {
/**
*
* 默认插入方法,只会给有值的字段赋值
* 会对传进来的字段做判空处理如果字段为空则使用数据库默认字段或者null
* dateTime:2023-07-18 04:28
*/
int batchInsertSelective(@Param("insertList") List<HyInspectionSettingMappingDO> insertList);
/**
*
* 默认更新方法根据主键更新不会把null值更新到数据库避免覆盖之前有值的
* dateTime:2023-07-18 04:28
*/
int updateByPrimaryKeySelective(HyInspectionSettingMappingDO record);
/**
* 获取区域ids
* @param inspectionSettingId
* @return
*/
List<Long> getOpenAreaMappingIds(@Param("inspectionSettingId") Long inspectionSettingId);
/**
* 删除不在的城市
* @param inspectionSettingId
* @param openAreaMappingIds
* @return
*/
Integer deleteNotInOpenAreaMappingIds(@Param("inspectionSettingId") Long inspectionSettingId, @Param("openAreaMappingIds") List<Long> openAreaMappingIds);
/**
* 删除
* @param inspectionSettingId
* @return
*/
Integer deleteInspectionSettingMapping(@Param("inspectionSettingId") Long inspectionSettingId);
/**
*
* @param inspectionSettingId
* @param openAreaMappingIds
* @return
*/
List<HyInspectionSettingMappingDO> getConflictInspectionSetting(@Param("inspectionSettingId") Long inspectionSettingId, @Param("openAreaMappingIds") List<Long> openAreaMappingIds);
/**
* 删除
* @param excludeInspectionSettingId
* @param openAreaMappingIds
* @return
*/
Integer deleteInOpenAreaMappingIds(@Param("excludeInspectionSettingId") Long excludeInspectionSettingId, @Param("openAreaMappingIds") List<Long> openAreaMappingIds);
}

View File

@@ -0,0 +1,19 @@
package com.cool.store.mapper;
import com.cool.store.entity.HyInterviewInspectionLogDO;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface HyInterviewInspectionLogMapper {
int deleteByPrimaryKey(Long id);
int insert(HyInterviewInspectionLogDO record);
int insertSelective(HyInterviewInspectionLogDO record);
HyInterviewInspectionLogDO selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(HyInterviewInspectionLogDO record);
int updateByPrimaryKey(HyInterviewInspectionLogDO record);
}

View File

@@ -111,5 +111,11 @@ public interface HyOpenAreaInfoMapper {
*/
List<HyOpenAreaInfoDO> getAllOpenArea();
/**
* 过滤叶子节点
* @param openAreaIds
* @return
*/
List<Long> filterLeafNode(@Param("openAreaIds") List<Long> openAreaIds);
}

View File

@@ -78,4 +78,11 @@ public interface RegionMapper {
* @return
*/
List<String> getSubRegionIds(@Param("regionPathList") List<String> regionPathList);
/**
* 获取子部门
* @param regionId
* @return
*/
List<RegionDO> getSubRegion(@Param("regionId") String regionId);
}

View File

@@ -37,9 +37,6 @@
<foreach collection="recordList" item="record" separator=";">
insert into enterprise_user
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="record.id != null">
id,
</if>
<if test="record.userId != null">
user_id,
</if>
@@ -99,9 +96,6 @@
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="record.id != null">
#{record.id},
</if>
<if test="record.userId != null">
#{record.userId},
</if>

View File

@@ -0,0 +1,213 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cool.store.mapper.HyInspectionMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.HyInspectionDO">
<constructor>
<idArg column="id" javaType="java.lang.Long" />
<arg column="interview_plan_id" javaType="java.lang.Long" />
<arg column="operator_user_id" javaType="java.lang.String" />
<arg column="type" javaType="java.lang.Integer" />
<arg column="status" javaType="java.lang.Integer" />
<arg column="files" javaType="java.lang.String" />
<arg column="description" javaType="java.lang.String" />
<arg column="inspection_time" javaType="java.lang.String" />
<arg column="creator" javaType="java.lang.String" />
<arg column="updator" javaType="java.lang.String" />
<arg column="remark" javaType="java.lang.String" />
<arg column="deleted" javaType="java.lang.Boolean" />
<arg column="create_time" javaType="java.lang.String" />
<arg column="update_time" javaType="java.lang.String" />
</constructor>
</resultMap>
<sql id="Base_Column_List">
id, interview_plan_id, operator_user_id, type, status, files, description, inspection_time,
creator, updator, remark, deleted, create_time, update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from hy_inspection
where id = #{id}
</select>
<select id="interviewInspectionGetList" resultType="com.cool.store.vo.interview.InterviewInspectionVO">
</select>
<select id="interviewInspectionGetDetail" resultType="com.cool.store.vo.interview.InterviewInspectionInfo">
</select>
<select id="interviewInspectionGetHistoryDetail" resultType="com.cool.store.vo.interview.InterviewInspectionHistoryInfo">
</select>
<select id="interviewInspectionResultGetList" resultType="com.cool.store.vo.interview.InterviewInspectionResultVO">
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from hy_inspection
where id = #{id}
</delete>
<insert id="insert" parameterType="com.cool.store.entity.HyInspectionDO">
insert into hy_inspection (id, interview_plan_id, operator_user_id,
type, status, files,
description, inspection_time, creator,
updator, remark, deleted,
create_time, update_time)
values (#{id}, #{interviewPlanId}, #{operatorUserId},
#{type}, #{status}, #{files},
#{description}, #{inspectionTime}, #{creator},
#{updator}, #{remark}, #{deleted},
#{createTime}, #{updateTime})
</insert>
<insert id="insertSelective" parameterType="com.cool.store.entity.HyInspectionDO">
insert into hy_inspection
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="interviewPlanId != null">
interview_plan_id,
</if>
<if test="operatorUserId != null">
operator_user_id,
</if>
<if test="type != null">
type,
</if>
<if test="status != null">
status,
</if>
<if test="files != null">
files,
</if>
<if test="description != null">
description,
</if>
<if test="inspectionTime != null">
inspection_time,
</if>
<if test="creator != null">
creator,
</if>
<if test="updator != null">
updator,
</if>
<if test="remark != null">
remark,
</if>
<if test="deleted != null">
deleted,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id},
</if>
<if test="interviewPlanId != null">
#{interviewPlanId},
</if>
<if test="operatorUserId != null">
#{operatorUserId},
</if>
<if test="type != null">
#{type},
</if>
<if test="status != null">
#{status},
</if>
<if test="files != null">
#{files},
</if>
<if test="description != null">
#{description},
</if>
<if test="inspectionTime != null">
#{inspectionTime},
</if>
<if test="creator != null">
#{creator},
</if>
<if test="updator != null">
#{updator},
</if>
<if test="remark != null">
#{remark},
</if>
<if test="deleted != null">
#{deleted},
</if>
<if test="createTime != null">
#{createTime},
</if>
<if test="updateTime != null">
#{updateTime},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.cool.store.entity.HyInspectionDO">
update hy_inspection
<set>
<if test="interviewPlanId != null">
interview_plan_id = #{interviewPlanId},
</if>
<if test="operatorUserId != null">
operator_user_id = #{operatorUserId},
</if>
<if test="type != null">
type = #{type},
</if>
<if test="status != null">
status = #{status},
</if>
<if test="files != null">
files = #{files},
</if>
<if test="description != null">
description = #{description},
</if>
<if test="inspectionTime != null">
inspection_time = #{inspectionTime},
</if>
<if test="creator != null">
creator = #{creator},
</if>
<if test="updator != null">
updator = #{updator},
</if>
<if test="remark != null">
remark = #{remark},
</if>
<if test="deleted != null">
deleted = #{deleted},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
</set>
where id = #{id}
</update>
<update id="updateByPrimaryKey" parameterType="com.cool.store.entity.HyInspectionDO">
update hy_inspection
set interview_plan_id = #{interviewPlanId},
operator_user_id = #{operatorUserId},
type = #{type},
status = #{status},
files = #{files},
description = #{description},
inspection_time = #{inspectionTime},
creator = #{creator},
updator = #{updator},
remark = #{remark},
deleted = #{deleted},
create_time = #{createTime},
update_time = #{updateTime}
where id = #{id}
</update>
</mapper>

View File

@@ -0,0 +1,138 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cool.store.mapper.HyInspectionSettingMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.HyInspectionSettingDO">
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="zone_name" jdbcType="VARCHAR" property="zoneName"/>
<result column="inspection_user_id" jdbcType="VARCHAR" property="inspectionUserId"/>
<result column="create_user_id" jdbcType="VARCHAR" property="createUserId"/>
<result column="update_user_id" jdbcType="VARCHAR" property="updateUserId"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="deleted" jdbcType="BIT" property="deleted" />
</resultMap>
<sql id="Base_Column_List">
id, zone_name, inspection_user_id, create_user_id, update_user_id, create_time, update_time, deleted
</sql>
<insert id="insertSelective" keyColumn="id" keyProperty="id" useGeneratedKeys="true">
insert into hy_inspection_setting
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="zoneName != null">
zone_name,
</if>
<if test="inspectionUserId != null">
inspection_user_id,
</if>
<if test="createUserId != null">
create_user_id,
</if>
<if test="updateUserId != null">
update_user_id,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="deleted != null">
deleted,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="zoneName != null">
#{zoneName},
</if>
<if test="inspectionUserId != null">
#{inspectionUserId},
</if>
<if test="createUserId != null">
#{createUserId},
</if>
<if test="updateUserId != null">
#{updateUserId},
</if>
<if test="createTime != null">
#{createTime},
</if>
<if test="updateTime != null">
#{updateTime},
</if>
<if test="deleted != null">
#{deleted},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective">
update hy_inspection_setting
<set>
<if test="zoneName != null">
zone_name = #{zoneName},
</if>
<if test="inspectionUserId != null">
inspection_user_id = #{inspectionUserId},
</if>
<if test="createUserId != null">
create_user_id = #{createUserId},
</if>
<if test="updateUserId != null">
update_user_id = #{updateUserId},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
<if test="deleted != null">
deleted = #{deleted},
</if>
</set>
where id = #{id}
</update>
<select id="getInspectionSettingPage" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from
hy_inspection_setting
where
deleted = '0'
order by create_time desc
</select>
<select id="getInspectionSettingDetail" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from
hy_inspection_setting
where
deleted = '0' and id = #{inspectionSettingId}
</select>
<select id="getInspectionUserIds" resultType="string">
select inspection_user_id from hy_inspection_setting where deleted = '0'
</select>
<select id="getHyInspectionSettingByIds" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from
hy_inspection_setting
where
deleted = '0' and id in <foreach collection="inspectionSettingIds" item="inspectionSettingId" open="(" close=")" separator=",">#{inspectionSettingId}</foreach>
</select>
<select id="getHyInspectionSettingByUserId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from
hy_inspection_setting
where
deleted = '0' and inspection_user_id = #{inspectionUserId}
<if test="excludeInspectionSettingId != null">
and id != #{excludeInspectionSettingId}
</if>
</select>
</mapper>

View File

@@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cool.store.mapper.HyInspectionSettingMappingMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.HyInspectionSettingMappingDO">
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="inspection_setting_id" jdbcType="BIGINT" property="inspectionSettingId"/>
<result column="open_area_mapping_id" jdbcType="BIGINT" property="openAreaMappingId"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="deleted" jdbcType="BIT" property="deleted" />
</resultMap>
<sql id="Base_Column_List">
id, inspection_setting_id, open_area_mapping_id, create_time, update_time, deleted
</sql>
<insert id="batchInsertSelective">
<foreach collection="insertList" item="record" separator=";">
insert into hy_inspection_setting_mapping
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="record.inspectionSettingId != null">
inspection_setting_id,
</if>
<if test="record.openAreaMappingId != null">
open_area_mapping_id,
</if>
<if test="record.createTime != null">
create_time,
</if>
<if test="record.updateTime != null">
update_time,
</if>
<if test="record.deleted != null">
deleted,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="record.inspectionSettingId != null">
#{record.inspectionSettingId},
</if>
<if test="record.openAreaMappingId != null">
#{record.openAreaMappingId},
</if>
<if test="record.createTime != null">
#{record.createTime},
</if>
<if test="record.updateTime != null">
#{record.updateTime},
</if>
<if test="record.deleted != null">
#{record.deleted},
</if>
</trim>
ON DUPLICATE KEY UPDATE update_time = now(), deleted = values(deleted)
</foreach>
</insert>
<update id="updateByPrimaryKeySelective">
update hy_inspection_setting_mapping
<set>
<if test="inspectionSettingId != null">
inspection_setting_id = #{inspectionSettingId},
</if>
<if test="openAreaMappingId != null">
open_area_mapping_id = #{openAreaMappingId},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
<if test="deleted != null">
deleted = #{deleted},
</if>
</set>
where id = #{id}
</update>
<select id="getOpenAreaMappingIds" resultType="long">
select open_area_mapping_id from hy_inspection_setting_mapping where inspection_setting_id = #{inspectionSettingId} and deleted = '0'
</select>
<update id="deleteNotInOpenAreaMappingIds">
update
hy_inspection_setting_mapping
set
deleted = '1' , update_time = now()
where
inspection_setting_id = #{inspectionSettingId} and open_area_mapping_id not in
<foreach collection="openAreaMappingIds" separator="," open="(" close=")" item="openAreaMappingId" >#{openAreaMappingId}</foreach>
</update>
<update id="deleteInspectionSettingMapping">
update hy_inspection_setting_mapping set deleted = '1' , update_time = now() where inspection_setting_id = #{inspectionSettingId}
</update>
<select id="getConflictInspectionSetting" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from
hy_inspection_setting_mapping
where
deleted = '0'
and
open_area_mapping_id in
<foreach collection="openAreaMappingIds" separator="," open="(" close=")" item="openAreaMappingId" >#{openAreaMappingId}</foreach>
<if test="inspectionSettingId != null">
and inspection_setting_id != #{inspectionSettingId}
</if>
</select>
<update id="deleteInOpenAreaMappingIds">
update
hy_inspection_setting_mapping
set
deleted = '1' , update_time = now()
where
open_area_mapping_id in <foreach collection="openAreaMappingIds" separator="," open="(" close=")" item="openAreaMappingId" >#{openAreaMappingId}</foreach>
<if test="excludeInspectionSettingId != null">
and inspection_setting_id != #{excludeInspectionSettingId}
</if>
</update>
</mapper>

View File

@@ -3,7 +3,7 @@
<mapper namespace="com.cool.store.mapper.HyIntendDevelopementMappingMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.HyIntendDevelopementMappingDO">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="mapping_id" jdbcType="VARCHAR" property="mappingId" />
<result column="mapping_id" jdbcType="BIGINT" property="mappingId" />
<result column="open_area_mapping_id" jdbcType="VARCHAR" property="openAreaMappingId" />
<result column="type" jdbcType="VARCHAR" property="type" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />

View File

@@ -0,0 +1,155 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cool.store.mapper.HyInterviewInspectionLogMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.HyInterviewInspectionLogDO">
<constructor>
<idArg column="id" javaType="java.lang.Long" />
<arg column="operator_user_id" javaType="java.lang.String" />
<arg column="inspection_id" javaType="java.lang.Long" />
<arg column="operation_type" javaType="java.lang.Byte" />
<arg column="description" javaType="java.lang.String" />
<arg column="files" javaType="java.lang.String" />
<arg column="operation_time" javaType="java.lang.String" />
<arg column="remark" javaType="java.lang.String" />
<arg column="create_time" javaType="java.lang.String" />
<arg column="update_time" javaType="java.lang.String" />
</constructor>
</resultMap>
<sql id="Base_Column_List">
id, operator_user_id, inspection_id, operation_type, description, files, operation_time,
remark, create_time, update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from hy_interview_inspection_log
where id = #{id}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from hy_interview_inspection_log
where id = #{id}
</delete>
<insert id="insert" parameterType="com.cool.store.entity.HyInterviewInspectionLogDO">
insert into hy_interview_inspection_log (id, operator_user_id, inspection_id,
operation_type, description, files,
operation_time, remark, create_time,
update_time)
values (#{id}, #{operatorUserId}, #{inspectionId},
#{operationType}, #{description}, #{files},
#{operationTime}, #{remark}, #{createTime},
#{updateTime})
</insert>
<insert id="insertSelective" parameterType="com.cool.store.entity.HyInterviewInspectionLogDO">
insert into hy_interview_inspection_log
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="operatorUserId != null">
operator_user_id,
</if>
<if test="inspectionId != null">
inspection_id,
</if>
<if test="operationType != null">
operation_type,
</if>
<if test="description != null">
description,
</if>
<if test="files != null">
files,
</if>
<if test="operationTime != null">
operation_time,
</if>
<if test="remark != null">
remark,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id},
</if>
<if test="operatorUserId != null">
#{operatorUserId},
</if>
<if test="inspectionId != null">
#{inspectionId},
</if>
<if test="operationType != null">
#{operationType},
</if>
<if test="description != null">
#{description},
</if>
<if test="files != null">
#{files},
</if>
<if test="operationTime != null">
#{operationTime},
</if>
<if test="remark != null">
#{remark},
</if>
<if test="createTime != null">
#{createTime},
</if>
<if test="updateTime != null">
#{updateTime},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.cool.store.entity.HyInterviewInspectionLogDO">
update hy_interview_inspection_log
<set>
<if test="operatorUserId != null">
operator_user_id = #{operatorUserId},
</if>
<if test="inspectionId != null">
inspection_id = #{inspectionId},
</if>
<if test="operationType != null">
operation_type = #{operationType},
</if>
<if test="description != null">
description = #{description},
</if>
<if test="files != null">
files = #{files},
</if>
<if test="operationTime != null">
operation_time = #{operationTime},
</if>
<if test="remark != null">
remark = #{remark},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
</set>
where id = #{id}
</update>
<update id="updateByPrimaryKey" parameterType="com.cool.store.entity.HyInterviewInspectionLogDO">
update hy_interview_inspection_log
set operator_user_id = #{operatorUserId},
inspection_id = #{inspectionId},
operation_type = #{operationType},
description = #{description},
files = #{files},
operation_time = #{operationTime},
remark = #{remark},
create_time = #{createTime},
update_time = #{updateTime}
where id = #{id}
</update>
</mapper>

View File

@@ -285,4 +285,13 @@
select <include refid="Base_Column_List"/> from hy_open_area_info
</select>
<select id="filterLeafNode" resultType="long">
select
id
from
hy_open_area_info
where
deleted = '0' and province_city_flag = '0' and id in <foreach collection="openAreaIds" item="openAreaId" separator="," open="(" close=")">#{openAreaId}</foreach>
</select>
</mapper>

View File

@@ -11,9 +11,9 @@
<result column="leader_user_id" jdbcType="VARCHAR" property="leaderUserId"/>
<result column="order_num" jdbcType="INTEGER" property="orderNum"/>
<result column="third_dept_id" jdbcType="VARCHAR" property="thirdDeptId"/>
<result column="create_time" jdbcType="BIGINT" property="createTime"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="create_name" jdbcType="VARCHAR" property="createName"/>
<result column="update_time" jdbcType="BIGINT" property="updateTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="update_name" jdbcType="VARCHAR" property="updateName"/>
<result column="deleted" jdbcType="BIT" property="deleted"/>
</resultMap>
@@ -106,7 +106,7 @@
#{record.deleted},
</if>
</trim>
ON DUPLICATE KEY UPDATE region_id = values(region_id), name = values(name), parent_id = values(parent_id), region_path = values(region_path), leader_user_id = values(leader_user_id), order_num = values(order_num), third_dept_id = values(third_dept_id), update_time = UNIX_TIMESTAMP(), deleted = values(deleted)
ON DUPLICATE KEY UPDATE region_id = values(region_id), name = values(name), parent_id = values(parent_id), region_path = values(region_path), leader_user_id = values(leader_user_id), order_num = values(order_num), third_dept_id = values(third_dept_id), update_time = now(), deleted = values(deleted)
</foreach>
</insert>
<update id="updateByPrimaryKeySelective">
@@ -156,7 +156,7 @@
</update>
<update id="deleteNotExistRegion">
update region set deleted = 1 , update_time = UNIX_TIMESTAMP() where region_id not in <foreach collection="regionIds" separator="," item="regionId" open="(" close=")"> #{regionId}</foreach>
update region set deleted = 1 , update_time = now() where region_id not in <foreach collection="regionIds" separator="," item="regionId" open="(" close=")"> #{regionId}</foreach>
</update>
<select id="getRegionByRegionIds" resultMap="BaseResultMap">
@@ -208,4 +208,13 @@
<select id="getSubRegionIds" resultType="string">
select region_id from region where deleted = 0 and <foreach collection="regionPathList" item="regionPath" open="(" close=")" separator="or"> region_path like concat(#{regionPath}, '%')</foreach>
</select>
<select id="getSubRegion" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from
region
where
deleted = 0 and parent_id = #{regionId}
</select>
</mapper>

View File

@@ -8,9 +8,9 @@
<result column="type" jdbcType="INTEGER" property="type"/>
<result column="deleted" jdbcType="BIT" property="deleted"/>
<result column="create_id" jdbcType="VARCHAR" property="createId"/>
<result column="create_time" jdbcType="BIGINT" property="createTime"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_id" jdbcType="VARCHAR" property="updateId"/>
<result column="update_time" jdbcType="BIGINT" property="updateTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
</resultMap>
<sql id="Base_Column_List">
id, region_id, user_id, type, deleted, create_id, create_time, update_id, update_time
@@ -131,15 +131,15 @@
</update>
<select id="getUserListByRegionId" resultType="string">
select user_id from user_region_mapping where region_id = #{regionId}
select user_id from user_region_mapping where region_id = #{regionId} and deleted = '0'
</select>
<select id="getRegionIdsByUserId" resultType="string">
select region_id from user_region_mapping where user_id = #{userId}
select region_id from user_region_mapping where user_id = #{userId} and deleted = '0'
</select>
<select id="getUserListByRegionIds" resultType="string">
select user_id from user_region_mapping where region_id in <foreach collection="regionIds" item="regionId" open="(" close=")" separator=",">#{regionId}</foreach>
select user_id from user_region_mapping where deleted = '0' and region_id in <foreach collection="regionIds" item="regionId" open="(" close=")" separator=",">#{regionId}</foreach>
</select>
</mapper>

View File

@@ -3,4 +3,4 @@ jdbc.url = jdbc:mysql://dingpushcoolcollege.mysql.rds.aliyuncs.com:3306/coolcoll
jdbc.user= coolstore
jdbc.password = CSCErYcXniNYm7bT
table.name = sys_menu
table.name = hy_inspection_setting_mapping

View File

@@ -34,7 +34,7 @@ public class EnterpriseUserDTO implements Serializable {
private String remark;
@ApiModelProperty("用户主键id")
private String id;
private Long id;
@ApiModelProperty("钉钉用户id")
private String userId;
@@ -106,7 +106,6 @@ public class EnterpriseUserDTO implements Serializable {
List<EnterpriseUserDO> resultList = new ArrayList<>();
for (EnterpriseUserDTO user : userList) {
EnterpriseUserDO enterpriseUserDO = new EnterpriseUserDO();
enterpriseUserDO.setId(UUIDUtils.get32UUID());
enterpriseUserDO.setUserId(user.getUserId());
enterpriseUserDO.setName(user.getName());
enterpriseUserDO.setRemark(user.getRemark());
@@ -155,7 +154,6 @@ public class EnterpriseUserDTO implements Serializable {
public static EnterpriseUserDO transUserDtoToDo(EnterpriseUserDTO user, Map<String, String> regionPathMap, Multimap<String, String> leaderDeptMap, FSEventTypeEnum eventType) {
EnterpriseUserDO enterpriseUserDO = new EnterpriseUserDO();
enterpriseUserDO.setId(UUIDUtils.get32UUID());
enterpriseUserDO.setUserId(user.getUserId());
enterpriseUserDO.setName(user.getName());
enterpriseUserDO.setRemark(user.getRemark());

View File

@@ -205,8 +205,8 @@ public class SysDepartmentDTO {
region.setLeaderUserId(dept.getLeaderUserId());
region.setOrderNum(dept.getDepartOrder());
region.setThirdDeptId(dept.getId());
region.setCreateTime(System.currentTimeMillis());
region.setUpdateTime(System.currentTimeMillis());
region.setCreateTime(new Date());
region.setUpdateTime(new Date());
List<String> pathIds = new ArrayList<>();
pathIds.add(region.getRegionId());
String parentId = parentMap.get(region.getRegionId());
@@ -238,8 +238,8 @@ public class SysDepartmentDTO {
region.setLeaderUserId(dept.getLeaderUserId());
region.setOrderNum(dept.getDepartOrder());
region.setThirdDeptId(dept.getId());
region.setCreateTime(System.currentTimeMillis());
region.setUpdateTime(System.currentTimeMillis());
region.setCreateTime(new Date());
region.setUpdateTime(new Date());
String regionPath = parentRegion.getRegionPath() + region.getRegionId() + CommonConstants.PATH_SPILT;
region.setRegionPath(regionPath);
region.setDeleted(Boolean.FALSE);
@@ -260,8 +260,8 @@ public class SysDepartmentDTO {
region.setLeaderUserId(dept.getLeaderUserId());
region.setOrderNum(dept.getDepartOrder());
region.setThirdDeptId(dept.getId());
region.setCreateTime(System.currentTimeMillis());
region.setUpdateTime(System.currentTimeMillis());
region.setCreateTime(new Date());
region.setUpdateTime(new Date());
region.setDeleted(Boolean.FALSE);
if(CollectionUtils.isNotEmpty(dept.getDeptManagerUseridList())){
for (String leader : dept.getDeptManagerUseridList()) {

View File

@@ -0,0 +1,25 @@
package com.cool.store.dto.inspection.interview;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author Fun Li
* @version 1.0
* @date 2023/7/19 17:47
*/
@Data
public class InspectionRevocationDTO {
@ApiModelProperty("稽核信息Id")
private Long inspectionId;
@ApiModelProperty("操作说明")
private String description;
@ApiModelProperty("多凭证文件链接集合")
private List<String> files;
}

View File

@@ -0,0 +1,29 @@
package com.cool.store.dto.inspection.interview;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author Fun Li
* @version 1.0
* @date 2023/7/19 17:05
*/
@Data
public class InspectionSubmissionDTO {
@ApiModelProperty(value = "稽核信息表id", required = true)
private Long inspectionId;
@ApiModelProperty(value = "是否合格0为不合格1为合格", required = true)
private Integer whetherPass;
@ApiModelProperty("稽核说明,仅当不合格时为必传项")
private String description;
@ApiModelProperty("稽核多凭证文件链接")
private List<String> files;
}

View File

@@ -0,0 +1,23 @@
package com.cool.store.dto.inspection.setting;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author zhangchenbiao
* @FileName: DeleteInspectionSettingDTO
* @Description: 删除稽核区域设置
* @date 2023-07-17 14:41
*/
@Data
public class CheckInspectionSettingDTO {
@ApiModelProperty("id")
private Long inspectionSettingId;
@ApiModelProperty("归属地ids")
private List<Long> openAreaMappingIds;
}

View File

@@ -19,7 +19,7 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
public class EnterpriseUserDO implements Serializable {
@ApiModelProperty("用户主键id")
private String id;
private Long id;
@ApiModelProperty("用户id")
private String userId;

View File

@@ -0,0 +1,57 @@
package com.cool.store.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HyInspectionDO {
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("面试计划Id")
private Long interviewPlanId;
@ApiModelProperty("稽核人user_id")
private String operatorUserId;
@ApiModelProperty("稽核类型0面试稽核后续可能有其他稽核")
private Integer type;
@ApiModelProperty("稽核状态0为未稽核1为合格2为不合格")
private Integer status;
@ApiModelProperty("多个凭证文件(以英文逗号分隔)")
private String files;
@ApiModelProperty("稽核说明")
private String description;
@ApiModelProperty("稽核时间")
private String inspectionTime;
@ApiModelProperty("enterprise_user.user_id创建人")
private String creator;
@ApiModelProperty("enterprise_user.user_id修改人")
private String updator;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("是否删除0表示未删除1表示删除")
private Boolean deleted;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("修改时间")
private String updateTime;
}

View File

@@ -0,0 +1,44 @@
package com.cool.store.entity;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
* @author zhangchenbiao
* @date 2023-07-18 04:27
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HyInspectionSettingDO implements Serializable {
@ApiModelProperty("主键id")
private Long id;
@ApiModelProperty("区域名称")
private String zoneName;
@ApiModelProperty("关联稽核人user_id")
private String inspectionUserId;
@ApiModelProperty("新建人ID")
private String createUserId;
@ApiModelProperty("更新人ID")
private String updateUserId;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("修改时间")
private Date updateTime;
@ApiModelProperty("删除标识")
private Boolean deleted;
}

View File

@@ -0,0 +1,38 @@
package com.cool.store.entity;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
* @author zhangchenbiao
* @date 2023-07-18 04:28
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HyInspectionSettingMappingDO implements Serializable {
@ApiModelProperty("主键id")
private Long id;
@ApiModelProperty("稽核区域配置表id,hy_inspection_setting.id")
private Long inspectionSettingId;
@ApiModelProperty("hy_open_area_info.id")
private Long openAreaMappingId;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("修改时间")
private Date updateTime;
@ApiModelProperty("删除标识")
private Boolean deleted;
}

View File

@@ -22,7 +22,7 @@ public class HyIntendDevelopementMappingDO implements Serializable {
private Long id;
@ApiModelProperty("hy_intend_developement_zone_info.id")
private String mappingId;
private Long mappingId;
@ApiModelProperty("hy_open_area_info.id或者区域ID")
private String openAreaMappingId;

View File

@@ -0,0 +1,44 @@
package com.cool.store.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HyInterviewInspectionLogDO {
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("enterprise_user.user_id操作人用户id")
private String operatorUserId;
@ApiModelProperty("稽核信息表id(hy_inspection.id)")
private Long inspectionId;
@ApiModelProperty("操作类型0为合格1为不合格2为撤销")
private Integer operationType;
@ApiModelProperty("操作说明")
private String description;
@ApiModelProperty("多个凭证文件,以英文逗号分隔")
private String files;
@ApiModelProperty("操作时间")
private String operationTime;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("修改时间")
private String updateTime;
}

View File

@@ -2,6 +2,8 @@ package com.cool.store.entity;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -45,13 +47,13 @@ public class RegionDO implements Serializable {
private String thirdDeptId;
@ApiModelProperty("创建时间")
private Long createTime;
private Date createTime;
@ApiModelProperty("创建人")
private String createName;
@ApiModelProperty("更新时间")
private Long updateTime;
private Date updateTime;
@ApiModelProperty("更新人")
private String updateName;

View File

@@ -8,6 +8,7 @@ import com.google.common.collect.Lists;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -47,13 +48,13 @@ public class UserRegionMappingDO implements Serializable {
private String createId;
@ApiModelProperty("创建时间")
private Long createTime;
private Date createTime;
@ApiModelProperty("更新人")
private String updateId;
@ApiModelProperty("更新时间")
private Long updateTime;
private Date updateTime;
public static List<UserRegionMappingDO> convertSyncDO(String regionId, List<EnterpriseUserDTO> departmentUsers){
if(CollectionUtils.isEmpty(departmentUsers)){
@@ -65,8 +66,8 @@ public class UserRegionMappingDO implements Serializable {
userRegion.setRegionId(regionId);
userRegion.setUserId(departmentUser.getUserId());
userRegion.setType(DataSourceEnum.SYNC.getCode());
userRegion.setCreateTime(System.currentTimeMillis());
userRegion.setUpdateTime(System.currentTimeMillis());
userRegion.setCreateTime(new Date());
userRegion.setUpdateTime(new Date());
userRegion.setDeleted(Boolean.FALSE);
resultList.add(userRegion);
}
@@ -83,8 +84,8 @@ public class UserRegionMappingDO implements Serializable {
userRegion.setRegionId(regionId);
userRegion.setUserId(userId);
userRegion.setType(DataSourceEnum.SYNC.getCode());
userRegion.setCreateTime(System.currentTimeMillis());
userRegion.setUpdateTime(System.currentTimeMillis());
userRegion.setCreateTime(new Date());
userRegion.setUpdateTime(new Date());
userRegion.setDeleted(Boolean.FALSE);
resultList.add(userRegion);
}
@@ -111,8 +112,8 @@ public class UserRegionMappingDO implements Serializable {
userRegion.setRegionId(split[split.length-1]);
userRegion.setUserId(user.getUserId());
userRegion.setType(DataSourceEnum.SYNC.getCode());
userRegion.setCreateTime(System.currentTimeMillis());
userRegion.setUpdateTime(System.currentTimeMillis());
userRegion.setCreateTime(new Date());
userRegion.setUpdateTime(new Date());
userRegion.setDeleted(Boolean.FALSE);
resultList.add(userRegion);
}

View File

@@ -0,0 +1,44 @@
package com.cool.store.request;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author: hxd
* @Date: 2023-06-06 15:50
* @Description:
*/
@Data
@ApiModel
public class GetInterviewInspectionListReq extends PageBasicInfo {
@ApiModelProperty("搜索类型")
private String searchType;
@ApiModelProperty("搜索内容")
private String searchContent;
@ApiModelProperty("稽核状态0为未稽核1为合格2为不合格")
private Integer status;
@ApiModelProperty("意向开店区域")
private String wantShopArea;
@ApiModelProperty("面试开始时间")
private String startTime;
@ApiModelProperty("面试结束时间")
private String endTime;
private String userId;
}

View File

@@ -0,0 +1,41 @@
package com.cool.store.request;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author: hxd
* @Date: 2023-06-06 15:50
* @Description:
*/
@Data
@ApiModel
public class GetInterviewInspectionResultListReq extends PageBasicInfo {
@ApiModelProperty("搜索类型")
private String searchType;
@ApiModelProperty("搜索内容")
private String searchContent;
@ApiModelProperty("稽核状态0为未稽核1为合格2为不合格")
private Integer status;
@ApiModelProperty("意向开店区域")
private String wantShopArea;
@ApiModelProperty("面试开始时间")
private String startTime;
@ApiModelProperty("面试结束时间")
private String endTime;
}

View File

@@ -0,0 +1,52 @@
package com.cool.store.vo.inspection.setting;
import com.cool.store.entity.HyInspectionSettingDO;
import com.cool.store.entity.HyInspectionSettingMappingDO;
import com.google.common.collect.Lists;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.collections4.CollectionUtils;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @author zhangchenbiao
* @FileName: InspectionSettingPageVO
* @Description:
* @date 2023-07-17 14:32
*/
@Data
public class InspectionSettingCheckVO {
@ApiModelProperty("区域名称")
private String zoneName;
@ApiModelProperty("省市区")
private String areaName;
@ApiModelProperty("稽核人名称")
private String inspectionUsername;
public static List<InspectionSettingCheckVO> convertVO(List<HyInspectionSettingMappingDO> conflictInspectionSetting, List<HyInspectionSettingDO> inspectionSettingList, Map<String, String> userNameMap, Map<Long, String> areaNameMap){
if(CollectionUtils.isEmpty(conflictInspectionSetting) || CollectionUtils.isEmpty(inspectionSettingList)){
return Lists.newArrayList();
}
Map<Long, HyInspectionSettingDO> inspectionSettingMap = inspectionSettingList.stream().collect(Collectors.toMap(k -> k.getId(), Function.identity()));
List<InspectionSettingCheckVO> resultList = new ArrayList<>();
for (HyInspectionSettingMappingDO hyInspectionSettingMapping : conflictInspectionSetting) {
HyInspectionSettingDO inspectionSetting = inspectionSettingMap.get(hyInspectionSettingMapping.getInspectionSettingId());
if(Objects.isNull(inspectionSetting)){
continue;
}
InspectionSettingCheckVO inspectionSettingCheck = new InspectionSettingCheckVO();
inspectionSettingCheck.setInspectionUsername(userNameMap.get(inspectionSetting.getInspectionUserId()));
inspectionSettingCheck.setZoneName(inspectionSetting.getZoneName());
inspectionSettingCheck.setAreaName(areaNameMap.get(hyInspectionSettingMapping.getOpenAreaMappingId()));
resultList.add(inspectionSettingCheck);
}
return resultList;
}
}

View File

@@ -1,10 +1,12 @@
package com.cool.store.vo.inspection.setting;
import com.cool.store.entity.HyInspectionSettingDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* @author zhangchenbiao
@@ -25,9 +27,22 @@ public class InspectionSettingDetailVO {
private String inspectionUserId;
@ApiModelProperty("稽核人名称")
private String inspectionUsername;
private String inspectionUserName;
@ApiModelProperty("归属地ids")
private List<Long> openAreaMappingIds;
public static InspectionSettingDetailVO convertVO(HyInspectionSettingDO param, String inspectionUserName, List<Long> openAreaMappingIds){
if(Objects.isNull(param)){
return null;
}
InspectionSettingDetailVO result = new InspectionSettingDetailVO();
result.setInspectionSettingId(param.getId());
result.setZoneName(param.getZoneName());
result.setInspectionUserId(param.getInspectionUserId());
result.setInspectionUserName(inspectionUserName);
result.setOpenAreaMappingIds(openAreaMappingIds);
return result;
}
}

View File

@@ -1,9 +1,16 @@
package com.cool.store.vo.inspection.setting;
import com.cool.store.entity.HyInspectionSettingDO;
import com.github.pagehelper.Page;
import com.google.common.collect.Lists;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.collections4.CollectionUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @author zhangchenbiao
@@ -24,12 +31,36 @@ public class InspectionSettingPageVO {
private String inspectionUserId;
@ApiModelProperty("稽核人名称")
private String inspectionUsername;
private String inspectionUserName;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("更新人名称")
private String updateUsername;
private String updateUserName;
/**
* dto转vo
* @param pageList
* @param userNameMap
* @return
*/
public static List<InspectionSettingPageVO> convert(Page<HyInspectionSettingDO> pageList, Map<String, String> userNameMap){
if(CollectionUtils.isEmpty(pageList)){
return Lists.newArrayList();
}
List<InspectionSettingPageVO> resultList = new ArrayList<>();
for (HyInspectionSettingDO inspectionSetting : pageList) {
InspectionSettingPageVO result = new InspectionSettingPageVO();
result.setInspectionSettingId(inspectionSetting.getId());
result.setZoneName(inspectionSetting.getZoneName());
result.setInspectionUserId(inspectionSetting.getInspectionUserId());
result.setInspectionUserName(userNameMap.get(inspectionSetting.getInspectionUserId()));
result.setUpdateTime(inspectionSetting.getUpdateTime());
result.setUpdateUserName(userNameMap.get(inspectionSetting.getUpdateUserId()));
resultList.add(result);
}
return resultList;
}
}

View File

@@ -0,0 +1,24 @@
package com.cool.store.vo.interview;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* @Author: hxd
* @Date: 2023-06-16 13:19
* @Description:
*/
@Data
@Accessors(chain = true)
@ApiModel(description = "面试稽核历史")
public class GetInterviewInspectionHistoryListVO {
@ApiModelProperty("面试稽核历史列表")
private List<InterviewInspectionHistoryInfo> interviewInspectionHistoryInfos;
}

View File

@@ -0,0 +1,34 @@
package com.cool.store.vo.interview;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @Author: hxd
* @Date: 2023-06-16 13:19
* @Description:
*/
@ApiModel(description = "面试稽核历史详情")
@Data
public class InterviewInspectionHistoryInfo {
@ApiModelProperty(value = "操作人")
private String operatorUser;
@ApiModelProperty(value = "稽核时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date inspectionTime;
@ApiModelProperty(value = "原因")
private String description;
@ApiModelProperty(value = "凭证或者证据")
private List<String> files;
}

View File

@@ -0,0 +1,37 @@
package com.cool.store.vo.interview;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;
import java.util.List;
/**
* @Author: hxd
* @Date: 2023-06-08 16:26
* @Description:
*/
@Data
@Accessors(chain = true)
@ApiModel(description = "面试稽核详情信息")
public class InterviewInspectionInfo {
@ApiModelProperty(value = "稽核人")
private String auditor;
@ApiModelProperty(value = "稽核时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date inspectionTime;
@ApiModelProperty(value = "稽核结果0为未稽核1为合格2为不合格3为撤销")
private Integer status;
@ApiModelProperty(value = "稽核说明")
private String description;
@ApiModelProperty(value = "凭证或者证据")
private List<String> files;
}

View File

@@ -0,0 +1,50 @@
package com.cool.store.vo.interview;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* @Author: HXD
* @Date: 2023-06-08 16:26
* @Description:
*/
@Data
@Accessors(chain = true)
@ApiModel(description = "面试稽核结果信息")
public class InterviewInspectionResultVO {
@ApiModelProperty(value = "被面试人姓名")
private String intervieweeName;
@ApiModelProperty(value = "被面试人手机号")
private String intervieweeMobile;
@ApiModelProperty(value = "意向开店区域")
private String wantShopAreaName;
@ApiModelProperty(value = "面试通过时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date interviewPassTime;
@ApiModelProperty(value = "稽核状态0为未稽核1为合格2为不合格")
private Integer status;
@ApiModelProperty(value = "稽核人姓名")
private String auditorName;
@ApiModelProperty(value = "稽核人电话")
private String auditorMobile;
@ApiModelProperty(value = "稽核时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date inspectionTime;
}

View File

@@ -0,0 +1,60 @@
package com.cool.store.vo.interview;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* @Author: HXD
* @Date: 2023-06-08 16:26
* @Description:
*/
@Data
@Accessors(chain = true)
@ApiModel(description = "面试稽核信息")
public class InterviewInspectionVO {
@ApiModelProperty(value = "面试官姓名")
private String interviewerName;
@ApiModelProperty(value = "面试官手机号")
private String interviewerMobile;
@ApiModelProperty(value = "被面试人姓名")
private String intervieweeName;
@ApiModelProperty(value = "被面试人手机号")
private String intervieweeMobile;
@ApiModelProperty(value = "意向开店区域")
private String wantShopAreaName;
@ApiModelProperty(value = "面试通过时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date interviewPassTime;
@ApiModelProperty(value = "稽核状态0为未稽核1为合格2为不合格")
private Integer status;
@ApiModelProperty(value = "稽核人姓名")
private String auditorName;
@ApiModelProperty(value = "稽核人电话")
private String auditorMobile;
@ApiModelProperty(value = "稽核时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date inspectionTime;
@ApiModelProperty(value = "稽核表id")
private Long id;
@ApiModelProperty(value = "面试计划id")
private Integer interviewPlanId;
}

View File

@@ -98,7 +98,7 @@ public class InterviewVO {
private Integer status;
@ApiModelProperty(value = "面试过程信息视频URL数组", required = true)
private List<String> vedioList;
private List<String> videoList;
@ApiModelProperty(value = "面试过程信息未解析String", required = false)
private String processInfo;

View File

@@ -0,0 +1,89 @@
package com.cool.store.vo.region;
import com.cool.store.entity.EnterpriseUserDO;
import com.cool.store.entity.RegionDO;
import com.google.common.collect.Lists;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: RegionUserAndSubRegionVO
* @Description:
* @date 2023-07-17 19:34
*/
@Data
public class RegionUserAndSubRegionVO {
@ApiModelProperty("区域列表")
private List<RegionInfo> regionList;
@ApiModelProperty("用户列表")
private List<UserInfo> userList;
public RegionUserAndSubRegionVO(List<RegionInfo> regionList, List<UserInfo> userList) {
this.regionList = regionList;
this.userList = userList;
}
public RegionUserAndSubRegionVO() {
this.regionList = Lists.newArrayList();
this.userList = Lists.newArrayList();
}
@Data
public static class RegionInfo{
@ApiModelProperty("区域id")
private String regionId;
@ApiModelProperty("区域名称")
private String name;
}
@Data
public static class UserInfo{
@ApiModelProperty("用户id")
private String userId;
@ApiModelProperty("用户名")
private String username;
@ApiModelProperty("手机号")
private String mobile;
@ApiModelProperty("头像url")
private String avatar;
}
public static RegionUserAndSubRegionVO convertVO(List<RegionDO> subRegionList, List<String> userIds, Map<String, EnterpriseUserDO> userMap){
List<RegionInfo> regionList = Lists.newArrayList();
List<UserInfo> userList = Lists.newArrayList();
for (RegionDO regionDO : subRegionList) {
RegionInfo region = new RegionInfo();
region.setRegionId(regionDO.getRegionId());
region.setName(regionDO.getName());
regionList.add(region);
}
for (String userId : userIds) {
EnterpriseUserDO enterpriseUser = userMap.get(userId);
if(Objects.isNull(enterpriseUser)){
continue;
}
UserInfo userInfo = new UserInfo();
userInfo.setUserId(userId);
userInfo.setUsername(enterpriseUser.getName());
userInfo.setMobile(enterpriseUser.getMobile());
userInfo.setAvatar(enterpriseUser.getAvatar());
userList.add(userInfo);
}
return new RegionUserAndSubRegionVO(regionList, userList);
}
}

View File

@@ -0,0 +1,74 @@
package com.cool.store.service;
import com.cool.store.dto.inspection.setting.AddInspectionSettingDTO;
import com.cool.store.dto.inspection.setting.CheckInspectionSettingDTO;
import com.cool.store.dto.inspection.setting.DeleteInspectionSettingDTO;
import com.cool.store.dto.inspection.setting.UpdateInspectionSettingDTO;
import com.cool.store.vo.inspection.setting.InspectionSettingCheckVO;
import com.cool.store.vo.inspection.setting.InspectionSettingDetailVO;
import com.cool.store.vo.inspection.setting.InspectionSettingPageVO;
import com.github.pagehelper.PageInfo;
import java.util.List;
/**
* @author zhangchenbiao
* @FileName: InspectionSettingService
* @Description:
* @date 2023-07-18 15:57
*/
public interface InspectionSettingService {
/**
*稽核区域设置列表
* @param pageNum
* @param pageSize
* @return
*/
PageInfo<InspectionSettingPageVO> getInspectionSettingPage(Integer pageNum, Integer pageSize);
/**
* 获取详情
* @param inspectionSettingId
* @return
*/
InspectionSettingDetailVO getInspectionSettingDetail(Long inspectionSettingId);
/**
* 新增稽核区域设置
* @param userId
* @param param
* @return
*/
Long addInspectionSetting(String userId, AddInspectionSettingDTO param);
/**
* 更新稽核区域设置
* @param userId
* @param param
* @return
*/
Integer updateInspectionSetting(String userId, UpdateInspectionSettingDTO param);
/**
* 删除稽核区域设置
* @param userId
* @param inspectionSettingId
* @return
*/
Integer deleteInspectionSetting(String userId, Long inspectionSettingId);
/**
* 校验稽核区域设置
* @param param
* @return
*/
List<InspectionSettingCheckVO> checkInspectionSetting(CheckInspectionSettingDTO param);
/**
* 获取已经绑定的人员
* @return
*/
List<String> getBingUser();
}

View File

@@ -0,0 +1,46 @@
package com.cool.store.service;
import com.cool.store.request.GetInterviewInspectionListReq;
import com.cool.store.request.GetInterviewInspectionResultListReq;
import com.cool.store.response.ResponseResult;
import com.cool.store.vo.interview.InterviewInspectionHistoryInfo;
import com.cool.store.vo.interview.InterviewInspectionInfo;
import com.cool.store.vo.interview.InterviewInspectionResultVO;
import com.cool.store.vo.interview.InterviewInspectionVO;
import com.github.pagehelper.PageInfo;
import com.cool.store.dto.inspection.interview.InspectionRevocationDTO;
import com.cool.store.dto.inspection.interview.InspectionSubmissionDTO;
import com.cool.store.exception.ApiException;
import com.cool.store.dto.inspection.interview.InspectionRevocationDTO;
import com.cool.store.dto.inspection.interview.InspectionSubmissionDTO;
import com.cool.store.exception.ApiException;
import java.util.List;
/**
* @author Fun Li
* @version 1.0
* @date 2023/7/19 16:50
*/
public interface InterviewInspectionService {
List<InterviewInspectionVO> interviewInspectionGetList(GetInterviewInspectionListReq request);
/**
* 提交稽核结果
*/
void submit(InspectionSubmissionDTO dto) throws ApiException;
/**
* 撤销稽核结果
*/
void revoke(InspectionRevocationDTO dto) throws ApiException;
InterviewInspectionInfo interviewInspectionGetDetail(Long id);
List<InterviewInspectionHistoryInfo> interviewInspectionGetHistoryDetail(Long id);
List<InterviewInspectionResultVO> interviewInspectionResultGetList(GetInterviewInspectionResultListReq request);
}

View File

@@ -1,6 +1,7 @@
package com.cool.store.service;
import com.cool.store.vo.region.RegionBaseInfoVO;
import com.cool.store.vo.region.RegionUserAndSubRegionVO;
import java.util.List;
@@ -18,4 +19,13 @@ public interface RegionService {
*/
RegionBaseInfoVO getRegionBaseInfoList();
/**
* 获取部门下的子部门和人
* @param regionId
* @return
*/
RegionUserAndSubRegionVO getRegionUserAndSubRegion(String regionId);
}

View File

@@ -21,10 +21,7 @@ import com.cool.store.enums.OperateTypeEnum;
import com.cool.store.enums.WorkflowStatusEnum;
import com.cool.store.exception.ApiException;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.DingdingUserMapper;
import com.cool.store.mapper.HyPartnerCertificationInfoMapper;
import com.cool.store.mapper.HyPartnerInterviewMapper;
import com.cool.store.mapper.HyPartnerLineInfoMapper;
import com.cool.store.mapper.*;
import com.cool.store.oss.OSSServer;
import com.cool.store.request.*;
import com.cool.store.request.data.flow.KeyText;
@@ -102,6 +99,10 @@ public class FlowServiceImpl implements FlowService {
@Autowired
private HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO;
@Autowired
private HyInspectionMapper inspectionMapper;
@Override
@Transactional
public void createQualifyVerify(CreateQualifyVerifyReq request) throws ApiException, IOException {
@@ -268,6 +269,10 @@ public class FlowServiceImpl implements FlowService {
//3. 生成通过函并修改数据库相关信息
//TODO 问题:如果因为 pdf 生成失败或者其他原因导致异常,但是由于 MDM 只是做回调,不对回调是否成功负责,会导致流程信息缺失
genPassLetterAndUpdateDB(partnerName, verifyCity, passDate, interviewId);
//4. 向面试稽核表中新增一条信息
HyInspectionDO hyInspectionDO = new HyInspectionDO();
hyInspectionDO.setInterviewPlanId(Long.parseLong(interviewPlanId));
inspectionMapper.insertSelective(hyInspectionDO);
//发送加盟商资质审核通过短信
HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerLineId(partnerLineId);
smsService.sendSms(null, CommonConstants.SMS_TEMPLATE_CODE_VERIFY, hyPartnerBaseInfoDO.getMobile());

View File

@@ -580,7 +580,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
}
List<String> result = new ArrayList<>();
if (hyIntendDevelopementMappingDO!=null){
HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO.selectById(Long.valueOf(hyIntendDevelopementMappingDO.getMappingId()));
HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO.selectById(hyIntendDevelopementMappingDO.getMappingId());
if (hyIntendDevZoneInfoDO!=null && StringUtil.isNotEmpty(hyIntendDevZoneInfoDO.getAssociatedRegionId())) {
List<String> list = JSONObject.parseArray(hyIntendDevZoneInfoDO.getAssociatedRegionId(), String.class);
result.addAll(list);
@@ -667,7 +667,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = hyIntendDevMappingDAO.selectByOpenAreaMappingId(Long.valueOf(wantShopArea),type);
List<String> result = new ArrayList<>();
if (hyIntendDevelopementMappingDO!=null){
HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO.selectById(Long.valueOf(hyIntendDevelopementMappingDO.getMappingId()));
HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO.selectById(hyIntendDevelopementMappingDO.getMappingId());
if (hyIntendDevZoneInfoDO!=null && StringUtil.isNotEmpty(hyIntendDevZoneInfoDO.getAssociatedRegionId())) {
List<String> list = JSONObject.parseArray(hyIntendDevZoneInfoDO.getAssociatedRegionId(), String.class);
result.addAll(list);
@@ -675,8 +675,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
}
String userId = "";
List<EnterpriseUserDO> userListByRegionIds = enterpriseUserDAO.getUserListByRegionIds(result);
String zoneId = hyIntendDevelopementMappingDO.getMappingId();
HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO.selectById(Long.valueOf(zoneId));
HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO.selectById(hyIntendDevelopementMappingDO.getMappingId());
if (CollectionUtils.isNotEmpty(userListByRegionIds)){
List<String> userIdList = userListByRegionIds.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList());
int i = userIdList.indexOf(hyIntendDevZoneInfoDO.getLastAllotUserId());

View File

@@ -0,0 +1,149 @@
package com.cool.store.service.impl;
import com.cool.store.dao.EnterpriseUserDAO;
import com.cool.store.dao.HyInspectionSettingDAO;
import com.cool.store.dao.HyInspectionSettingMappingDAO;
import com.cool.store.dao.HyOpenAreaInfoDAO;
import com.cool.store.dto.inspection.setting.AddInspectionSettingDTO;
import com.cool.store.dto.inspection.setting.CheckInspectionSettingDTO;
import com.cool.store.dto.inspection.setting.UpdateInspectionSettingDTO;
import com.cool.store.entity.HyInspectionSettingDO;
import com.cool.store.entity.HyInspectionSettingMappingDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.service.InspectionSettingService;
import com.cool.store.vo.inspection.setting.InspectionSettingCheckVO;
import com.cool.store.vo.inspection.setting.InspectionSettingDetailVO;
import com.cool.store.vo.inspection.setting.InspectionSettingPageVO;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.ListUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author zhangchenbiao
* @FileName: InspectionSettingServiceImpl
* @Description:
* @date 2023-07-18 16:06
*/
@Service
public class InspectionSettingServiceImpl implements InspectionSettingService {
@Resource
private HyInspectionSettingDAO hyInspectionSettingDAO;
@Resource
private HyInspectionSettingMappingDAO hyInspectionSettingMappingDAO;
@Resource
private EnterpriseUserDAO enterpriseUserDAO;
@Resource
private HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
@Override
public PageInfo<InspectionSettingPageVO> getInspectionSettingPage(Integer pageNum, Integer pageSize) {
Page<HyInspectionSettingDO> inspectionSettingPage = hyInspectionSettingDAO.getInspectionSettingPage(pageNum, pageSize);
Map<String, String> userNameMap = new HashMap<>();
if(CollectionUtils.isNotEmpty(inspectionSettingPage)){
List<String> userIds = inspectionSettingPage.stream().map(HyInspectionSettingDO::getInspectionUserId).distinct().collect(Collectors.toList());
List<String> updateUserIds = inspectionSettingPage.stream().map(HyInspectionSettingDO::getUpdateUserId).distinct().collect(Collectors.toList());
userIds.addAll(updateUserIds);
userNameMap = enterpriseUserDAO.getUserNameMap(userIds);
}
List<InspectionSettingPageVO> resultList = InspectionSettingPageVO.convert(inspectionSettingPage, userNameMap);
PageInfo resultPage = new PageInfo(inspectionSettingPage);
resultPage.setList(resultList);
return resultPage;
}
@Override
public InspectionSettingDetailVO getInspectionSettingDetail(Long inspectionSettingId) {
HyInspectionSettingDO inspectionSetting = hyInspectionSettingDAO.getInspectionSettingDetail(inspectionSettingId);
if(Objects.isNull(inspectionSetting)){
return null;
}
List<Long> openAreaMappingIds = hyInspectionSettingMappingDAO.getOpenAreaMappingIds(inspectionSettingId);
String inspectionUsername = enterpriseUserDAO.getUserName(inspectionSetting.getInspectionUserId());
return InspectionSettingDetailVO.convertVO(inspectionSetting, inspectionUsername, openAreaMappingIds);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Long addInspectionSetting(String userId, AddInspectionSettingDTO param) {
List<HyInspectionSettingDO> inspectionUserSetting = hyInspectionSettingDAO.getHyInspectionSettingByUserId(param.getInspectionUserId(), null);
if(CollectionUtils.isNotEmpty(inspectionUserSetting)){
throw new ServiceException(ErrorCodeEnum.INSPECTION_USER_OCCUPY);
}
List<Long> openAreaMappingIds = hyOpenAreaInfoDAO.filterLeafNode(param.getOpenAreaMappingIds());
if(CollectionUtils.isEmpty(openAreaMappingIds)){
throw new ServiceException(ErrorCodeEnum.OPEN_AREA_NULL);
}
HyInspectionSettingDO inspectionSetting = new HyInspectionSettingDO();
inspectionSetting.setInspectionUserId(param.getInspectionUserId());
inspectionSetting.setZoneName(param.getZoneName());
inspectionSetting.setCreateUserId(userId);
inspectionSetting.setCreateTime(new Date());
Long inspectionSettingId = hyInspectionSettingDAO.addInspectionSetting(inspectionSetting);
hyInspectionSettingMappingDAO.addInspectionSettingMapping(inspectionSettingId, openAreaMappingIds);
return inspectionSettingId;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Integer updateInspectionSetting(String userId, UpdateInspectionSettingDTO param) {
List<HyInspectionSettingDO> inspectionUserSetting = hyInspectionSettingDAO.getHyInspectionSettingByUserId(param.getInspectionUserId(), param.getInspectionSettingId());
if(CollectionUtils.isNotEmpty(inspectionUserSetting)){
throw new ServiceException(ErrorCodeEnum.INSPECTION_USER_OCCUPY);
}
List<Long> openAreaMappingIds = hyOpenAreaInfoDAO.filterLeafNode(param.getOpenAreaMappingIds());
if(CollectionUtils.isEmpty(openAreaMappingIds)){
throw new ServiceException(ErrorCodeEnum.OPEN_AREA_NULL);
}
HyInspectionSettingDO inspectionSetting = new HyInspectionSettingDO();
inspectionSetting.setId(param.getInspectionSettingId());
inspectionSetting.setInspectionUserId(param.getInspectionUserId());
inspectionSetting.setZoneName(param.getZoneName());
inspectionSetting.setUpdateUserId(userId);
inspectionSetting.setUpdateTime(new Date());
hyInspectionSettingDAO.updateInspectionSetting(inspectionSetting);
return hyInspectionSettingMappingDAO.updateInspectionSettingMapping(param.getInspectionSettingId(), openAreaMappingIds);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Integer deleteInspectionSetting(String userId, Long inspectionSettingId) {
HyInspectionSettingDO inspectionSetting = new HyInspectionSettingDO();
inspectionSetting.setId(inspectionSettingId);
inspectionSetting.setUpdateUserId(userId);
inspectionSetting.setUpdateTime(new Date());
inspectionSetting.setDeleted(Boolean.TRUE);
hyInspectionSettingDAO.updateInspectionSetting(inspectionSetting);
hyInspectionSettingMappingDAO.deleteInspectionSettingMapping(inspectionSettingId);
return hyInspectionSettingDAO.updateInspectionSetting(inspectionSetting);
}
@Override
public List<InspectionSettingCheckVO> checkInspectionSetting(CheckInspectionSettingDTO param) {
if(CollectionUtils.isEmpty(param.getOpenAreaMappingIds())){
return Lists.newArrayList();
}
List<HyInspectionSettingMappingDO> conflictInspectionSetting = hyInspectionSettingMappingDAO.getConflictInspectionSetting(param.getInspectionSettingId(), param.getOpenAreaMappingIds());
List<Long> inspectionSettingIds = ListUtils.emptyIfNull(conflictInspectionSetting).stream().map(HyInspectionSettingMappingDO::getInspectionSettingId).distinct().collect(Collectors.toList());
List<HyInspectionSettingDO> inspectionSettingList = hyInspectionSettingDAO.getHyInspectionSettingByIds(inspectionSettingIds);
List<String> inspectionUserIds = ListUtils.emptyIfNull(inspectionSettingList).stream().map(HyInspectionSettingDO::getInspectionUserId).distinct().collect(Collectors.toList());
List<Long> openAreaMappingIds = ListUtils.emptyIfNull(conflictInspectionSetting).stream().map(HyInspectionSettingMappingDO::getOpenAreaMappingId).distinct().collect(Collectors.toList());
Map<Long, String> areaNameMap = hyOpenAreaInfoDAO.getNameMapByIds(openAreaMappingIds);
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(inspectionUserIds);
return InspectionSettingCheckVO.convertVO(conflictInspectionSetting, inspectionSettingList, userNameMap, areaNameMap);
}
@Override
public List<String> getBingUser() {
return hyInspectionSettingDAO.getInspectionUserIds();
}
}

View File

@@ -0,0 +1,136 @@
package com.cool.store.service.impl;
import cn.hutool.core.date.DateUtil;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.dto.inspection.interview.InspectionRevocationDTO;
import com.cool.store.dto.inspection.interview.InspectionSubmissionDTO;
import com.cool.store.entity.HyInspectionDO;
import com.cool.store.entity.HyInterviewInspectionLogDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.InspectionOperationTypeEnum;
import com.cool.store.enums.InspectionStatusEnum;
import com.cool.store.exception.ApiException;
import com.cool.store.mapper.HyInspectionMapper;
import com.cool.store.request.GetInterviewInspectionListReq;
import com.cool.store.request.GetInterviewInspectionResultListReq;
import com.cool.store.mapper.HyInterviewInspectionLogMapper;
import com.cool.store.service.InterviewInspectionService;
import com.cool.store.vo.interview.InterviewInspectionHistoryInfo;
import com.cool.store.vo.interview.InterviewInspectionInfo;
import com.cool.store.vo.interview.InterviewInspectionResultVO;
import com.cool.store.vo.interview.InterviewInspectionVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* @author Fun Li
* @version 1.0
* @date 2023/7/19 16:50
*/
@Service
public class InterviewInspectionServiceImpl implements InterviewInspectionService {
@Autowired
private HyInspectionMapper inspectionMapper;
@Autowired
private HyInterviewInspectionLogMapper interviewInspectionLogMapper;
@Override
public void submit(InspectionSubmissionDTO dto) throws ApiException {
HyInspectionDO rawInspection = inspectionMapper.selectByPrimaryKey(dto.getInspectionId());
if (Objects.isNull(rawInspection)) {
throw new ApiException(ErrorCodeEnum.INSPECTION_INFO_NOT_EXIST);
}
HyInspectionDO hyInspectionDO = new HyInspectionDO();
//稽核结果和说明及文件等
hyInspectionDO.setId(dto.getInspectionId());
if (dto.getWhetherPass().equals(0)) {
hyInspectionDO.setStatus(InspectionStatusEnum.NOT_PASS.getCode());
} else if (dto.getWhetherPass().equals(1)) {
hyInspectionDO.setStatus(InspectionStatusEnum.PASS.getCode());
}
hyInspectionDO.setDescription(dto.getDescription());
String filesStr = spliceFiles(dto.getFiles());
hyInspectionDO.setFiles(filesStr);
//稽核人,稽核时间,创建人
hyInspectionDO.setOperatorUserId(CurrentUserHolder.getUserId());
hyInspectionDO.setUpdator(CurrentUserHolder.getUserId());
hyInspectionDO.setInspectionTime(DateUtil.now());
hyInspectionDO.setCreator(rawInspection.getCreator() == null ? CurrentUserHolder.getUserId() : rawInspection.getCreator());
inspectionMapper.updateByPrimaryKeySelective(hyInspectionDO);
}
@Override
@Transactional
public void revoke(InspectionRevocationDTO dto) throws ApiException {
//2.1 查询之前的一次操作
HyInspectionDO hyInspectionDO = inspectionMapper.selectByPrimaryKey(dto.getInspectionId());
if (Objects.isNull(hyInspectionDO)) {
throw new ApiException(ErrorCodeEnum.INSPECTION_INFO_NOT_EXIST);
}
//1. 撤销操作记录写入数据库面试稽核操作记录表
HyInterviewInspectionLogDO inspectionLog = new HyInterviewInspectionLogDO();
inspectionLog.setOperatorUserId(CurrentUserHolder.getUserId());
inspectionLog.setInspectionId(dto.getInspectionId());
inspectionLog.setOperationType(InspectionOperationTypeEnum.REVOCATION.getCode());
inspectionLog.setDescription(dto.getDescription());
String filesStr = spliceFiles(dto.getFiles());
inspectionLog.setOperationTime(DateUtil.now());
inspectionLog.setFiles(filesStr);
interviewInspectionLogMapper.insertSelective(inspectionLog);
//2. 撤销操作之前的一次操作写入面试稽核操作记录表
inspectionLog.setOperatorUserId(hyInspectionDO.getOperatorUserId());
inspectionLog.setInspectionId(hyInspectionDO.getId());
if (hyInspectionDO.getStatus().equals(1)) {
inspectionLog.setOperationType(InspectionOperationTypeEnum.PASS.getCode());
} else if (hyInspectionDO.getStatus().equals(2)) {
inspectionLog.setOperationType(InspectionOperationTypeEnum.NOT_PASS.getCode());
}
inspectionLog.setDescription(hyInspectionDO.getDescription());
inspectionLog.setFiles(hyInspectionDO.getFiles());
inspectionLog.setOperationTime(hyInspectionDO.getInspectionTime());
interviewInspectionLogMapper.insertSelective(inspectionLog);
//3. 撤销操作之前的一次操作稽核信息状态修改为未稽核,并且将数据状态(其他字段)也恢复到未稽核时的状态
hyInspectionDO.setOperatorUserId(null);
hyInspectionDO.setStatus(InspectionStatusEnum.NOT_INSPECT.getCode());
hyInspectionDO.setFiles(null);
hyInspectionDO.setDescription(null);
hyInspectionDO.setInspectionTime(null);
hyInspectionDO.setUpdator(null);
inspectionMapper.updateByPrimaryKey(hyInspectionDO);
}
@Override
public InterviewInspectionInfo interviewInspectionGetDetail(Long id) {
return inspectionMapper.interviewInspectionGetDetail(id);
}
@Override
public List<InterviewInspectionHistoryInfo> interviewInspectionGetHistoryDetail(Long id) {
return inspectionMapper.interviewInspectionGetHistoryDetail(id);
}
@Override
public List<InterviewInspectionResultVO> interviewInspectionResultGetList(GetInterviewInspectionResultListReq request) {
return inspectionMapper.interviewInspectionResultGetList(request);
}
private String spliceFiles(List<String> files) {
if (files == null || files.size() == 0) {
return null;
}
return files.stream().map(String::valueOf).collect(Collectors.joining(","));
}
@Override
public List<InterviewInspectionVO> interviewInspectionGetList(GetInterviewInspectionListReq request) {
String userId = CurrentUserHolder.getUserId();
return inspectionMapper.interviewInspectionGetList(request);
}
}

View File

@@ -123,7 +123,7 @@ public class InterviewServiceImpl implements InterviewService {
//将 processInfo 解析为 List
if (!StringUtils.isEmpty(vo.getProcessInfo())) {
List<String> split = Arrays.asList(vo.getProcessInfo().split(","));
vo.setVedioList(split);
vo.setVideoList(split);
vo.setProcessInfo("");
}
//查询面试官和记录人信息(面试官必须有)
@@ -147,7 +147,7 @@ public class InterviewServiceImpl implements InterviewService {
return vo;
}
//查询开发主管
EnterpriseUserDO development = enterpriseUserService.getDevelopmentByZoneId(Long.parseLong(hyIntendDevelopementMappingDO.getMappingId()));
EnterpriseUserDO development = enterpriseUserService.getDevelopmentByZoneId(hyIntendDevelopementMappingDO.getMappingId());
vo.setDevelopmentDirector(development);
}
return vo;

View File

@@ -21,6 +21,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.MessageFormat;
import java.util.Objects;
/**
@@ -51,7 +52,6 @@ public class LoginServiceImpl implements LoginService {
throw new ServiceException(ErrorCodeEnum.USER_NOT_EXIST);
}
LoginUserInfo currentUser = new LoginUserInfo();
RefreshUser refreshUser = new RefreshUser();
// 查企业用户
EnterpriseUserDO enterpriseUser = enterpriseUserDAO.getUserInfoById(userId);
if(enterpriseUser == null){
@@ -78,12 +78,10 @@ public class LoginServiceImpl implements LoginService {
//生成令牌
RandomNumberGenerator randomNumberGenerator = new SecureRandomNumberGenerator();
String token = randomNumberGenerator.nextBytes().toHex();
String refreshToken = randomNumberGenerator.nextBytes().toHex();
currentUser.setName(enterpriseUser.getName());
currentUser.setAccessToken(token);
redisUtilPool.setString(CommonConstants.ACCESS_TOKEN_KEY + ":" + token, JSON.toJSONString(currentUser), CommonConstants.ACCESS_TOKEN_EXPIRE);
redisUtilPool.setString(MessageFormat.format(CommonConstants.ACCESS_TOKEN_KEY, token), JSON.toJSONString(currentUser), CommonConstants.ACCESS_TOKEN_EXPIRE);
redisUtilPool.setString(currentUser.getUserId(), token);
redisUtilPool.setString(CommonConstants.REFRESH_TOKEN_KEY+":"+refreshToken,JSON.toJSONString(refreshUser), CommonConstants.REFRESH_TOKEN_EXPIRE);
log.info("[" + enterpriseUser.getName() + "; action_token"+ token + "; userId" + currentUser.getUserId() +"]登入系统成功");
return currentUser;
}

View File

@@ -1,16 +1,21 @@
package com.cool.store.service.impl;
import com.cool.store.dao.EnterpriseUserDAO;
import com.cool.store.dao.RegionDAO;
import com.cool.store.dao.UserRegionMappingDAO;
import com.cool.store.entity.EnterpriseUserDO;
import com.cool.store.entity.RegionDO;
import com.cool.store.mq.producer.SimpleMessageService;
import com.cool.store.service.RegionService;
import com.cool.store.utils.RedisConstantUtil;
import com.cool.store.utils.RedisUtil;
import com.cool.store.vo.region.RegionBaseInfoVO;
import com.cool.store.vo.region.RegionUserAndSubRegionVO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
* @author zhangchenbiao
@@ -25,6 +30,10 @@ public class RegionServiceImpl implements RegionService {
private RedisUtil redisUtil;
@Resource
private RegionDAO regionDAO;
@Resource
private UserRegionMappingDAO userRegionMappingDAO;
@Resource
private EnterpriseUserDAO enterpriseUserDAO;
@Override
@@ -32,4 +41,12 @@ public class RegionServiceImpl implements RegionService {
List<RegionDO> regionBaseInfoList = regionDAO.getRegionBaseInfoList();
return RegionBaseInfoVO.convertTree(regionBaseInfoList);
}
@Override
public RegionUserAndSubRegionVO getRegionUserAndSubRegion(String regionId) {
List<RegionDO> subRegionList = regionDAO.getSubRegion(regionId);
List<String> userIds = userRegionMappingDAO.getUserListByRegionId(regionId);
Map<String, EnterpriseUserDO> userMap = enterpriseUserDAO.getUserMap(userIds);
return RegionUserAndSubRegionVO.convertVO(subRegionList, userIds, userMap);
}
}

View File

@@ -48,6 +48,8 @@ public class ZoneServiceImpl implements ZoneService {
EnterpriseUserDAO enterpriseUserDAO;
@Resource
RegionDAO regionDAO;
@Resource
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
@@ -67,12 +69,13 @@ public class ZoneServiceImpl implements ZoneService {
//添加战区映射的意向区域
hyIntendDevMappingDAO.deleteByOpenAreaIds(intentAreaSettingRequest.getOpenAreaIdList(),hyIntendDevZoneInfoDO.getType());
List<Long> openAreaIdList = intentAreaSettingRequest.getOpenAreaIdList();
List<Long> openAreaIdFilterList = hyOpenAreaInfoDAO.filterLeafNode(openAreaIdList);
List<HyIntendDevelopementMappingDO> list = new ArrayList<>();
openAreaIdList.stream().forEach(x->{
openAreaIdFilterList.stream().forEach(x->{
HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = new HyIntendDevelopementMappingDO();
hyIntendDevelopementMappingDO.setType(intentAreaSettingRequest.getType());
hyIntendDevelopementMappingDO.setOpenAreaMappingId(String.valueOf(x));
hyIntendDevelopementMappingDO.setMappingId(String.valueOf(hyIntendDevZoneInfoDO.getId()));
hyIntendDevelopementMappingDO.setMappingId(hyIntendDevZoneInfoDO.getId());
list.add(hyIntendDevelopementMappingDO);
});
hyIntendDevMappingDAO.batchInsert(list);
@@ -95,12 +98,13 @@ public class ZoneServiceImpl implements ZoneService {
hyIntendDevMappingDAO.deleteByMappingIds(Arrays.asList(intentAreaSettingRequest.getId())
,intentAreaSettingRequest.getType());
List<Long> openAreaIdList = intentAreaSettingRequest.getOpenAreaIdList();
List<Long> openAreaIdFilterList = hyOpenAreaInfoDAO.filterLeafNode(openAreaIdList);
List<HyIntendDevelopementMappingDO> list = new ArrayList<>();
openAreaIdList.stream().forEach(x->{
openAreaIdFilterList.stream().forEach(x->{
HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = new HyIntendDevelopementMappingDO();
hyIntendDevelopementMappingDO.setType(intentAreaSettingRequest.getType());
hyIntendDevelopementMappingDO.setOpenAreaMappingId(String.valueOf(x));
hyIntendDevelopementMappingDO.setMappingId(String.valueOf(hyIntendDevZoneInfoDO.getId()));
hyIntendDevelopementMappingDO.setMappingId((hyIntendDevZoneInfoDO.getId()));
list.add(hyIntendDevelopementMappingDO);
});
hyIntendDevMappingDAO.batchInsert(list);
@@ -206,7 +210,8 @@ public class ZoneServiceImpl implements ZoneService {
//查询已经绑定战区的 意向区域
List<ZoneCheckDTO> list = hyIntendDevMappingDAO.selectByOpenAreaMappingIdList(intentAreaSettingRequest.getOpenAreaIdList(),intentAreaSettingRequest.getType(),intentAreaSettingRequest.getId());
List<Long> openAreaIdList = list.stream().map(ZoneCheckDTO::getOpenAreaMappingId).collect(Collectors.toList());
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOList = openAreaInfoDAO.selectByIds(openAreaIdList);
List<Long> openAreaIdFilterList = hyOpenAreaInfoDAO.filterLeafNode(openAreaIdList);
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOList = openAreaInfoDAO.selectByIds(openAreaIdFilterList);
Map<Long, String> areaNameMap = hyOpenAreaInfoDOList.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, HyOpenAreaInfoDO::getAreaName));
List<ZoneCheckVO> result = new ArrayList<>();
list.forEach(x->{

View File

@@ -22,6 +22,7 @@ import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.MessageFormat;
import java.util.List;
import java.util.Objects;
@@ -83,7 +84,7 @@ public class TokenValidateFilter implements Filter {
LoginUserInfo currentUser = null;
boolean isInWhiteList = excludePath(uri);
String accessToken = reqs.getHeader("accessToken");
String key = "access_token:" + accessToken;
String key = MessageFormat.format(CommonConstants.ACCESS_TOKEN_KEY, accessToken);
if(StringUtils.isNotBlank(accessToken)){
userStr = redisUtilPool.getString(key);
if(StringUtils.isNotBlank(userStr)){

View File

@@ -9,10 +9,8 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import springfox.documentation.RequestHandler;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Parameter;
import springfox.documentation.spi.DocumentationType;
@@ -54,16 +52,13 @@ public class Swagger2Config {
.groupName(groupName)
.select()
.apis(this.scanBasePackage(packages))
//.paths(PathSelectors.regex(".*/inspection/setting/.*|.*getRegionUserAndSubRegion"))
.build()
.globalOperationParameters(pars);
}
private List<Parameter> getParameters() {
List<Parameter> pars = new ArrayList<>();
pars.add(new ParameterBuilder().name("accessToken").description("令牌").required(true)
.modelRef(new ModelRef("string"))
.defaultValue("{{accessToken}}")
.parameterType("query").build());
return pars;
}

View File

@@ -0,0 +1,45 @@
package com.cool.store.controller;
import com.cool.store.request.GetInterviewInspectionResultListReq;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.InterviewInspectionService;
import com.cool.store.vo.interview.InterviewInspectionResultVO;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
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.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author hxd
* @version 1.0
* @date 2023/7/19 16:48
*/
@RestController
@RequestMapping("/inspection/auditResult")
@Api(tags = "面试稽核结果")
public class AuditResultController {
@Autowired
private InterviewInspectionService interviewInspectionService;
/**
* 获取面试稽核结果列表
*
* @param request
* @return
*/
@PostMapping("/getList")
@ApiOperation("获取面试稽核结果列表")
public ResponseResult<PageInfo<InterviewInspectionResultVO>> interviewInspectionResultGetList(GetInterviewInspectionResultListReq request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
List<InterviewInspectionResultVO> interviewInspectionResultGetList = interviewInspectionService.interviewInspectionResultGetList(request);
return ResponseResult.success(new PageInfo<>(interviewInspectionResultGetList));
}
}

View File

@@ -1,15 +1,22 @@
package com.cool.store.controller;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.dto.inspection.setting.AddInspectionSettingDTO;
import com.cool.store.dto.inspection.setting.CheckInspectionSettingDTO;
import com.cool.store.dto.inspection.setting.DeleteInspectionSettingDTO;
import com.cool.store.dto.inspection.setting.UpdateInspectionSettingDTO;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.InspectionSettingService;
import com.cool.store.vo.inspection.setting.InspectionSettingCheckVO;
import com.cool.store.vo.inspection.setting.InspectionSettingDetailVO;
import com.cool.store.vo.inspection.setting.InspectionSettingPageVO;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
@@ -23,46 +30,49 @@ import java.util.List;
@Api(tags = "稽核区域设置")
public class InspectionSettingController {
@Resource
private InspectionSettingService inspectionSettingService;
@ApiOperation("稽核区域设置列表")
@GetMapping("/inspection/setting/page")
public ResponseResult<InspectionSettingPageVO> getInspectionSettingPage(@RequestParam("pageNum")Integer pageNum, @RequestParam("pageSize")Integer pageSize){
return ResponseResult.success();
public ResponseResult<PageInfo<InspectionSettingPageVO>> getInspectionSettingPage(@RequestParam("pageNum")Integer pageNum, @RequestParam("pageSize")Integer pageSize){
return ResponseResult.success(inspectionSettingService.getInspectionSettingPage(pageNum, pageSize));
}
@ApiOperation("稽核区域设置详情")
@GetMapping("/inspection/setting/detail")
public ResponseResult<InspectionSettingPageVO> getInspectionSettingDetail(@RequestParam("inspectionSettingId")Long inspectionSettingId){
return ResponseResult.success();
public ResponseResult<InspectionSettingDetailVO> getInspectionSettingDetail(@RequestParam("inspectionSettingId")Long inspectionSettingId){
return ResponseResult.success(inspectionSettingService.getInspectionSettingDetail(inspectionSettingId));
}
@ApiOperation("新增稽核区域设置")
@PostMapping("/inspection/setting/add")
public ResponseResult<Long> addInspectionSetting(@RequestBody AddInspectionSettingDTO param){
return ResponseResult.success();
return ResponseResult.success(inspectionSettingService.addInspectionSetting(CurrentUserHolder.getUserId(), param));
}
@ApiOperation("编辑稽核区域设置")
@PostMapping("/inspection/setting/update")
public ResponseResult<Integer> updateInspectionSetting(@RequestBody UpdateInspectionSettingDTO param){
return ResponseResult.success();
return ResponseResult.success(inspectionSettingService.updateInspectionSetting(CurrentUserHolder.getUserId(), param));
}
@ApiOperation("删除稽核区域设置")
@DeleteMapping("/inspection/setting/delete")
@PostMapping("/inspection/setting/delete")
public ResponseResult<Integer> deleteInspectionSetting(@RequestBody DeleteInspectionSettingDTO param){
return ResponseResult.success();
return ResponseResult.success(inspectionSettingService.deleteInspectionSetting(CurrentUserHolder.getUserId(), param.getInspectionSettingId()));
}
@ApiOperation("校验稽核区域设置")
@PostMapping("/inspection/setting/check")
public ResponseResult<List<InspectionSettingCheckVO>> checkInspectionSetting(@RequestBody CheckInspectionSettingDTO param){
return ResponseResult.success(inspectionSettingService.checkInspectionSetting(param));
}
@ApiOperation("查询已经关联的稽核人")
@DeleteMapping("/inspection/setting/bind/users")
@GetMapping("/inspection/setting/bind/users")
public ResponseResult<List<String>> getBingUser(){
return ResponseResult.success();
}
@ApiOperation("查询已经配置的归属地")
@DeleteMapping("/inspection/setting/bind/open/area")
public ResponseResult<List<Long>> getBingOpenArea(){
return ResponseResult.success();
return ResponseResult.success(inspectionSettingService.getBingUser());
}
}

View File

@@ -0,0 +1,93 @@
package com.cool.store.controller;
import com.cool.store.dto.inspection.interview.InspectionRevocationDTO;
import com.cool.store.dto.inspection.interview.InspectionSubmissionDTO;
import com.cool.store.exception.ApiException;
import com.cool.store.request.GetInterviewInspectionListReq;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.InterviewInspectionService;
import com.cool.store.vo.interview.GetInterviewInspectionHistoryListVO;
import com.cool.store.vo.interview.InterviewInspectionHistoryInfo;
import com.cool.store.vo.interview.InterviewInspectionInfo;
import com.cool.store.vo.interview.InterviewInspectionVO;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author Fun Li
* @version 1.0
* @date 2023/7/19 16:48
*/
@RestController
@RequestMapping("/inspection/interview")
@Api(tags = "面试稽核")
public class InterviewInspectionController {
@Autowired
private InterviewInspectionService interviewInspectionService;
@PostMapping("/submission")
@ApiOperation("提交稽核结果")
public ResponseResult interviewInspectionSubmit(@RequestBody InspectionSubmissionDTO dto) throws ApiException {
interviewInspectionService.submit(dto);
return ResponseResult.success();
}
@PostMapping("/revocation")
@ApiOperation("撤销稽核结果")
public ResponseResult interviewInspectionRevoke(@RequestBody InspectionRevocationDTO dto) throws ApiException {
interviewInspectionService.revoke(dto);
return ResponseResult.success();
}
/**
* 获取面试稽核列表
*
* @param request
* @return
*/
@PostMapping("/getList")
@ApiOperation("获取面试稽核列表")
public ResponseResult<PageInfo<InterviewInspectionVO>> interviewInspectionGetList(GetInterviewInspectionListReq request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
List<InterviewInspectionVO> interviewInspectionVOList = interviewInspectionService.interviewInspectionGetList(request);
return ResponseResult.success(new PageInfo<>(interviewInspectionVOList));
}
/**
* 获取面试稽核详情信息
*
* @param id
* @return
*/
@GetMapping("/getDetail")
@ApiOperation("获取面试稽核详情信息")
public ResponseResult<InterviewInspectionInfo> interviewInspectionGetDetail(@RequestParam("id") Long id) {
InterviewInspectionInfo interviewInspectionInfo = interviewInspectionService.interviewInspectionGetDetail(id);
return ResponseResult.success(interviewInspectionInfo);
}
/**
* 面试稽核历史结果查看
*
* @param id
* @return
*/
@GetMapping("/getHistoryDetail")
@ApiOperation("稽核历史结果查看")
public ResponseResult<GetInterviewInspectionHistoryListVO> interviewInspectionGetHistoryDetail(@RequestParam("id") Long id) {
List<InterviewInspectionHistoryInfo> interviewInspectionHistoryInfos = interviewInspectionService.interviewInspectionGetHistoryDetail(id);
return ResponseResult.success(new GetInterviewInspectionHistoryListVO().setInterviewInspectionHistoryInfos(interviewInspectionHistoryInfos));
}
}

View File

@@ -4,6 +4,7 @@ import com.cool.store.response.ResponseResult;
import com.cool.store.service.RegionService;
import com.cool.store.service.ZoneService;
import com.cool.store.vo.region.RegionBaseInfoVO;
import com.cool.store.vo.region.RegionUserAndSubRegionVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -34,7 +35,7 @@ public class RegionController {
@Resource
private RegionService regionService;
@Resource
ZoneService zoneService;
private ZoneService zoneService;
@GetMapping("/getRegionList")
public ResponseResult<List<RegionBaseInfoVO>> getRegionBaseInfoList(){
@@ -52,4 +53,10 @@ public class RegionController {
return ResponseResult.success(zoneService.queryAllBingZoneRegionList(type));
}
@ApiOperation("获取部门下的人和部门")
@GetMapping("/getRegionUserAndSubRegion")
public ResponseResult<RegionUserAndSubRegionVO> getRegionUserAndSubRegion(@RequestParam(value = "regionId")String regionId){
return ResponseResult.success(regionService.getRegionUserAndSubRegion(regionId));
}
}

View File

@@ -1,8 +1,7 @@
spring.application.name=hsay-partner-webb
spring.application.name=hsay-partner-webc
spring.profiles.active=@profileActive@
server.port=31000
server.servlet.context-path=/partner/pc
server.port=30900
server.servlet.context-path=/partner/mini/program
#logback
logging.config=classpath:logback-spring.xml