提交 b22d38c1 编写于 作者: 夏天。。's avatar 夏天。。

改了不知道多少东西

上级 3d3492d4
......@@ -81,14 +81,6 @@ public class LmsPenController {
}
// @ApiOperation(value = "获取某一笔友发送的信")
// @GetMapping("/{id}")
// public CommonResult get(
// //因为是GET请求,所以这里不用@RequestBody注解修饰,但是为了这个类里面的Validation注解起效,这里必须加上@Validated注解表示需要验证参数格式
// @PathVariable(value = "id") Long id) {
// return lmsPenService.getPenFriendLetterInfo(id);
// }
@ApiOperation(value = "分页获取已接收笔友信")
......
......@@ -10,6 +10,7 @@ import com.mobius.modules.lms.model.LmsTimeCapsule;
import com.mobius.modules.lms.service.LmsTimeCapsuleService;
import com.mobius.modules.lms.vo.CapsuleVo;
import io.swagger.annotations.ApiOperation;
import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
......@@ -35,7 +36,16 @@ public class LmsTimeCapsuleController {
return lmsTimeCapsuleService.userSendCapsule(capsuleVo);
}
@GetMapping("/{id}")
@ApiOperation("获取时空胶囊信息")
public CommonResult getCapsuleInfo(
@PathVariable("id") Long id
){
return lmsTimeCapsuleService.userGetCapsuleInfo(id);
}
@ApiOperation(value = "分页获取已发送时间胶囊信")
@GetMapping(value = "/listSent")
@ResponseBody
......@@ -48,16 +58,25 @@ public class LmsTimeCapsuleController {
return CommonResult.success(CommonPage.restPage(userList));
}
// @ApiOperation(value = "分页获取已接收时间胶囊信")
// @GetMapping(value = "/listReceived")
// @ResponseBody
// public CommonResult listReceived(
// //因为是GET请求,所以这里不用@RequestBody注解修饰,但是为了这个类里面的Validation注解起效,这里必须加上@Validated注解表示需要验证参数格式
// @Validated SearchReceivedLmsTimeCapsulesConditionParam conditionParam,
// @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
// @RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize) {
// Page<LmsTimeCapsule> userList = lmsTimeCapsuleService.listReceivedBySearchConditions(conditionParam, pageNum, pageSize);
// return CommonResult.success(CommonPage.restPage(userList));
// }
@ApiOperation(value = "分页获取已接收时间胶囊信")
@GetMapping(value = "/listReceived")
@GetMapping(value = "/receiveList")
@ResponseBody
public CommonResult listReceived(
//因为是GET请求,所以这里不用@RequestBody注解修饰,但是为了这个类里面的Validation注解起效,这里必须加上@Validated注解表示需要验证参数格式
@Validated SearchReceivedLmsTimeCapsulesConditionParam conditionParam,
@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize) {
Page<LmsTimeCapsule> userList = lmsTimeCapsuleService.listReceivedBySearchConditions(conditionParam, pageNum, pageSize);
return CommonResult.success(CommonPage.restPage(userList));
return lmsTimeCapsuleService.userGetCapsuleReceiveList(pageNum,pageSize);
}
}
......
package com.mobius.modules.lms.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @Author: hocztms
* @Description:
* @Date Created in 2022-05-13-20:53
* @Modified By:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CapsuleInfoDTO {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@ApiModelProperty(value = "真正存文本的字段")
private String content;
@ApiModelProperty(value = "送达时间")
private Date arriveTime;
@ApiModelProperty(value = "信件标题")
private String title;
@ApiModelProperty(value = "冗余字段:收信人昵称")
private String receiverNickname;
}
package com.mobius.modules.lms.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.mobius.modules.lms.enums.ReadEnum;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @Author: hocztms
* @Description:
* @Date Created in 2022-05-13-21:24
* @Modified By:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CapsuleListDTO {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@ApiModelProperty(value = "信件内容的id")
private Integer contentId;
@ApiModelProperty(value = "信件的简要内容,用于列表项展示时只显示前20个字,要获取具体内容还需要调用一次接口")
private String contentBrief;
@ApiModelProperty(value = "信件标题")
private String title;
@ApiModelProperty(value = "送达时间")
private Date arriveTime;
@ApiModelProperty(value = "收信人id")
private Integer receiverId;
@ApiModelProperty(value = "是否阅读")
private ReadEnum isRead;
@ApiModelProperty(value = "用户昵称")
private String nickname;
@ApiModelProperty(value = "头像地址")
private String icon;
@ApiModelProperty(value = "信件类型 0匿名信 1笔友信 2 时空胶囊")
private Integer type = 2; //0匿名信 1笔友信 2 时空胶囊
}
......@@ -2,6 +2,7 @@ package com.mobius.modules.lms.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
......@@ -18,6 +19,7 @@ import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("获取上级匿名信的数据传输对象")
public class PenBriefDTO {
@TableId(value = "id", type = IdType.AUTO)
......
package com.mobius.modules.lms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mobius.modules.lms.dto.CapsuleListDTO;
import com.mobius.modules.lms.dto.PenInfoDTO;
import com.mobius.modules.lms.model.LmsTimeCapsule;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.Date;
/**
* <p>
......@@ -15,4 +22,11 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface LmsTimeCapsuleMapper extends BaseMapper<LmsTimeCapsule> {
@Select("select * from lms_time_capsule,lms_letter_content where lms_time_capsule.id = #{id} and lms_time_capsule.content_id = lms_letter_content.id")
PenInfoDTO selectCapsuleInfo(Long id);
@Select("select * from lms_time_capsule,ums_user where lms_time_capsule.receiver_id = #{receiverId} and lms_time_capsule.arrive_time<=#{arriveTime} and lms_time_capsule.sender_id = ums_user.id order by arrive_time desc")
IPage<CapsuleListDTO> selectCapsuleReceiverList(@Param("receiverId") Long receiverId, @Param("arriveTime") Date arriveTime,IPage<CapsuleListDTO> page);
}
......@@ -27,10 +27,8 @@ import java.util.Date;
@TableName("lms_time_capsule")
@ApiModel(value="LmsTimeCapsule对象", description="")
public class LmsTimeCapsule implements Serializable {
private static final long serialVersionUID=1L;
@TableId(value = "id", type = IdType.AUTO)
@ApiModelProperty(value = "时空胶囊id")
private Long id;
@ApiModelProperty(value = "发送用户的id")
......@@ -39,6 +37,9 @@ public class LmsTimeCapsule implements Serializable {
@ApiModelProperty(value = "信件内容的id")
private Integer contentId;
@ApiModelProperty(value = "信件的简要内容,用于列表项展示时只显示前20个字,要获取具体内容还需要调用一次接口")
private String contentBrief;
@ApiModelProperty(value = "信件创建的时间,包括草稿信件")
private Date createTime;
......
......@@ -37,4 +37,9 @@ public interface LmsTimeCapsuleService extends IService<LmsTimeCapsule> {
CommonResult userSendCapsule(CapsuleVo capsuleVo);
CommonResult userGetCapsuleInfo(Long id);
CommonResult userGetCapsuleReceiveList(Integer page,Integer size);
}
......@@ -170,9 +170,9 @@ public class LmsPenServiceImpl extends ServiceImpl<LmsPenMapper, LmsPen> impleme
@Override
public CommonResult userSendPen(PenVO penVO) {
if (!relationService.isFriend(penVO.getReceiverId())){
return CommonResult.failed("您未添加对方为好友");
};
// if (!relationService.isFriend(penVO.getReceiverId())){
// return CommonResult.failed("您未添加对方为好友");
// };
MyUserDetail details = (MyUserDetail) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
Long contentId = draftLetterService.saveDraft(penVO, 0);
UmsUser byId = userService.getById(penVO.getReceiverId());
......
package com.mobius.modules.lms.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mobius.common.api.CommonResult;
import com.mobius.common.api.ResultCode;
import com.mobius.common.util.ComConstants;
import com.mobius.domain.MyUserDetail;
import com.mobius.modules.lms.dto.CapsuleListDTO;
import com.mobius.modules.lms.dto.SearchReceivedLmsTimeCapsulesConditionParam;
import com.mobius.modules.lms.dto.SearchSentLmsTimeCapsulesConditionParam;
import com.mobius.modules.lms.enums.ReadEnum;
......@@ -23,6 +25,7 @@ import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
/**
* <p>
......@@ -136,6 +139,12 @@ public class LmsTimeCapsuleServiceImpl extends ServiceImpl<LmsTimeCapsuleMapper,
public CommonResult userSendCapsule(CapsuleVo capsuleVo) {
MyUserDetail details = (MyUserDetail) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
Long contentId = draftLetterService.saveDraft(capsuleVo, 0);
String contentBrief;
if (capsuleVo.getContent().length()<=20){
contentBrief =capsuleVo.getContent();
}else {
contentBrief = capsuleVo.getContent().substring(0,20);
}
LmsTimeCapsule capsule = LmsTimeCapsule.builder()
.id(0L)
.createTime(new Date())
......@@ -147,8 +156,32 @@ public class LmsTimeCapsuleServiceImpl extends ServiceImpl<LmsTimeCapsuleMapper,
.arriveTime(capsuleVo.getArriveTime())
.contentId(Integer.valueOf(contentId.toString()))
.senderId(details.getId())
.contentBrief(contentBrief)
.build();
save(capsule);
return CommonResult.success(ResultCode.SUCCESS);
}
@Override
public CommonResult userGetCapsuleInfo(Long id) {
MyUserDetail details = (MyUserDetail) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
LmsTimeCapsule byId = getById(id);
if (byId==null){
return CommonResult.failed("时空胶囊不存在");
}
if (byId.getSenderId().equals(details.getId())&&!byId.getReceiverId().equals(details.getId())){
return CommonResult.success(getBaseMapper().selectCapsuleInfo(id));
}
return CommonResult.failed("无权限");
}
@Override
public CommonResult userGetCapsuleReceiveList(Integer page, Integer size) {
MyUserDetail details = (MyUserDetail) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
IPage<CapsuleListDTO> capsuleListDTOIPage = baseMapper.selectCapsuleReceiverList(Long.parseLong(details.getId().toString()), new Date(), new Page<>(page, size));
HashMap<String,Object> result = new HashMap<>();
result.put("total",capsuleListDTOIPage.getTotal());
result.put("list",capsuleListDTOIPage.getRecords());
return CommonResult.success(result);
}
}
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
......@@ -21,6 +22,10 @@ import java.util.Date;
@NoArgsConstructor
@ApiModel("用户个人信息类")
public class UserDto {
@ApiModelProperty(value = "用户id唯一标识")
private Integer id;
@ApiModelProperty(value = "手机号")
private String phone;
......
......@@ -14,6 +14,7 @@
<result column="arrive_time" property="arriveTime" />
<result column="receiver_id" property="receiverId" />
<result column="is_read" property="isRead" />
<result column="content_brief" property="contentBrief" />
</resultMap>
</mapper>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册