Commit fa8156ca authored by luzhuang's avatar luzhuang

Merge remote-tracking branch 'origin/meiteng' into meiteng

# Conflicts:
#	src/main/java/org/rcisoft/sys/user/service/impl/SysUserServiceImpl.java
parents 91a9f517 159b1932
......@@ -308,13 +308,23 @@ public class BLessonController extends PaginationController<BLesson> {
}
// @ApiOperation(value="622 推荐课程", notes="根据ID推荐课程")
// @PostMapping(value = "/recommend")
// public Result recommend(CurUser curUser,@Valid RecommendLessonDTO recommendLessonDTO,BindingResult bindingResult) {
// PersistModel data = bLessonService.recommendBLesson(curUser,recommendLessonDTO);
// return Result.builder(data,
// MessageConstant.MESSAGE_ALERT_SUCCESS,
// MessageConstant.MESSAGE_ALERT_ERROR,
// recommendLessonDTO);
// }
@ApiOperation(value="622 推荐课程", notes="根据ID推荐课程")
@PostMapping(value = "/recommend")
public Result recommend(CurUser curUser,@Valid RecommendLessonDTO recommendLessonDTO,BindingResult bindingResult) {
PersistModel data = bLessonService.recommendBLesson(recommendLessonDTO);
return Result.builder(data,
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
recommendLessonDTO);
}
@ApiOperation(value="623 指派课程", notes="根据ID指派课程")
@PostMapping(value = "/appointLessonToPerson")
public Result appointLessonToPerson(CurUser curUser,@Valid AppointLessonDTO appointLessonDTO,BindingResult bindingResult) {
PersistModel data = bLessonService.appointLessonToPerson(appointLessonDTO);
return Result.builder(data,
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
appointLessonDTO);
}
}
......@@ -79,12 +79,12 @@ public interface BLessonPersonRepository extends BaseMapper<BLessonPerson> {
" blp.finish_date finishDate " +
"from b_lesson_person blp left join b_lesson bl on blp.lesson_id = bl.business_id " +
"left join s_user su on blp.person_id = su.business_id " +
// "left join b_appoint ba on ba.business_id = ifnull(blp.appoint_id,'null') " +
"left join b_appoint ba on ba.lesson_id = bl.business_id " +
"left join b_appoint ba on ba.business_id = blp.appoint_id " +
"and ba.del_flag != 1 and ba.flag = 1 " +
// "left join b_appoint ba on ba.lesson_id = bl.business_id " +
"where blp.del_flag != 1 and blp.flag = 1 " +
"and bl.del_flag != 1 and bl.flag = 1 " +
"and su.del_flag != 1 and su.flag = 1 " +
"and ba.del_flag != 1 and ba.flag = 1 " +
"and su.del_flag != 1 and su.flag = 1 " +
"and bl.corp_id = #{param.corpId} "+
// "and blp.corp_id = #{param.corpId} "+
......
package org.rcisoft.business.blesson.dao;
import org.apache.ibatis.annotations.*;
import org.rcisoft.business.blesson.entity.BRecommend;
import org.rcisoft.business.blesson.entity.BRecommendSon;
import org.rcisoft.core.base.BaseMapper;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
......@@ -15,15 +15,45 @@ import java.util.List;
@Repository
public interface BRecommendRepository extends BaseMapper<BRecommend> {
// /**
// * 分页查询 bRecommend
// *
// */
// @Select("<script>select * from b_recommend where 1=1 "
// + "<if test=\"delFlag !=null and delFlag != '' \">and del_flag = #{delFlag} </if> "
// + "<if test=\"flag !=null and flag != '' \">and flag = #{flag} </if> "
// + "</script>")
// @ResultMap(value = "BaseResultMap" )
// List<BRecommend> queryBRecommends(BRecommend bRecommend);
/**
* 分页查询 bRecommend
*
*/
@Select("<script>select * from b_recommend where 1=1 "
+ "<if test=\"delFlag !=null and delFlag != '' \">and del_flag = #{delFlag} </if> "
+ "<if test=\"flag !=null and flag != '' \">and flag = #{flag} </if> "
+ "</script>")
@ResultMap(value = "BaseResultMap" )
List<BRecommend> queryBRecommends(BRecommend bRecommend);
@Update({"<script>",
" update b_recommend",
" <set>",
" <if test='updateBy != null'>update_by=#{updateBy},</if> ",
" <if test='updateDate != null'>update_date=#{updateDate},</if> ",
" <if test='delFlag != null'>del_flag=#{delFlag},</if> ",
" <if test='flag != null'>flag=#{flag},</if> ",
" <if test='remarks != null'>remarks=#{remarks},</if> ",
" <if test='recommend_person != null'>recommend_person=#{recommendPerson},</if> ",
" <if test='lesson_id != null'>lesson_id=#{lessonId},</if> ",
" <if test='type != null'>type=#{type},</if> ",
" <if test='corp_id != null'>corp_id=#{corp_id},</if> ",
" </set>",
" where lesson_id=#{lessonId} ",
"</script>"})
int updateByLessonId(BRecommend bRecommend);
@Delete("<script>DELETE from b_recommend_son where recommend_id=#{businessId}</script>")
int deleteRecommendSon(BRecommend bRecommend);
@Select("<script>select business_id from b_recommend where lesson_id = #{lessonId}</script>")
List<String> selectIdByLessonId(String lessonId);
@Insert("<script>INSERT INTO b_recommend_son" +
"(business_id,recommend_id,type,target_id)VALUES" +
"<foreach collection=\"list\" item=\"item\" separator=\",\">" +
"(#{item.businessId},#{item.recommendId},#{item.type},#{item.targetId})" +
"</foreach></script>")
int insertBRecommendSons(List<BRecommendSon> bRecommendSons);
}
......@@ -27,14 +27,16 @@ public interface BViewrangeRepository extends BaseMapper<BViewrange> {
List<BViewrange> queryBViewranges(BViewrange bViewrange);
@Update({"<script>",
"update b_banner",
"update b_viewrange",
" <set>",
" <if test='updateBy != null'>update_by=#{updateBy},</if>",
" <if test='updateDate != null'>update_date=#{updateDate},</if>",
" <if test='delFlag != null'>del_flag=#{delFlag},</if>",
" <if test='flag != null'>flag=#{flag},</if>",
" <if test='remarks != null'>remarks=#{remarks},</if>",
" <if test='type != null'>title=#{type},</if>",
" <if test='updateBy != null'>update_by=#{updateBy},</if> ",
" <if test='updateDate != null'>update_date=#{updateDate},</if> ",
" <if test='delFlag != null'>del_flag=#{delFlag},</if> ",
" <if test='flag != null'>flag=#{flag},</if> ",
" <if test='remarks != null'>remarks=#{remarks},</if> ",
" <if test='lesson_id != null'>lesson_id=#{lessonId},</if> ",
" <if test='type != null'>type=#{type},</if> ",
" <if test='corp_id != null'>corp_id=#{corp_id},</if> ",
" </set>",
"where lesson_id=#{lessonId}",
"</script>"})
......
package org.rcisoft.business.blesson.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AppointLessonDTO {
@ApiModelProperty(value = "课程Id",required = true)
private String lessonId;
@ApiModelProperty(value = "推荐范围(人)多人之间用','隔开" ,required = true)
private String appointPerson;
private String userId;
private String corpId;
}
......@@ -6,7 +6,7 @@ import lombok.Data;
@Data
public class RecommendLessonDTO {
@ApiModelProperty(value = "课程Id")
@ApiModelProperty(value = "课程Id",required = true)
private String lessonId;
@ApiModelProperty(value = "推荐范围(人)多人之间用','隔开")
......@@ -14,4 +14,8 @@ public class RecommendLessonDTO {
@ApiModelProperty(value = "推荐范围(部门)多人之间用','隔开")
private String recommendDepart;
private String userId;
private String corpId;
}
......@@ -47,7 +47,7 @@ public class BLesson extends IdEntity<BLesson> {
private String defaultUrl;
@ApiModelProperty(value = "课时")
@Length(min = 1,max = 8,message = "长度最小为1,最大为5")
// @Length(min = 1,max = 8,message = "长度最小为1,最大为5")
private String classHour;
@ApiModelProperty(value = "讲师id")
......
......@@ -116,7 +116,14 @@ public interface BLessonService{
* @param recommendLessonDTO
* @return
*/
PersistModel recommendBLesson(CurUser curUser,RecommendLessonDTO recommendLessonDTO);
PersistModel recommendBLesson(RecommendLessonDTO recommendLessonDTO);
/**
* 指派课程
* @param appointLessonDTO
* @return
*/
PersistModel appointLessonToPerson(AppointLessonDTO appointLessonDTO);
/**
* 课程培训条件查询
......
......@@ -32,5 +32,9 @@ public interface SynchronizationTimeRepository extends BaseMapper<Synchronizatio
+ "</script>")
@ResultMap(value = "BaseResultMap" )
SynchronizationTime getById(@Param("id") String id);
@Select("UPDATE synchronization_time SET synchronization_time = #{synchronizationTime} WHERE business_id = #{businessId}")
@ResultMap(value = "BaseResultMap" )
void updateById(SynchronizationTime synchronizationTime);
}
......@@ -17,26 +17,18 @@ public interface SynchronizationTimeService {
* @return
*/
PersistModel save(SynchronizationTime synchronizationTime);
/**
* 修改
* @param synchronizationTime
* @return
*/
PersistModel merge(SynchronizationTime synchronizationTime);
/**
* 根据id查询
* 根据id查询
* @param id
* @return
*/
SynchronizationTime findById(String id);
SynchronizationTime getById(String id);
/**
* 根据id查询
* @param id
* @param synchronizationTime
* @return
*/
SynchronizationTime getById(String id);
void upadteById(SynchronizationTime synchronizationTime);
}
......@@ -39,30 +39,14 @@ public class SynchronizationTimeServiceImpl implements SynchronizationTimeServic
return new PersistModel(line);
}
/**
* 修改 synchronizationTime
* @param synchronizationTime
* @return
*/
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public PersistModel merge(SynchronizationTime synchronizationTime){
int line = synchronizationTimeRepository.updateByPrimaryKeySelective(synchronizationTime);
return new PersistModel(line);
}
/**
* 根据id查询 synchronizationTime
* @param id
* @return
*/
public SynchronizationTime findById(String id){
return synchronizationTimeRepository.selectByPrimaryKey(id);
public SynchronizationTime getById(String id) {
return synchronizationTimeRepository.getById(id);
}
@Override
public SynchronizationTime getById(String id) {
return synchronizationTimeRepository.getById(id);
public void upadteById(SynchronizationTime synchronizationTime) {
synchronizationTimeRepository.updateById(synchronizationTime);
}
}
......@@ -19,6 +19,7 @@ import org.rcisoft.sys.role.dto.UserRoleDTO;
import org.rcisoft.sys.role.entity.SysRole;
import org.rcisoft.sys.role.service.SysRoleService;
import org.rcisoft.sys.user.bean.CurUser;
import org.rcisoft.sys.user.service.SysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Propagation;
......@@ -36,6 +37,8 @@ import java.util.List;
public class CurUserAspect {
@Autowired
private SysRoleService sysRoleService;
@Autowired
private SysUserService userServiceImpl;
/**
* 获取当前登陆人
* @param joinPoint
......@@ -96,6 +99,8 @@ public class CurUserAspect {
userRoleDTO.setUserId(curUser.getUserId());
//插入tm_admin_role、s_role_menu、s_r_user_role表
int userRoleResult = sysRoleService.addAdminRoleMenuUser(initAddAdminDTO,roleMenuDTOs,userRoleDTO);
// 同步企业人员
int line = userServiceImpl.synchronizedUsers(curUser.getCorpId());
log.info("--------------------初始化完成--------------------");
}
}
......
......@@ -26,6 +26,7 @@ import org.rcisoft.sys.user.entity.SysUser;
import org.rcisoft.sys.user.service.SysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.expression.spel.ast.Assign;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
......@@ -50,62 +51,20 @@ public class SysUserController extends PaginationController<SysUser> {
@Autowired
private SysUserService userServiceImpl;
@Autowired
private SynchronizationTimeService synchronizationTimeServiceImpl;
@Autowired
MTCotactApiRequestClient mtCotactApiRequestClient;
/**
* 同步人员
* @param
* @return
*/
@Transactional
@GetMapping("/user/gets")
@ApiOperation(value = "|personnels|同步人员", notes = "同步人员信息")
public Result synchronizedUsers(@RequestParam String corpId){
// public Result<List<MTUserInfoRspDTO>> synchronizedUsers(@RequestParam String corpId){
SynchronizationTime synchronizationTime = synchronizationTimeServiceImpl.getById("1");
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //调用智信接口根据更新时间查询所有人员
if (null == synchronizationTime){
synchronizationTime = new SynchronizationTime();
synchronizationTime.setBusinessId("1");
synchronizationTime.setSynchronizationTime(new Date(1999,01,01,0,0,0));
synchronizationTimeServiceImpl.save(synchronizationTime);
}
String updateTime = df.format(synchronizationTime.getSynchronizationTime());
List<GetAllRspDTO> userGetRspDTOList = mtCotactApiRequestClient.accountGetMyInfoList(corpId,updateTime);
List<SysUser> personnelsList = new ArrayList<>();
int line = 0;
if (null !=userGetRspDTOList) {
for (GetAllRspDTO userInfo : userGetRspDTOList) {
SysUser personnels = new SysUser();
personnels.setCorpId(corpId);
personnels.setBusinessId(userInfo.getId()); //id
personnels.setName(userInfo.getName()); //姓名
personnels.setHeadPic(userInfo.getAvatar()); //头像
personnels.setPhone(userInfo.getMobile()); // 手机号
personnels.setDelFlag(userInfo.getIsDel()); //智信状态
// personnels.setAge(0);
// personnels.setGender(0);
personnels.setAccountId(userInfo.getAccountId());
personnelsList.add(personnels);
}
line = userServiceImpl.insertOrUpdateList(personnelsList);
}
if (line > 0){
// 同步成功后,更新同步时间
synchronizationTime.setSynchronizationTime(new Date());
synchronizationTimeServiceImpl.merge(synchronizationTime);
return Result.builder(new PersistModel(line),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
"同步成功");
}else {
return Result.builder(new PersistModel(line),
return Result.builder(new PersistModel(userServiceImpl.synchronizedUsers(corpId)),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
"没有任何更新内容");
}
userServiceImpl.synchronizedUsers(corpId));
}
......
......@@ -38,4 +38,6 @@ public interface SysUserService {
Map<String,Object> queryAllDepart();
int insertOrUpdateList(List<SysUser> sysUserList);
int synchronizedUsers(String corpId);
}
......@@ -2,11 +2,16 @@ package org.rcisoft.sys.user.service.impl;
import com.alibaba.fastjson.JSON;
import org.apache.commons.lang.StringUtils;
import org.rcisoft.business.synchronizationtime.entity.SynchronizationTime;
import org.rcisoft.business.synchronizationtime.service.SynchronizationTimeService;
import org.rcisoft.common.component.Global;
import org.rcisoft.common.util.feignClient.ContactFeignClient;
import org.rcisoft.common.util.feignDto.GetAllRspDTO;
import org.rcisoft.common.util.outClient.MTCotactApiRequestClient;
import org.rcisoft.core.aop.PageUtil;
import org.rcisoft.core.constant.MessageConstant;
import org.rcisoft.core.exception.ServiceException;
import org.rcisoft.core.model.PersistModel;
import org.rcisoft.core.result.Result;
import org.rcisoft.core.result.ResultServiceEnums;
import org.rcisoft.core.util.UserUtil;
import org.rcisoft.sys.menu.dao.SysMenuRepository;
......@@ -23,6 +28,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.*;
import static java.util.Arrays.asList;
......@@ -38,7 +44,10 @@ public class SysUserServiceImpl implements SysUserService {
private SysMenuRepository sysMenuRepository;
@Autowired
private MTCotactApiRequestClient mtCotactApiRequestClient;
private SynchronizationTimeService synchronizationTimeServiceImpl;
@Autowired
MTCotactApiRequestClient mtCotactApiRequestClient;
@Autowired
private Global global;
......@@ -215,4 +224,42 @@ public class SysUserServiceImpl implements SysUserService {
}
return line;
}
@Override
public int synchronizedUsers(String corpId) {
SynchronizationTime synchronizationTime = synchronizationTimeServiceImpl.getById("1");
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //调用智信接口根据更新时间查询所有人员
if (null == synchronizationTime){
synchronizationTime = new SynchronizationTime();
synchronizationTime.setBusinessId("1");
synchronizationTime.setSynchronizationTime(new Date(1999,01,01,0,0,0));
synchronizationTimeServiceImpl.save(synchronizationTime);
}
String updateTime = df.format(synchronizationTime.getSynchronizationTime());
List<GetAllRspDTO> userGetRspDTOList = mtCotactApiRequestClient.accountGetMyInfoList(corpId,updateTime);
List<SysUser> personnelsList = new ArrayList<>();
int line = 0;
if (null !=userGetRspDTOList) {
for (GetAllRspDTO userInfo : userGetRspDTOList) {
SysUser personnels = new SysUser();
personnels.setCorpId(corpId);
personnels.setBusinessId(userInfo.getId()); //id
personnels.setName(userInfo.getName()); //姓名
personnels.setHeadPic(userInfo.getAvatar()); //头像
personnels.setPhone(userInfo.getMobile()); // 手机号
personnels.setDelFlag(userInfo.getIsDel()); //智信状态
// personnels.setAge(0);
// personnels.setGender(0);
personnels.setAccountId(userInfo.getAccountId());
personnelsList.add(personnels);
}
line = this.insertOrUpdateList(personnelsList);
}
if (line > 0){
// 同步成功后,更新同步时间
synchronizationTime.setSynchronizationTime(new Date());
synchronizationTimeServiceImpl.upadteById(synchronizationTime);
}
return line;
}
}
......@@ -29,7 +29,7 @@
<result column="collect_number" jdbcType="VARCHAR" property="collectNumber"/>
<result column="hot_number" jdbcType="VARCHAR" property="hotNumber"/>
<result column="value" jdbcType="VARCHAR" property="value"/>
<collection property="labelList" ofType="org.rcisoft.business.blesson.entity.BLesson"
<collection property="labelList" ofType="org.rcisoft.business.blabel.dto.QueryLabelResDTO"
javaType="java.util.ArrayList" select="org.rcisoft.business.blesson.dao.BLessonRepository.queryLabelByLessonId"
column="business_id">
</collection>
......
<?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="org.rcisoft.business.blesson.dao.BRecommendRepository">
<resultMap id="BaseResultMap" type="org.rcisoft.business.blesson.entity.BRecommend">
<id column="business_id" jdbcType="VARCHAR" property="businessId"/>
<result column="create_by" jdbcType="VARCHAR" property="createBy"/>
<result column="create_date" jdbcType="TIMESTAMP" property="createDate"/>
<result column="update_by" jdbcType="VARCHAR" property="updateBy"/>
<result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/>
<result column="del_flag" jdbcType="VARCHAR" property="delFlag"/>
<result column="flag" jdbcType="VARCHAR" property="flag"/>
<result column="remarks" jdbcType="VARCHAR" property="remarks"/>
<result column="recommend_person" jdbcType="VARCHAR" property="recommendPerson"/>
<result column="lesson_id" jdbcType="VARCHAR" property="lessonId"/>
<result column="type" jdbcType="VARCHAR" property="type"/>
<result column="corp_id" jdbcType="VARCHAR" property="corpId"/>
</resultMap>
<!--<cache type="${corePackag!}.util.RedisCache"/>-->
</mapper>
\ No newline at end of file
......@@ -12,6 +12,7 @@
<result column="remarks" jdbcType="VARCHAR" property="remarks"/>
<result column="lesson_id" jdbcType="VARCHAR" property="lessonId"/>
<result column="type" jdbcType="VARCHAR" property="type"/>
<result column="corp_id" jdbcType="VARCHAR" property="corpId"/>
</resultMap>
<!--<cache type="${corePackag!}.util.RedisCache"/>-->
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment