Browse Source

个人信息查询

master
zy_Java 5 years ago
parent
commit
8e66b4f1f3
  1. 2
      tall/src/main/java/com/ccsens/tall/bean/vo/RingVo.java
  2. 54
      tall/src/main/java/com/ccsens/tall/bean/vo/UserVo.java
  3. 15
      tall/src/main/java/com/ccsens/tall/persist/dao/SysUserDao.java
  4. 9
      tall/src/main/java/com/ccsens/tall/service/IUserInfoService.java
  5. 1
      tall/src/main/java/com/ccsens/tall/service/LabelService.java
  6. 27
      tall/src/main/java/com/ccsens/tall/service/RingService.java
  7. 12
      tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java
  8. 1
      tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java
  9. 23
      tall/src/main/java/com/ccsens/tall/service/UserInfoService.java
  10. 12
      tall/src/main/java/com/ccsens/tall/web/UserInfoController.java
  11. 2
      tall/src/main/resources/application-dev.yml
  12. 3
      tall/src/main/resources/mapper_dao/DeliverDao.xml
  13. 4
      tall/src/main/resources/mapper_dao/SysRingMsgDao.xml
  14. 35
      tall/src/main/resources/mapper_dao/SysUserDao.xml
  15. 2
      util/src/main/java/com/ccsens/util/CodeEnum.java

2
tall/src/main/java/com/ccsens/tall/bean/vo/RingVo.java

@ -57,5 +57,7 @@ public class RingVo {
private Long id;
@ApiModelProperty("发送者的名字")
private String name;
@ApiModelProperty("发送者的头像")
private String avatarUrl;
}
}

54
tall/src/main/java/com/ccsens/tall/bean/vo/UserVo.java

@ -6,6 +6,10 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import java.util.Date;
import java.util.List;
@Data
public class UserVo {
@Data
@ -90,4 +94,54 @@ public class UserVo {
@ApiModelProperty("用户id")
private Long userId;
}
@Data
@ApiModel("查询个人信息")
public static class SelectUserInfo{
@ApiModelProperty("userId")
private Long id;
@ApiModelProperty("账号")
private String account;
@ApiModelProperty("手机号")
private String phone;
@ApiModelProperty("昵称")
private String nickname;
@ApiModelProperty("头像")
private String avatarUrl;
@ApiModelProperty("个人签名")
private String signature;
@ApiModelProperty("个人简介")
private String introduction;
@ApiModelProperty("生日")
private String birthday;
@ApiModelProperty("所在地")
private String address;
@ApiModelProperty("网页")
private String webPath;
@ApiModelProperty("公司")
private String company;
@ApiModelProperty("职位")
private String position;
@ApiModelProperty("已使用tall多少天")
private Integer dayOfUseTall;
@JsonIgnore // 已使用tall多少天
private Date createdAt;
@ApiModelProperty("空间使用情况")
private Interspace interspace;
@ApiModelProperty("标签信息")
private List<LabelVo.SelectLabel> labelList;
}
@Data
@ApiModel("空间使用信息")
public static class Interspace{
@ApiModelProperty("空间已有项目")
private Integer projectNum;
@ApiModelProperty("空间总项目(目前写无限制)")
private Integer projectTotal;
@ApiModelProperty("空间剩余(目前写无限制)")
private Integer interspaceResidue;
@ApiModelProperty("总空间(目前写无限制)")
private Integer interspaceTotal;
}
}

15
tall/src/main/java/com/ccsens/tall/persist/dao/SysUserDao.java

@ -1,5 +1,6 @@
package com.ccsens.tall.persist.dao;
import com.ccsens.tall.bean.vo.UserVo;
import com.ccsens.tall.persist.mapper.SysUserMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@ -24,4 +25,18 @@ public interface SysUserDao extends SysUserMapper {
String getUserNameByUserId(@Param("userId") Long userId);
void replaceComment(@Param("oldUserId")Long userId, @Param("newUserId") Long currentUserId);
/**
* 查找个人详细信息
* @param currentUserId userId
* @return 个人信息
*/
UserVo.SelectUserInfo selectUserInfo(@Param("userId")Long currentUserId);
/**
* 获取空间使用信息
* @param currentUserId userId
* @return 目前只查询用户创建了几个项目
*/
UserVo.Interspace selectInterspace(@Param("userId")Long currentUserId);
}

