Commit c7ce5589 authored by zuoyh's avatar zuoyh

员工信息修改_APP用户列表联动更新

parent 66b4981b
......@@ -6,14 +6,12 @@ import com.github.wxiaoqi.security.admin.bo.UserStaffBo;
import com.github.wxiaoqi.security.admin.dto.AccountBindDTO;
import com.github.wxiaoqi.security.admin.dto.StaffStatisticsFindDTO;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.mapper.AppUserDetailMapper;
import com.github.wxiaoqi.security.admin.rpc.service.AppPermissionService;
import com.github.wxiaoqi.security.admin.vo.AppUserInfoVo;
import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.im.utils.BeanUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.collections.CollectionUtils;
......@@ -38,14 +36,9 @@ import java.util.stream.Collectors;
@Transactional(rollbackFor = Exception.class)
public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail> {
@Autowired
AppUserPositionTempBiz appUserPositionTempBiz;
@Autowired
AppUserLoginBiz appUserLoginBiz;
@Autowired
AppUserDetailBiz appUserDetailBiz;
@Override
@CacheClear(pre = "user{1.userid}")
......@@ -106,13 +99,13 @@ public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
AppUserDetail entity = new AppUserDetail();
Example example = new Example(AppUserDetail.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("userid", userVo.getUserid());
criteria.andEqualTo("userid",userVo.getUserid());
try {
BeanUtils.copyProperties(entity, userVo);
if (entity != null) {
entity.setUpdHost(AppPermissionService.getIp());
entity.setUpdatetime(Instant.now().toEpochMilli() / 1000L);
mapper.updateByExampleSelective(entity, example);
mapper.updateByExampleSelective(entity,example);
}
} catch (Exception e) {
......@@ -143,6 +136,10 @@ public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
mapper.deleteByExample(example);
}
@CacheClear(pre = "user{1}")
public void updateUserPositionByUserId(Integer userId, Integer positionId) {
mapper.updateUserPositionByUserId(userId,positionId);
}
public AppUserInfoVo findUserInfoByCode(String code) {
AppUserInfoVo appUserInfoVo = new AppUserInfoVo();
......@@ -151,7 +148,7 @@ public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
appUserDetail.setCode(code);
AppUserDetail userDetail = mapper.selectOne(appUserDetail);
if (userDetail == null) {
if (userDetail==null){
return appUserInfoVo;
}
appUserInfoVo.setHeadimgurl(userDetail.getHeadimgurl());
......@@ -163,19 +160,19 @@ public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
return mapper.getUserIdByUsername(keywords);
}
public void updateByUserId(AccountBindDTO accountBindDTO, Integer userId) {
public void updateByUserId(AccountBindDTO accountBindDTO,Integer userId) {
AppUserDetail appUserDetail = new AppUserDetail();
if (accountBindDTO.getType().equals("wx")) {
if (accountBindDTO.getType().equals("wx")){
appUserDetail.setWxNickname(accountBindDTO.getNickName());
}
if (accountBindDTO.getType().equals("q")) {
if(accountBindDTO.getType().equals("q")){
appUserDetail.setQqNickname(accountBindDTO.getNickName());
}
Example example = new Example(AppUserDetail.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("userid", userId);
mapper.updateByExampleSelective(appUserDetail, example);
criteria.andEqualTo("userid",userId);
mapper.updateByExampleSelective(appUserDetail,example);
}
public List<AppUserVo> getUserByUserIds(List<Integer> ids) {
......@@ -184,21 +181,21 @@ public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
public List<UserStaffBo> findAllStaffs() {
List<UserStaffBo> userStaffBos = mapper.selectAllStaffs();
return CollectionUtils.isEmpty(userStaffBos) ? Collections.EMPTY_LIST : userStaffBos;
return CollectionUtils.isEmpty(userStaffBos)? Collections.EMPTY_LIST:userStaffBos;
}
public List<AppUserVo> getUserByUserIdList(List<Integer> userIds) {
List<AppUserVo> appUserVos = mapper.getUserByUserIdList(userIds);
return CollectionUtils.isEmpty(appUserVos) ? Collections.EMPTY_LIST : appUserVos;
return CollectionUtils.isEmpty(appUserVos)?Collections.EMPTY_LIST:appUserVos;
}
public PageDataVO<UserStaffBo> findAllStaffsByCompanyIdAndPostionIdWithPage(StaffStatisticsFindDTO staffStatisticsFindDTO) {
return PageDataVO.pageInfo(staffStatisticsFindDTO.getPage(), staffStatisticsFindDTO.getLimit(), () -> mapper.findAllStaffsByCompanyIdAndPostionId(staffStatisticsFindDTO));
return PageDataVO.pageInfo(staffStatisticsFindDTO.getPage(),staffStatisticsFindDTO.getLimit(),()->mapper.findAllStaffsByCompanyIdAndPostionId(staffStatisticsFindDTO));
}
public List<UserStaffBo> findStaffsByIdsAndCompanyAndPostion(StaffStatisticsFindDTO staffStatisticsFindDTO) {
List<UserStaffBo> staffBos = mapper.findAllStaffsByCompanyIdAndPostionId(staffStatisticsFindDTO);
return CollectionUtils.isEmpty(staffBos) ? Collections.EMPTY_LIST : staffBos;
return CollectionUtils.isEmpty(staffBos)?Collections.EMPTY_LIST:staffBos;
}
public AppUserVo findByCode(String code) {
......@@ -206,26 +203,15 @@ public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
AppUserDetail appUserDetail = new AppUserDetail();
appUserDetail.setCode(code);
appUserDetail = mapper.selectOne(appUserDetail);
org.springframework.beans.BeanUtils.copyProperties(appUserDetail, appUserVo);
org.springframework.beans.BeanUtils.copyProperties(appUserDetail,appUserVo);
return appUserVo;
}
@CacheClear(pre = "user{1}")
public void updateUserPositionByUserId(Integer userId, Integer positionId) {
mapper.updateUserPositionByUserId(userId, positionId);
}
public AppUserVo getUser(Integer userId) {
@CacheClear(pre = "user{1}")
public void updateUserPosition(Integer userId, Integer positionId, Integer operatorId) {
AppUserLogin appUserLogin = new AppUserLogin();
if (appUserLoginBiz.selectById(userId) != null) {
appUserLogin= appUserLoginBiz.selectById(userId);
if (appUserLogin != null) {
String phone = appUserLogin.getUsername();
appUserPositionTempBiz.findUserPositionTemp(phone, positionId, operatorId);
}
}
mapper.updateUserPositionByUserId(userId, positionId);
return mapper.getUser(userId);
}
}
......@@ -7,6 +7,7 @@ import com.github.wxiaoqi.security.admin.dto.AccountBindDTO;
import com.github.wxiaoqi.security.admin.bo.UserBo;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.entity.AppUserPositionTemp;
import com.github.wxiaoqi.security.admin.entity.AppUserRelation;
import com.github.wxiaoqi.security.admin.mapper.AppUserLoginMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
......@@ -66,6 +67,9 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
@Autowired
private AppUserSellingWaterBiz appUserSellingWaterBiz;
@Autowired
private AppUserPositionTempBiz appUserPositionTempBiz;
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
@Override
public void insertSelective(AppUserLogin entity) {
......@@ -252,7 +256,7 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
public Map<String, Integer> findPhoneAndUserIdMapByPhonesForDel(List<String> phones) {
Example example = new Example(AppUserLogin.class);
Example.Criteria criteria = example.createCriteria();
criteria.andIn("username",phones);
criteria.andIn("username", phones);
List<AppUserLogin> appUserLogins = mapper.selectByExample(example);
Map<String, Integer> phoneAndUserIdMap = null;
if (CollectionUtils.isNotEmpty(appUserLogins)) {
......@@ -346,7 +350,7 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
public List<AppUserLogin> getUserByUsernameAndRealName(String username, String realName) {
return mapper.getUserByUsernameAndRealName(username,realName);
return mapper.getUserByUsernameAndRealName(username, realName);
}
......@@ -421,7 +425,7 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
public List<Integer> findAppuser(String phone, String leaderPhone, String name) {
List<Integer> memberIds = null;
//1.根据leader手机号查询userid
boolean isNoNullLeaderPhone = StringUtils.isNotEmpty(leaderPhone) && leaderPhone.trim().length()>0;
boolean isNoNullLeaderPhone = StringUtils.isNotEmpty(leaderPhone) && leaderPhone.trim().length() > 0;
if (isNoNullLeaderPhone) {
List<AppUserLogin> appUserLogins = mapper.selectbyPhones(Arrays.asList(leaderPhone));
Integer leaderId = null;
......@@ -431,18 +435,18 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
leaderId = appUserLogins.get(0).getId();
//2.根据leader userId查询下级 userid
if (Objects.nonNull(leaderId)) {
memberIds = appUserSellingWaterBiz.findMemberIdByLeaderIdAndOrdreType(leaderId,3);
if(CollectionUtils.isEmpty(memberIds)){
memberIds = appUserSellingWaterBiz.findMemberIdByLeaderIdAndOrdreType(leaderId, 3);
if (CollectionUtils.isEmpty(memberIds)) {
return Collections.EMPTY_LIST;
}
}
}
List<Integer> userIds = mapper.findAppUser(phone, name, memberIds);
return userIds==null?Collections.EMPTY_LIST:userIds;
return userIds == null ? Collections.EMPTY_LIST : userIds;
}
public List<UserBo> findUserDetailInfo(List<UserBo> userBos) {
Map<String, Integer> userIdAndFacilitateIdMap = userBos.stream().filter(x->Objects.nonNull(x.getFacilitateId())).collect(Collectors.toMap(UserBo::getOrderNo, UserBo::getFacilitateId));
Map<String, Integer> userIdAndFacilitateIdMap = userBos.stream().filter(x -> Objects.nonNull(x.getFacilitateId())).collect(Collectors.toMap(UserBo::getOrderNo, UserBo::getFacilitateId));
List<Integer> userIdList = userBos.stream().map(UserBo::getUserId).distinct().collect(Collectors.toList());
//查询上级人
......@@ -450,13 +454,13 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
Map<Integer, Integer> memberIdAndParentMap = appUserRelationList.stream().collect(Collectors.toMap(AppUserRelation::getUserId, AppUserRelation::getParentId));
List<Integer> uids = new ArrayList<>();
uids.addAll(userIdAndFacilitateIdMap==null?Collections.EMPTY_LIST:userIdList);
uids.addAll(userIdAndFacilitateIdMap==null?Collections.EMPTY_LIST:userIdAndFacilitateIdMap.values());
uids.addAll(memberIdAndParentMap==null?Collections.EMPTY_LIST:memberIdAndParentMap.values());
uids.addAll(userIdAndFacilitateIdMap == null ? Collections.EMPTY_LIST : userIdList);
uids.addAll(userIdAndFacilitateIdMap == null ? Collections.EMPTY_LIST : userIdAndFacilitateIdMap.values());
uids.addAll(memberIdAndParentMap == null ? Collections.EMPTY_LIST : memberIdAndParentMap.values());
List<UserBo> userBoList = mapper.selectByUserIds(uids);
Map<Integer, UserBo> userMap = userBoList==null?Collections.EMPTY_MAP:userBoList.stream().collect(Collectors.toMap(UserBo::getUserId, Function.identity()));
if (userMap.isEmpty()){
Map<Integer, UserBo> userMap = userBoList == null ? Collections.EMPTY_MAP : userBoList.stream().collect(Collectors.toMap(UserBo::getUserId, Function.identity()));
if (userMap.isEmpty()) {
return Collections.EMPTY_LIST;
}
......@@ -479,4 +483,22 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
}
return userBos;
}
@CacheClear(pre = "user{1}")
public void updateUserPosition(Integer userId, Integer positionId, Integer operatorId) {
AppUserLogin appUserLogin = selectById(userId);
if (appUserLogin != null) {
String phone = appUserLogin.getUsername();
appUserPositionTempBiz.findUserPositionTemp(phone, positionId, operatorId);
}
appUserDetailBiz.updateUserPositionByUserId(userId, positionId);
}
@CacheClear(pre = "user{1}")
public void updateUserPosition(Integer userId, Integer positionId) {
appUserDetailBiz.updateUserPositionByUserId(userId, positionId);
}
}
......@@ -303,6 +303,8 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A
return result;
}
private enum DataStatus {
USERED(1), NO_USERED(0);
private int code;
......@@ -426,7 +428,7 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A
//用户表更改其身份
AppUserLogin userLogin = loginBiz.checkeUserLogin(userPositionTemp.getPhone());
if (userLogin != null) {
appUserDetailBiz.updateUserPosition(userLogin.getId(), appUserPositionTempDTO.getPositionId(), operatorId);
loginBiz.updateUserPosition(userLogin.getId(), appUserPositionTempDTO.getPositionId());
}
return ObjectRestResponse.succ();
}
......@@ -447,7 +449,7 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A
AppUserLogin userLogin = loginBiz.checkeUserLogin(userPositionTemp.getPhone());
if (userLogin != null) {
AppUserDetail appUserDetail = new AppUserDetail();
appUserDetailBiz.updateUserPosition(userLogin.getId(), appUserPositionTempDTO.getPositionId(), operatorId);
loginBiz.updateUserPosition(userLogin.getId(), appUserPositionTempDTO.getPositionId(), operatorId);
}
return ObjectRestResponse.succ();
}
......
......@@ -17,4 +17,5 @@ public interface AppUserPositionMapper extends Mapper<AppUserPosition>, IdListMa
AppUserPosition getExtractByUserId(@Param("userId")Integer userId);
}
......@@ -22,5 +22,7 @@ public interface AppUserPositionTempMapper extends Mapper<AppUserPositionTemp> {
@Insert("INSERT IGNORE INTO `app_user_position_temp`(`user_id`,`phone`,`name`,`position_id`,`crt_time`)VALUES(#{userId},#{phone},#{name},#{positionId},#{crtTime})")
void insertWithIgnoreRepeat(AppUserPositionTemp appUserPositionTemp);
List<Integer> getUserIdByParentCompany(@Param("parentCompanyId") List<Integer> parentCompanyId);
}
......@@ -159,7 +159,7 @@ public class AppUsersManageController extends BaseController<AppUserManageBiz, A
try {
IJWTInfo infoFromToken = userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request));
Integer operatorId = Integer.valueOf(infoFromToken.getId());
appUserDetailBiz.updateUserPosition(id, positionId,operatorId);
appUserLoginBiz.updateUserPosition(id, positionId,operatorId);
return ObjectRestResponse.succ();
} catch (Exception e) {
log.error("修改失败【{}】", e);
......
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