package com.gkhy.safePlatform.account.rpc.test;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.gkhy.safePlatform.account.enums.schedule.TimeTypeEnum;
|
import com.gkhy.safePlatform.account.model.dto.req.AccountAddReqDTO;
|
import com.gkhy.safePlatform.account.model.dto.req.AccountModReqDTO;
|
import com.gkhy.safePlatform.account.model.dto.resp.*;
|
import com.gkhy.safePlatform.account.model.query.AccountQuery;
|
import com.gkhy.safePlatform.account.rpc.apimodel.AccountUserService;
|
import com.gkhy.safePlatform.account.rpc.apimodel.model.req.AccountAddRPCReqDTO;
|
import com.gkhy.safePlatform.account.rpc.apimodel.model.req.AccountModRPCReqDTO;
|
import com.gkhy.safePlatform.account.rpc.apimodel.model.req.query.AccountRPCQuery;
|
import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.*;
|
import com.gkhy.safePlatform.account.service.AccountService;
|
import com.gkhy.safePlatform.commons.co.ContextCacheUser;
|
import com.gkhy.safePlatform.commons.enums.ResultCodes;
|
import com.gkhy.safePlatform.commons.exception.AusinessException;
|
import com.gkhy.safePlatform.commons.exception.BusinessException;
|
import com.gkhy.safePlatform.commons.query.PageQuery;
|
import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
|
import com.gkhy.safePlatform.commons.vo.ResultVO;
|
import com.gkhy.safePlatform.commons.vo.SearchResultVO;
|
import org.apache.dubbo.config.annotation.DubboService;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import java.time.LocalDate;
|
import java.util.ArrayList;
|
import java.util.Collections;
|
import java.util.List;
|
|
|
@DubboService
|
public class AccountUserServiceProvider implements AccountUserService {
|
|
|
@Autowired
|
private AccountService accountService;
|
|
@Override
|
public String getAccountPage(Long userId, PageQuery<AccountRPCQuery> RPCPageQuery) {
|
;
|
AccountQuery accountQuery = new AccountQuery();
|
BeanUtils.copyProperties(RPCPageQuery.getSearchParams(), accountQuery);
|
PageQuery<AccountQuery> pageQuery = new PageQuery<>();
|
pageQuery.setPageIndex(RPCPageQuery.getPageIndex());
|
pageQuery.setPageSize(RPCPageQuery.getPageSize());
|
pageQuery.setSearchParams(accountQuery);
|
SearchResultVO<List<UserDetailRespDTO>> accountPage = accountService.listAccountByPage(userId, pageQuery);
|
return JSONObject.toJSONString(accountPage);
|
}
|
|
|
@Override
|
public ResultVO<List<DepUserRPCRespDTO>> getDepList(Long userId,Long depId) {
|
try {
|
List<DepUserInfoRespDTO> depUserList = accountService.getDepUserList(userId, depId);
|
List<DepUserRPCRespDTO> data = BeanCopyUtils.copyBeanList(depUserList, DepUserRPCRespDTO.class);
|
return new ResultVO<>(ResultCodes.OK, data);
|
} catch (AusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (BusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (Exception e) {
|
ResultVO resultVO = new ResultVO<>();
|
resultVO.setCode(ResultCodes.SERVER_ERROR);
|
return resultVO;
|
// return new ResultVO<>(ResultCodes.SERVER_ERROR);
|
}
|
}
|
|
@Override
|
public ResultVO<String> addAccount(ContextCacheUser currentUser, AccountAddRPCReqDTO accountAddRPCReqDTO) {
|
;
|
ResultVO<String> result = new ResultVO<>(ResultCodes.OK);
|
try {
|
AccountAddReqDTO accountAddReqDTO = new AccountAddReqDTO();
|
BeanUtils.copyProperties(accountAddRPCReqDTO, accountAddReqDTO);
|
accountService.addAccount(currentUser,accountAddReqDTO);
|
} catch (AusinessException e) {
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
} catch (BusinessException e) {
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
} catch (Exception e) {
|
result.setCode(ResultCodes.SERVER_ERROR.getCode());
|
result.setMsg(ResultCodes.SERVER_ERROR.getDesc());
|
}
|
return result;
|
}
|
|
@Override
|
public ResultVO<String> modAccount(ContextCacheUser currentUser, AccountModRPCReqDTO accountModRPCReqDTO) {
|
;
|
ResultVO<String> result = new ResultVO<>(ResultCodes.OK);
|
try {
|
AccountModReqDTO accountModReqDTO = new AccountModReqDTO();
|
BeanUtils.copyProperties(accountModRPCReqDTO, accountModReqDTO);
|
accountService.modAccount(currentUser,accountModReqDTO);
|
} catch (AusinessException e) {
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
} catch (BusinessException e) {
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
} catch (Exception e) {
|
result.setCode(ResultCodes.SERVER_ERROR.getCode());
|
result.setMsg(ResultCodes.SERVER_ERROR.getDesc());
|
}
|
return result;
|
}
|
|
@Override
|
public ResultVO<String> delAccount(ContextCacheUser currentUser, Long id) {
|
;
|
ResultVO<String> result = new ResultVO<>(ResultCodes.OK);
|
try {
|
accountService.delAccount(currentUser, id);
|
} catch (AusinessException e) {
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
} catch (BusinessException e) {
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
} catch (Exception e) {
|
result.setCode(ResultCodes.SERVER_ERROR.getCode());
|
result.setMsg(ResultCodes.SERVER_ERROR.getDesc());
|
}
|
return result;
|
|
}
|
|
@Override
|
public ResultVO<PersonalDetailRPCRespDTO> getPersonalAccountDetail(Long userId) {
|
;
|
PersonalDetailRespDTO personalDetailRespDTO = accountService.getPersonalAccountByUserId(userId);
|
assert personalDetailRespDTO != null;
|
PersonalDetailRPCRespDTO personalDetailRPCRespDTO = new PersonalDetailRPCRespDTO();
|
BeanUtils.copyProperties(personalDetailRespDTO,personalDetailRPCRespDTO);
|
// 部门
|
if (personalDetailRespDTO.getDepartment() != null) {
|
PersonalDetailDepRPCRespDTO personalDetailDepRPCRespDTO = new PersonalDetailDepRPCRespDTO();
|
BeanUtils.copyProperties(personalDetailRespDTO.getDepartment(), personalDetailDepRPCRespDTO);
|
personalDetailRPCRespDTO.setDepartment(personalDetailDepRPCRespDTO);
|
}
|
// 角色
|
if (personalDetailRespDTO.getRole() != null) {
|
PersonalDetailRoleRPCRespDTO personalDetailRoleRPCRespDTO = new PersonalDetailRoleRPCRespDTO();
|
BeanUtils.copyProperties(personalDetailRespDTO.getRole(), personalDetailRoleRPCRespDTO);
|
personalDetailRPCRespDTO.setRole(personalDetailRoleRPCRespDTO);
|
}
|
|
return new ResultVO<>(ResultCodes.OK,personalDetailRPCRespDTO);
|
}
|
|
@Override
|
public ResultVO<UserGroupTimTableRPCRespDTO> getUserGroupWorkTimeTable(Long uid,LocalDate startTime,LocalDate endTime) {
|
UserGroupTimTableRPCRespDTO res = new UserGroupTimTableRPCRespDTO();
|
UserGroupTimTableRespDTO userGroupWorkSchedule = accountService.getUserGroupWorkSchedule(uid,startTime,endTime);
|
if (userGroupWorkSchedule != null) {
|
res.setGroupId(userGroupWorkSchedule.getGroupId());
|
res.setGroupName(userGroupWorkSchedule.getGroupName());
|
res.setPhone(userGroupWorkSchedule.getPhone());
|
res.setUid(userGroupWorkSchedule.getUid());
|
res.setRealName(userGroupWorkSchedule.getRealName());
|
res.setUsername(userGroupWorkSchedule.getUsername());
|
if (userGroupWorkSchedule.getTimeDetails() != null) {
|
List<UserTimeTableDetailRespDTO> userTimeTableDetailRespDTOS = userGroupWorkSchedule.getTimeDetails();
|
List<UserTimeTableRPCRespDTO> result = new ArrayList<>(userTimeTableDetailRespDTOS.size());
|
if (userTimeTableDetailRespDTOS.size() > 0) {
|
UserTimeTableRPCRespDTO rpcRespDTO;
|
for (UserTimeTableDetailRespDTO detail : userTimeTableDetailRespDTOS) {
|
rpcRespDTO = new UserTimeTableRPCRespDTO();
|
rpcRespDTO.setStartTime(detail.getStartTime());
|
rpcRespDTO.setEndTime(detail.getEndTime());
|
rpcRespDTO.setType(detail.getType());
|
TimeTypeEnum timeTypeEnum = TimeTypeEnum.parse(detail.getType());
|
if (timeTypeEnum != null) {
|
rpcRespDTO.setTypeDesc(timeTypeEnum.getValue());
|
}
|
result.add(rpcRespDTO);
|
}
|
}
|
res.setTimeDetails(result);
|
}
|
|
|
|
}
|
|
return new ResultVO<>(ResultCodes.OK, res);
|
}
|
|
@Override
|
public ResultVO<UserInfoRPCRespDTO> getUserInfoByUid(Long uid) {
|
try {
|
UserInfoRPCRespDTO result = null;
|
UserInfoRespDTO userInfo = accountService.getUserInfoByUid(uid);
|
if (userInfo != null) {
|
result = new UserInfoRPCRespDTO();
|
BeanUtils.copyProperties(userInfo,result);
|
}
|
return new ResultVO<>(ResultCodes.OK,result);
|
} catch (AusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (BusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (Exception e) {
|
ResultVO resultVO = new ResultVO<>();
|
resultVO.setCode(ResultCodes.SERVER_ERROR);
|
return resultVO;
|
// return new ResultVO<>(ResultCodes.SERVER_ERROR);
|
}
|
|
}
|
|
@Override
|
public ResultVO<List<UserInfoRPCRespDTO>> listUserInfoByUids(List<Long> uids) {
|
try {
|
List<UserInfoRespDTO> data = accountService.listUserByUids(uids);
|
List<UserInfoRPCRespDTO> result = new ArrayList<>(data.size());
|
UserInfoRPCRespDTO rpcRespDTO;
|
for (UserInfoRespDTO respDTO : data) {
|
rpcRespDTO = new UserInfoRPCRespDTO();
|
rpcRespDTO.setUid(respDTO.getUid());
|
rpcRespDTO.setUuid(respDTO.getUuid());
|
rpcRespDTO.setUsername(respDTO.getUsername());
|
rpcRespDTO.setRealName(respDTO.getRealName());
|
rpcRespDTO.setGender(respDTO.getGender());
|
rpcRespDTO.setType(respDTO.getType());
|
rpcRespDTO.setStatus(respDTO.getStatus());
|
rpcRespDTO.setPhone(respDTO.getPhone());
|
rpcRespDTO.setIdentify(respDTO.getIdentify());
|
rpcRespDTO.setEmail(respDTO.getEmail());
|
rpcRespDTO.setDepId(respDTO.getDepId());
|
rpcRespDTO.setRoleId(respDTO.getRoleId());
|
rpcRespDTO.setPositionId(respDTO.getPositionId());
|
result.add(rpcRespDTO);
|
}
|
return new ResultVO<>(ResultCodes.OK,result);
|
} catch (AusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (BusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (Exception e) {
|
ResultVO resultVO = new ResultVO<>();
|
resultVO.setCode(ResultCodes.SERVER_ERROR);
|
return resultVO;
|
// return new ResultVO<>(ResultCodes.SERVER_ERROR);
|
}
|
}
|
|
@Override
|
public ResultVO<List<UserInfoRPCRespDTO>> listUserInfoByRealName(String realName) {
|
try {
|
|
List<UserInfoRespDTO> userInfoRespDTOs = accountService.listUserByRealName(realName);
|
List<UserInfoRPCRespDTO> result = new ArrayList<>(userInfoRespDTOs.size());
|
if (userInfoRespDTOs.size() > 0) {
|
UserInfoRPCRespDTO rpcRespDTO;
|
for (UserInfoRespDTO respDTO : userInfoRespDTOs) {
|
rpcRespDTO = new UserInfoRPCRespDTO();
|
rpcRespDTO.setUid(respDTO.getUid());
|
rpcRespDTO.setUuid(respDTO.getUuid());
|
rpcRespDTO.setUsername(respDTO.getUsername());
|
rpcRespDTO.setRealName(respDTO.getRealName());
|
rpcRespDTO.setGender(respDTO.getGender());
|
rpcRespDTO.setType(respDTO.getType());
|
rpcRespDTO.setStatus(respDTO.getStatus());
|
rpcRespDTO.setPhone(respDTO.getPhone());
|
rpcRespDTO.setIdentify(respDTO.getIdentify());
|
rpcRespDTO.setEmail(respDTO.getEmail());
|
rpcRespDTO.setDepId(respDTO.getDepId());
|
rpcRespDTO.setRoleId(respDTO.getRoleId());
|
rpcRespDTO.setPositionId(respDTO.getPositionId());
|
result.add(rpcRespDTO);
|
}
|
}
|
return new ResultVO<>(ResultCodes.OK, result);
|
} catch (AusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (BusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (Exception e) {
|
ResultVO resultVO = new ResultVO<>();
|
resultVO.setCode(ResultCodes.SERVER_ERROR);
|
return resultVO;
|
// return new ResultVO<>(ResultCodes.SERVER_ERROR);
|
}
|
}
|
|
|
}
|