9
tall/src/main/java/com/ccsens/tall/service/IUserInfoService.java

@ -1,6 +1,7 @@
package com.ccsens.tall.service;
import com.ccsens.tall.bean.dto.UserDto;
import com.ccsens.tall.bean.vo.UserVo;
import com.ccsens.util.NotSupportedFileTypeException;
import javax.servlet.http.Part;
@ -27,6 +28,14 @@ public interface IUserInfoService {
* 上传头像
* @param currentUserId userId
* @param file 上传的文件
* @throws Exception 文件异常
*/
void uploadAvatarUrl(Long currentUserId, Part file) throws Exception;
/**
* 查找全部个人信息
* @param currentUserId userId
* @return 个人信息
*/
UserVo.SelectUserInfo selectUserInfo(Long currentUserId);
}

1
tall/src/main/java/com/ccsens/tall/service/LabelService.java

@ -58,6 +58,7 @@ public class LabelService implements ILabelService{
/**
* 查找此用户的所有标签
* @param currentUserId userId
* @param key 标签名包含的关键字
* @return 返回该用户添加的所有标签
*/
@Override

27
tall/src/main/java/com/ccsens/tall/service/RingService.java

@ -3,6 +3,7 @@ package com.ccsens.tall.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.ccsens.tall.bean.dto.RingDto;
import com.ccsens.tall.bean.dto.message.BaseMessageDto;
import com.ccsens.tall.bean.dto.message.RingMessageWithReadDto;
@ -10,11 +11,14 @@ import com.ccsens.tall.bean.dto.message.RingMessageWithSendDto;
import com.ccsens.tall.bean.po.SysRingMsg;
import com.ccsens.tall.bean.po.SysRingSend;
import com.ccsens.tall.bean.po.SysRingSendExample;
import com.ccsens.tall.bean.po.SysUser;
import com.ccsens.tall.bean.vo.RingVo;
import com.ccsens.tall.persist.dao.SysRingMsgDao;
import com.ccsens.tall.persist.dao.SysRingSendDao;
import com.ccsens.tall.persist.dao.SysUserDao;
import com.ccsens.util.CodeEnum;
import com.ccsens.util.JacksonUtil;
import com.ccsens.util.PropUtil;
import com.ccsens.util.config.RabbitMQConfig;
import com.ccsens.util.exception.BaseException;
import com.fasterxml.jackson.core.JsonProcessingException;
@ -22,7 +26,6 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@ -46,6 +49,8 @@ public class RingService implements IRingService {
@Resource
private IUserService userService;
@Resource
private SysUserDao userDao;
@Resource
private RabbitTemplate rabbitTemplate;
@ -112,8 +117,18 @@ public class RingService implements IRingService {
List<RingVo.RingInfo> ringInfoList = sysRingMsgDao.selectRingInfoByProject(currentUserId, getRingDto.getProjectId());
if (CollectionUtil.isNotEmpty(ringInfoList)) {
ringInfoList.forEach(ringInfo -> {
//添加接收角色的信息
List<RingVo.MsgReceiveRole> msgReceiveRole = sysRingMsgDao.ringReceiveRole(ringInfo.getMessageId());
ringInfo.setRoleList(msgReceiveRole);
//添加发送者的头像
if(ObjectUtil.isNotNull(ringInfo.getSender())) {
SysUser user = userDao.selectByPrimaryKey(ringInfo.getSender().getId());
if(ObjectUtil.isNotNull(user) && StrUtil.isNotEmpty(user.getAvatarUrl())){
ringInfo.getSender().setAvatarUrl(user.getAvatarUrl());
}else {
ringInfo.getSender().setAvatarUrl(PropUtil.notGatewayUrl + "staticrec/logo.png");
}
}
});
}
@ -170,8 +185,18 @@ public class RingService implements IRingService {
List<RingVo.RingInfo> ringInfos = sysRingMsgDao.selectRingInfoByRingMsgId(currentUserId, message.getProjectId(),msgId);
if (CollectionUtil.isNotEmpty(ringInfos)) {
ringInfos.forEach(ringInfo -> {
//添加接收角色的信息
List<RingVo.MsgReceiveRole> msgReceiveRole = sysRingMsgDao.ringReceiveRole(msgId);
ringInfo.setRoleList(msgReceiveRole);
//添加发送者的头像
if(ObjectUtil.isNotNull(ringInfo.getSender())) {
SysUser user = userDao.selectByPrimaryKey(ringInfo.getSender().getId());
if(ObjectUtil.isNotNull(user) && StrUtil.isNotEmpty(user.getAvatarUrl())){
ringInfo.getSender().setAvatarUrl(user.getAvatarUrl());
}else {
ringInfo.getSender().setAvatarUrl(PropUtil.notGatewayUrl + "staticrec/logo.png");
}
}
});
}
ringInfoList.addAll(ringInfos);

12
tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java

@ -208,7 +208,11 @@ public class TaskDeliverService implements ITaskDeliverService {
if (CollectionUtil.isNotEmpty(uploadDeliver.getFileInfo())) {
for (DeliverDto.fileInfo fileInfo : uploadDeliver.getFileInfo()) {
SysCommitedFile file = commitedFileDao.selectByPrimaryKey(fileInfo.getId());
deliverPostLog.setFileId(fileInfo.getId());
if(ObjectUtil.isNotNull(file)){
deliverPostLog.setFileId(file.getId());
}else {
throw new BaseException(CodeEnum.NOT_DELIVER_FILE);
}
}
}
deliverPostLog.setUserId(currentUserId);
@ -281,12 +285,6 @@ public class TaskDeliverService implements ITaskDeliverService {
rabbitTemplate.convertAndSend(RabbitMQConfig.RabbitMQ_QUEUE_NAME,
JacksonUtil.beanToJson(uploadMessage));
// MessageRule messageRule = MessageRule.defaultRule(MessageConstant.DomainType.User);
// String s = JacksonUtil.beanToJson(uploadMessage);
// InMessage inMessage = InMessage.newToUserMessage(currentUserId.toString(),userIdSet,null,messageRule,s);
// String j = JacksonUtil.beanToJson(inMessage);
// System.out.println(j);
// messageService.sendDeliverMessageWithUpload(inMessage);
} else {
throw new BaseException(CodeEnum.IS_NOT_EXECUTOR);
}

1
tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java

@ -392,6 +392,7 @@ public class TaskSubTimeService implements ITaskSubTimeService {
ProTaskDeliver deliver = new ProTaskDeliver();
deliver.setId(snowflake.nextId());
deliver.setTaskDetailId(detail.getId());
deliver.setName(addTask.getTaskDeliver());
deliver.setIsInput(0);
taskDeliverDao.insertSelective(deliver);
}

23
tall/src/main/java/com/ccsens/tall/service/UserInfoService.java

@ -9,7 +9,9 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.ccsens.tall.bean.dto.UserDto;
import com.ccsens.tall.bean.po.*;
import com.ccsens.tall.bean.vo.UserVo;
import com.ccsens.tall.persist.dao.SysAuthDao;
import com.ccsens.tall.persist.dao.SysLabelDao;
import com.ccsens.tall.persist.dao.SysUserDao;
import com.ccsens.tall.util.TallConstant;
import com.ccsens.util.*;
@ -39,6 +41,8 @@ public class UserInfoService implements IUserInfoService{
private SysAuthDao sysAuthDao;
@Resource
private SysUserDao sysUserDao;
@Resource
private SysLabelDao sysLabelDao;
@Override
public void updateAccount(Long userId, UserDto.UpdateAccount changeAccount) {
@ -147,4 +151,23 @@ public class UserInfoService implements IUserInfoService{
sysUser.setAvatarUrl(PropUtil.gatewayUrl + WebConstant.TALL_UPLOADS + fullPath);
sysUserDao.updateByPrimaryKeySelective(sysUser);
}
@Override
public UserVo.SelectUserInfo selectUserInfo(Long currentUserId){
UserVo.SelectUserInfo selectUserInfo = sysUserDao.selectUserInfo(currentUserId);
if(ObjectUtil.isNotNull(selectUserInfo)){
//计算注册时长
if(ObjectUtil.isNotNull(selectUserInfo.getCreatedAt())){
long now = System.currentTimeMillis();
selectUserInfo.setDayOfUseTall((int) ((now - selectUserInfo.getCreatedAt().getTime()) / 1000 / 3600 / 24));
}
//获取标签信息
selectUserInfo.setLabelList(sysLabelDao.selectLabelByUserId(currentUserId,null));
//获取空间使用信息
UserVo.Interspace interspace = sysUserDao.selectInterspace(currentUserId);
selectUserInfo.setInterspace(interspace);
}
return selectUserInfo;
}
}

12
tall/src/main/java/com/ccsens/tall/web/UserInfoController.java

@ -3,6 +3,7 @@ package com.ccsens.tall.web;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.ImageUtil;
import com.ccsens.tall.bean.dto.UserDto;
import com.ccsens.tall.bean.vo.UserVo;
import com.ccsens.tall.service.IUserInfoService;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.UploadFileUtil_Servlet3;
@ -67,4 +68,15 @@ public class UserInfoController {
return JsonResponse.newInstance().ok();
}
@ApiOperation(value = "上传头像")
@ApiImplicitParams({
})
@RequestMapping(value = "", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"})
public JsonResponse<UserVo.SelectUserInfo> selectUserInfo(HttpServletRequest request) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
UserVo.SelectUserInfo selectUserInfo = userInfoService.selectUserInfo(currentUserId);
return JsonResponse.newInstance().ok(selectUserInfo);
}
}

2
tall/src/main/resources/application-dev.yml

@ -11,7 +11,7 @@ spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
rabbitmq:
host: 192.168.0.99
host: api.ccsens.com
password: 111111
port: 5672
username: admin

3
tall/src/main/resources/mapper_dao/DeliverDao.xml

@ -148,10 +148,9 @@
l.is_history as history,
l.user_id as userId
FROM
`t_pro_task_deliver_post_log` l JOIN t_sys_commited_file f on l.file_id = f.id
`t_pro_task_deliver_post_log` l LEFT JOIN t_sys_commited_file f on l.file_id = f.id
WHERE
l.task_sub_time_id = #{subTimeId}
group by l.file_id
ORDER BY l.time DESC
</select>

4
tall/src/main/resources/mapper_dao/SysRingMsgDao.xml

@ -46,6 +46,10 @@
FROM
t_sys_ring_msg m LEFT JOIN t_sys_ring_send s on m.id = s.ring_id
WHERE
m.rec_status = 0
and
s.rec_status = 0
and
(
m.sender_id = #{userId}
or

35
tall/src/main/resources/mapper_dao/SysUserDao.xml

@ -91,4 +91,39 @@
u.id = #{userId}
limit 1
</select>
<select id="selectUserInfo" parameterType="java.util.Map" resultType="com.ccsens.tall.bean.vo.UserVo$SelectUserInfo">
SELECT
u.id as id,
(SELECT identifier FROM t_sys_auth WHERE rec_status = 0 AND user_id = #{userId} and identify_type = 3) as account,
(SELECT identifier FROM t_sys_auth WHERE rec_status = 0 AND user_id = #{userId} and identify_type = 1) as phone,
u.nickname as nickname,
u.avatar_url as avatarUrl,
i.signature as signature,
i.introduction as introduction,
i.birthday as birthday,
i.address as address,
i.web_path as webPath,
i.company as company,
i.position as `position`,
u.created_at as createdAt
FROM
t_sys_user u LEFT JOIN t_sys_user_info i on u.id = i.user_id
WHERE
u.rec_status = 0
and
u.id = #{userId}
GROUP BY u.id
</select>
<select id="selectInterspace" parameterType="java.util.Map" resultType="com.ccsens.tall.bean.vo.UserVo$Interspace">
SELECT
count(id) as projectNum
FROM
t_sys_project
WHERE
rec_status = 0
and
creator_id = #{userId}
</select>
</mapper>

2
util/src/main/java/com/ccsens/util/CodeEnum.java

@ -49,7 +49,7 @@ public enum CodeEnum {
NOT_ROLE(37,"对不起,找不到该角色",true),
NOT_DELIVER(38,"对不起,找不到对应的交付物",true),
NOT_TASK(39,"对不起,找不到对应的任务",true),
NOT_DELIVER_FILE(40,"上传文件信息错误,请重试",true),
NOT_DELIVER_FILE(40,"文件信息错误,请重试",true),
IS_NOT_EXECUTOR(41,"对不起,您不是该任务负责人",true),
NOT_CHECKER(42,"请选择检查人",true),
SUB_TASK_IS_NOT_FINISH(43,"分组内任务未全部完成,无法完成任务",true),

Loading…
Cancel
Save