Compare commits

...

21 Commits

Author SHA1 Message Date
chenbingxuan 1eceecfdb2 1.17 2024-01-17 16:01:53 +08:00
fjj 20231281bc Merge remote-tracking branch 'origin/fjj' into newMaster
# Conflicts:
#	doctor-modules/doctor-health/src/main/java/doctor/controller/HealthJobTitleController.java
#	doctor-modules/doctor-health/src/main/java/doctor/controller/UserVideoController.java
#	doctor-modules/doctor-health/src/main/java/doctor/mapper/UserVideoMapper.java
#	doctor-modules/doctor-health/src/main/java/doctor/service/UserVideoService.java
#	doctor-modules/doctor-health/src/main/java/doctor/service/impl/UserVideoServiceImpl.java
#	doctor-modules/doctor-health/src/main/resources/mapper/doctor/UserVideoMapper.xml
2024-01-17 16:00:30 +08:00
fjj 61d82c1018 更新 2024-01-17 15:59:30 +08:00
chenbingxuan 228cef25a8 1.17 2024-01-17 15:57:05 +08:00
chenbingxuan a2035b5899 Merge remote-tracking branch 'origin/cbx' into newMaster 2024-01-17 15:56:29 +08:00
fjj 18acab8006 更新 2024-01-16 22:27:20 +08:00
fjj b0012027c5 Merge branch 'newMaster' of https://gitea.qinmian.online/cbx/Medical_Treatment into fjj 2024-01-15 22:14:22 +08:00
fjj 81d4c25ad5 Merge branch 'master' into fjj 2024-01-15 22:13:39 +08:00
fjj 19e318b9e3 资讯详情 2024-01-15 22:13:04 +08:00
fjj 4b0bd7b167 demo01 2024-01-14 22:39:02 +08:00
zmyYYDS 0d1707aa56 zmy04 2024-01-14 20:40:25 +08:00
zmyYYDS c21ad2de7c zmy03 2024-01-14 18:52:14 +08:00
zmyYYDS b6f482f009 Merge branch 'newMaster' of https://gitea.qinmian.online/cbx/Medical_Treatment into zmy
# Conflicts:
#	doctor-auth/src/main/resources/bootstrap.yml
#	doctor-common/doctor-common-core/src/main/java/doctor/common/core/constant/Constants.java
#	doctor-gateway/src/main/resources/bootstrap.yml
#	doctor-modules/doctor-file/src/main/resources/bootstrap.yml
#	doctor-modules/doctor-gen/src/main/resources/bootstrap.yml
#	doctor-modules/doctor-health/src/main/resources/bootstrap.yml
#	doctor-modules/doctor-job/src/main/resources/bootstrap.yml
#	doctor-modules/doctor-system/src/main/resources/bootstrap.yml
#	doctor-visual/doctor-monitor/src/main/resources/bootstrap.yml
2024-01-14 16:29:49 +08:00
zmyYYDS ac59b625b9 zmy02 2024-01-14 16:29:12 +08:00
zmyYYDS b40c5f72be zmy01 2024-01-14 16:27:58 +08:00
fjj 23eba7490a 最新 2024-01-14 16:18:47 +08:00
fjj 16bc23b2a2 Merge branch 'cbx' of https://gitea.qinmian.online/cbx/Medical_Treatment into fjj
# Conflicts:
#	doctor-api/doctor-api-system/src/main/java/doctor/system/api/domain/User.java
2024-01-14 16:14:58 +08:00
fjj 335c3ac82f 后台接口4 2024-01-14 16:11:48 +08:00
fjj 2670eeb00b 后台接口4 2024-01-14 16:11:22 +08:00
fjj 3f77960eec 后台接口3 2024-01-13 09:04:40 +08:00
jpz 1ebf5f3085 jpz6.0 2024-01-12 22:13:11 +08:00
62 changed files with 1241 additions and 516 deletions

View File

@ -4,6 +4,9 @@ import doctor.auth.service.HealthDoctorService;
import doctor.auth.service.HealthUserService;
import doctor.auth.vo.DoctorVo;
import doctor.common.core.domain.HealthR;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@ -12,13 +15,15 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/doctor/v1")
@Api(tags = "登录")
public class HealthDoctorController {
@Autowired
private HealthDoctorService healthDoctorService;
@PostMapping("/login")
public HealthR<?> login(@RequestParam String email, @RequestParam String pwd) {
@ApiOperation("邮箱密码登录")
public HealthR<?> login(@RequestParam @ApiParam("email") String email, @RequestParam @ApiParam("pwd") String pwd) {
DoctorVo userInfo = healthDoctorService.login(email,pwd);
if (userInfo!=null){
return HealthR.ok(userInfo,"登录成功");

View File

@ -1,39 +1,27 @@
package doctor.auth.form;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
/**
*
*
*
* @author ruoyi
*/
@Data
@ApiModel("用户登录")
public class LoginBody
{
/**
*
*/
@NotBlank(message = "用户名不能为空")
@ApiModelProperty("姓名")
private String username;
/**
*
*/
@NotBlank(message = "密码不能为空")
@Size(min = 1, message = "密码长度不能小于1")
@ApiModelProperty("密码")
private String password;
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
}

View File

@ -1,112 +1,58 @@
package doctor.auth.vo;
public class DoctorVo {
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Data
public class DoctorVo implements Serializable {
@NotNull(message = "医生ID不能为空")
@ApiModelProperty("医生ID")
private int doctorId;
@NotBlank(message = "会话ID不能为空")
@ApiModelProperty("会话ID")
private String sessionId;
@NotBlank(message = "姓名不能为空")
@ApiModelProperty("姓名")
private String name;
@NotBlank(message = "用户名不能为空")
@ApiModelProperty("用户名")
private String userName;
@NotNull(message = "审核状态不能为空")
@ApiModelProperty("审核状态")
private int reviewStatus;
@NotBlank(message = "极光密码不能为空")
@ApiModelProperty("极光密码")
private String jiGuangPwd;
@ApiModelProperty("图片")
private String imagePic;
@NotBlank(message = "就职医院不能为空")
@ApiModelProperty("就职医院")
private String inauguralHospital;
@NotBlank(message = "职称不能为空")
@ApiModelProperty("职称")
private String jobTitle;
@NotNull(message = "科室ID不能为空")
@ApiModelProperty("科室ID")
private int departmentId;
@NotBlank(message = "科室名称不能为空")
@ApiModelProperty("科室名称")
private String departmentName;
@NotNull(message = "是否有图文咨询权限不能为空")
@ApiModelProperty("图文咨询权限")
private int whetherHaveImagePic;
public int getDoctorId() {
return doctorId;
}
public void setDoctorId(int doctorId) {
this.doctorId = doctorId;
}
public String getSessionId() {
return sessionId;
}
public void setSessionId(String sessionId) {
this.sessionId = sessionId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public int getReviewStatus() {
return reviewStatus;
}
public void setReviewStatus(int reviewStatus) {
this.reviewStatus = reviewStatus;
}
public String getJiGuangPwd() {
return jiGuangPwd;
}
public void setJiGuangPwd(String jiGuangPwd) {
this.jiGuangPwd = jiGuangPwd;
}
public String getImagePic() {
return imagePic;
}
public void setImagePic(String imagePic) {
this.imagePic = imagePic;
}
public String getInauguralHospital() {
return inauguralHospital;
}
public void setInauguralHospital(String inauguralHospital) {
this.inauguralHospital = inauguralHospital;
}
public String getJobTitle() {
return jobTitle;
}
public void setJobTitle(String jobTitle) {
this.jobTitle = jobTitle;
}
public int getDepartmentId() {
return departmentId;
}
public void setDepartmentId(int departmentId) {
this.departmentId = departmentId;
}
public String getDepartmentName() {
return departmentName;
}
public void setDepartmentName(String departmentName) {
this.departmentName = departmentName;
}
public int getWhetherHaveImagePic() {
return whetherHaveImagePic;
}
public void setWhetherHaveImagePic(int whetherHaveImagePic) {
this.whetherHaveImagePic = whetherHaveImagePic;
}
}

View File

@ -1,130 +1,53 @@
package doctor.auth.vo;
import lombok.Data;
import javax.validation.constraints.Email;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class UserVo {
@NotNull(message = "用户ID不能为空")
private Integer userId;
@NotBlank(message = "会话ID不能为空")
private String sessionId;
@NotBlank(message = "昵称不能为空")
private String nickName;
@NotBlank(message = "用户名不能为空")
private String userName;
@NotBlank(message = "极光密码不能为空")
private String jiGuangPwd;
private String headPic;
@NotNull(message = "性别不能为空")
private Integer sex;
@Min(value = 0, message = "年龄不能小于0")
private Integer age;
@Min(value = 0, message = "身高不能小于0")
private Integer height;
@Min(value = 0, message = "体重不能小于0")
private Integer weight;
@Email(message = "请输入有效的邮箱地址")
private String email;
@NotNull(message = "是否绑定微信不能为空")
private Integer whetherBingWeChat;
private String invitationCode;
@NotNull(message = "面部标志不能为空")
private Integer faceFlag;
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getSessionId() {
return sessionId;
}
public void setSessionId(String sessionId) {
this.sessionId = sessionId;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getJiGuangPwd() {
return jiGuangPwd;
}
public void setJiGuangPwd(String jiGuangPwd) {
this.jiGuangPwd = jiGuangPwd;
}
public String getHeadPic() {
return headPic;
}
public void setHeadPic(String headPic) {
this.headPic = headPic;
}
public Integer getSex() {
return sex;
}
public void setSex(Integer sex) {
this.sex = sex;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Integer getHeight() {
return height;
}
public void setHeight(Integer height) {
this.height = height;
}
public Integer getWeight() {
return weight;
}
public void setWeight(Integer weight) {
this.weight = weight;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Integer getWhetherBingWeChat() {
return whetherBingWeChat;
}
public void setWhetherBingWeChat(Integer whetherBingWeChat) {
this.whetherBingWeChat = whetherBingWeChat;
}
public String getInvitationCode() {
return invitationCode;
}
public void setInvitationCode(String invitationCode) {
this.invitationCode = invitationCode;
}
public Integer getFaceFlag() {
return faceFlag;
}
public void setFaceFlag(Integer faceFlag) {
this.faceFlag = faceFlag;
}
}

View File

@ -15,11 +15,11 @@ spring:
discovery:
# 服务注册地址
server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
namespace: 09dff3e2-9790-4d4f-beb6-9baeb01ae040
config:
# 配置中心地址
server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
namespace: 09dff3e2-9790-4d4f-beb6-9baeb01ae040
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -0,0 +1,38 @@
package doctor.common.core;
import org.hibernate.validator.HibernateValidator;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.validation.beanvalidation.MethodValidationPostProcessor;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
/**
* @ClassName : WebConfig
* @Description :
* @Author : FJJ
* @Date: 2024-01-16 14:29
*/
@Configuration
public class WebConfig {
@Bean
public Validator validator() {
ValidatorFactory validatorFactory = Validation.byProvider(HibernateValidator.class)
.configure()
//failFast为true出现校验失败的情况立即结束校验不再进行后续的校验
.failFast(true)
.buildValidatorFactory();
return validatorFactory.getValidator();
}
@Bean
public MethodValidationPostProcessor methodValidationPostProcessor() {
MethodValidationPostProcessor methodValidationPostProcessor = new MethodValidationPostProcessor();
methodValidationPostProcessor.setValidator(validator());
return methodValidationPostProcessor;
}
}

View File

@ -54,7 +54,8 @@ public class Constants
/**
*
*/
// public static final String SUCCESS_HEALTH = "0000";
// public static final String FAIL_HEALTH = "9001";
/**
*

View File

@ -15,11 +15,11 @@ spring:
discovery:
# 服务注册地址
server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
namespace: 09dff3e2-9790-4d4f-beb6-9baeb01ae040
config:
# 配置中心地址
server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
namespace: 09dff3e2-9790-4d4f-beb6-9baeb01ae040
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -15,11 +15,11 @@ spring:
discovery:
# 服务注册地址
server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
namespace: 09dff3e2-9790-4d4f-beb6-9baeb01ae040
config:
# 配置中心地址
server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
namespace: 09dff3e2-9790-4d4f-beb6-9baeb01ae040
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -15,11 +15,11 @@ spring:
discovery:
# 服务注册地址
server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
namespace: 09dff3e2-9790-4d4f-beb6-9baeb01ae040
config:
# 配置中心地址
server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
namespace: 09dff3e2-9790-4d4f-beb6-9baeb01ae040
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -14,6 +14,7 @@
<dependencies>
<!-- Oss上传 -->
<dependency>
<groupId>com.aliyun.oss</groupId>

View File

@ -1,20 +1,18 @@
package doctor.controller;
import doctor.common.core.domain.HealthR;
import doctor.common.core.web.controller.BaseController;
import doctor.common.security.utils.SecurityUtils;
import doctor.domain.dto.ApplyJoinDto;
import doctor.domain.dto.CheckCodeDto;
import doctor.domain.entity.Banners;
import doctor.domain.entity.DoctorJobTitleEntity;
import doctor.domain.vo.*;
import doctor.domain.vo.DoctorVo;
import doctor.domain.vo.FindImagePicVo;
import doctor.service.BannersService;
import doctor.service.HealthJobTitleService;
import doctor.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.Valid;
import java.util.List;
@RestController
@ -25,60 +23,35 @@ public class HealthJobTitleController {
@Autowired
private BannersService bannersService;
@GetMapping("/findHistoryInquiryRecord")
public HealthR<List<DoctorHistoryInquiryVo>> findHistoryInquiryRecord(@RequestHeader Integer doctorId,
@RequestHeader String sessionId,
@RequestParam Integer page,
@RequestParam Integer size) {
HealthR<List<DoctorHistoryInquiryVo>> healthR = healthJobTitleService.findHistoryInquiryRecord(page, size);
return null;
}
@PostMapping("/drawCash")
public HealthR drawCash(@RequestHeader Integer doctorId,
@RequestHeader String sessionId,
@RequestParam Integer money) {
HealthR healthR = healthJobTitleService.drawCash(doctorId, money);
return healthR;
}
@GetMapping("/bannersShow")
public HealthR<List<Banners>> bannersShow() {
public HealthR<List<Banners>> bannersShow(){
List<Banners> banners = bannersService.bannersShow();
return HealthR.ok(banners);
}
@GetMapping("/findJobTitleList")
public HealthR<List<DoctorJobTitleEntity>> findJobTitleList() {
List<DoctorJobTitleEntity> doctorJobTitleEntities = healthJobTitleService.findJobTitleList();
List<DoctorJobTitleEntity> doctorJobTitleEntities=healthJobTitleService.findJobTitleList();
return HealthR.ok(doctorJobTitleEntities);
}
@RequestMapping("/sendEmailCode")
@PostMapping("/sendEmailCode")
public HealthR sendEmailCode(@RequestParam("email") String email) {
HealthR healthR = healthJobTitleService.sendEmailCode(email);
HealthR healthR= healthJobTitleService.sendEmailCode(email);
return HealthR.ok(healthR);
}
@PostMapping("/applyJoin")
public HealthR applyJoin(@RequestBody ApplyJoinDto applyJoinDto) {
HealthR healthR = healthJobTitleService.applyJoin(applyJoinDto);
public HealthR applyJoin(@RequestBody @Valid ApplyJoinDto applyJoinDto) {
HealthR healthR= healthJobTitleService.applyJoin(applyJoinDto);
return HealthR.ok(healthR);
}
@PostMapping("/checkCode")
public HealthR checkCode(@RequestBody CheckCodeDto checkCodeDto) {
String email = checkCodeDto.getEmail();
String code = checkCodeDto.getCode();
HealthR healthR = healthJobTitleService.checkCode(email, code);
return healthR;
@GetMapping("/findDoctorById")
public HealthR<DoctorVo> findDoctorById(@RequestHeader Integer doctorId,
@RequestHeader String sessionId) {
return HealthR.ok(healthJobTitleService.findDoctorById(doctorId));
}
@GetMapping("/findSystemImagePic")
public HealthR<List<FindImagePicVo>> findSystemImagePic() {
return HealthR.ok(healthJobTitleService.findSystemImagePic());

View File

@ -0,0 +1,58 @@
package doctor.controller;
import doctor.common.core.domain.HealthR;
import doctor.domain.vo.DoctorIncomeRecordVo;
import doctor.domain.vo.DoctorVo;
import doctor.domain.vo.NoticeReadNumVo;
import doctor.domain.vo.WalletVo;
import doctor.service.HealthJobTitleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@RestController
@RequestMapping("/verify/v1")
public class HealthRVerifyController {
@Autowired
private HealthJobTitleService healthJobTitleService;
@GetMapping("/findDoctorWallet")
public HealthR<WalletVo> findDoctorWallet(@RequestHeader Integer doctorId,
@RequestHeader String sessionId) {
WalletVo healthR = healthJobTitleService.findDoctorWallet(doctorId);
return HealthR.ok(healthR);
}
@PostMapping("/uploadImagePic")
public HealthR uploadImagePic(@RequestParam("imagePic") MultipartFile imagePic,
@RequestHeader String sessionId,
@RequestHeader Integer doctorId) {
return HealthR.ok(healthJobTitleService.uploadImagePic(imagePic, doctorId, sessionId));
}
@GetMapping("/findDoctorIncomeRecordList")
public HealthR<List<DoctorIncomeRecordVo>> findDoctorIncomeRecordList(@RequestHeader Integer doctorId,
@RequestHeader String sessionId,
@RequestParam Integer page,
@RequestParam Integer count) {
List<DoctorIncomeRecordVo> doctorIncomeRecordEntities = healthJobTitleService.findDoctorIncomeRecordList(doctorId, page, count);
return HealthR.ok(doctorIncomeRecordEntities);
}
@GetMapping("/findDoctorById")
public HealthR<DoctorVo> findDoctorById(@RequestHeader Integer doctorId,
@RequestHeader String sessionId) {
return HealthR.ok(healthJobTitleService.findDoctorById(doctorId));
}
@GetMapping("/findDoctorNoticeReadNum")
public HealthR<List<NoticeReadNumVo>> findDoctorNoticeReadNum(@RequestHeader Integer doctorId,
@RequestHeader String sessionId) {
List<NoticeReadNumVo> healthR = healthJobTitleService.findDoctorNoticeReadNum(doctorId);
return HealthR.ok(healthR);
}
}

View File

@ -2,7 +2,6 @@ package doctor.controller;
import doctor.common.core.domain.HealthR;
import doctor.domain.dto.VideoDto;
import doctor.domain.vo.VideoCategoryVo;
import doctor.domain.vo.VideoVo;
import doctor.service.HealthUserVideoService;
@ -26,10 +25,15 @@ public class HealthUserVideoController{
}
@GetMapping("/findVideoVoList")
public HealthR<List<VideoVo>> findVideoVoList(@RequestParam Integer categoryId,@RequestParam Integer page,@RequestParam Integer count){
public HealthR<List<VideoVo>> findVideoVoList(@RequestParam Integer categoryId,
@RequestParam Integer page,
@RequestParam Integer count,
@RequestHeader Integer userId,
@RequestHeader String sessionId){
startPage(page,count);
List<VideoVo> List = healthUserVideoService.findVideoVoList(categoryId);
List<VideoVo> List = healthUserVideoService.findVideoVoList(categoryId,userId);
return HealthR.ok(List);
}
}

View File

@ -0,0 +1,35 @@
package doctor.controller;
import doctor.common.core.domain.HealthR;
import doctor.domain.vo.UserSickCircleVo;
import doctor.service.UserSickCircleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import static com.github.pagehelper.page.PageMethod.startPage;
/**
* @ClassName : SickCircleController
* @Description :
* @Author : FJJ
* @Date: 2024-01-16 22:08
*/
@RestController
@RequestMapping("/user/sickCircle/verify/v1")
public class UserSickCircleController {
@Autowired
private UserSickCircleService userSickCircleService;
//查看我的病友圈
@GetMapping("/findMySickCircleList")
public HealthR<List<UserSickCircleVo>> findMySickCircleList(@RequestParam Integer page, @RequestParam Integer count){
startPage(page,count);
List<UserSickCircleVo> userFriendCircles = userSickCircleService.findMySickCircleList();
return HealthR.ok(userFriendCircles);
}
}

View File

@ -1,13 +1,14 @@
package doctor.controller;
import doctor.common.core.domain.HealthR;
import doctor.domain.entity.UserWalletEntity;
import doctor.domain.vo.UserVideoBuyVo;
import doctor.domain.vo.UserVideoCollectionVo;
import doctor.domain.dto.UserArchivesDto;
import doctor.domain.entity.*;
import doctor.domain.vo.*;
import doctor.service.UserVideoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
import static com.github.pagehelper.page.PageMethod.startPage;
@ -27,15 +28,15 @@ public class UserVideoController {
//用户视频收藏列表
@GetMapping("/findVideoCollectionList")
public HealthR<List<UserVideoCollectionVo>> findVideoCollectionList(@RequestParam Integer page, @RequestParam Integer count){
public HealthR<List<UserVideoCollectionVo>> findVideoCollectionList(@RequestParam Integer page, @RequestParam Integer count,@RequestHeader Integer userId){
startPage(page,count);
List<UserVideoCollectionVo> userVideoCollectionVos=userVideoService.findVideoCollectionList();
List<UserVideoCollectionVo> userVideoCollectionVos=userVideoService.findVideoCollectionList(userId);
return HealthR.ok(userVideoCollectionVos);
}
//用户取消视频收藏
@GetMapping("/cancelVideoCollection/{id}")
public HealthR cancelVideoCollection(@PathVariable Integer id){
userVideoService.cancelVideoCollection(id);
@DeleteMapping("/cancelVideoCollection")
public HealthR cancelVideoCollection(@RequestHeader Integer userId,@RequestHeader String sessionId,@RequestParam Integer videoId ){
userVideoService.cancelVideoCollection(userId,sessionId,videoId);
return HealthR.ok();
}
//用户购买视频列表
@ -46,9 +47,9 @@ public class UserVideoController {
return HealthR.ok(userVideoCollectionVos);
}
//用户删除购买的视频
@DeleteMapping("/deleteVideoBuy/{id}")
public HealthR deleteVideoBuy(@PathVariable Integer id){
userVideoService.deleteVideoBuy(id);
@DeleteMapping("/deleteVideoBuy}")
public HealthR deleteVideoBuy(@RequestParam Integer videoId){
userVideoService.deleteVideoBuy(videoId);
return HealthR.ok();
}
@ -58,6 +59,52 @@ public class UserVideoController {
List<UserWalletEntity> userWallets = userVideoService.findUserWallet();
return HealthR.ok(userWallets);
}
//用户消费记录
@GetMapping("/findUserConsumptionRecordList")
public HealthR<List<UserConsumptionRecordVo>> findUserConsumptionRecordList(@RequestParam Integer page,@RequestParam Integer count){
startPage(page,count);
List<UserConsumptionRecordVo> userConsumptionRecordVos = userVideoService.findUserConsumptionRecordList();
return HealthR.ok(userConsumptionRecordVos);
}
//用户详情页面
@GetMapping("/whetherSignToday")
public HealthR<List<UserEntity>> whetherSignToday(@RequestHeader Integer userId){
List<UserEntity> userEntities = userVideoService.whetherSignToday(userId);
return HealthR.ok(userEntities);
}
// 用户资讯收藏列表
@GetMapping("/findUserInfoCollectionList")
public HealthR<List<UserInfoCollectionVo>> findUserInfoCollectionList(){
List<UserInfoCollectionVo> userInfoCollections = userVideoService.findUserInfoCollectionList();
return HealthR.ok(userInfoCollections);
}
//用户被采纳意见列表
@GetMapping("/findMyAdoptedCommentList")
public HealthR<List<UserAdoptCommentVo>> findMyAdoptedCommentList(@RequestParam Integer page,@RequestParam Integer count){
startPage(page,count);
List<UserAdoptCommentVo> userAdoptCommentEntities = userVideoService.findMyAdoptedCommentList();
return HealthR.ok(userAdoptCommentEntities);
}
//用户查看自己的档案
@GetMapping("/findUserArchives")
public HealthR<List<UserArchivesVo>> findUserArchives(@RequestHeader Integer userId){
List<UserArchivesVo> userArchivesVos = userVideoService.findUserArchives(userId);
return HealthR.ok(userArchivesVos);
}
//添加用户档案
@PostMapping("/addUserArchives")
public HealthR addUserArchives(@RequestBody UserArchivesEntity userArchivesEntity, @RequestHeader Integer userId){
userVideoService.addUserArchives(userArchivesEntity,userId);
return HealthR.ok();
}
//上传用户档案图片
@PostMapping("/uploadArchivesPicture")
public HealthR uploadUserArchivesImg(@RequestParam Integer id){
userVideoService.uploadUserArchivesImg(id);
return HealthR.ok();
}
//用户关注医生列表
}

View File

@ -3,6 +3,7 @@ package doctor.controller;
import doctor.common.core.domain.HealthR;
import doctor.common.core.domain.R;
import doctor.domain.entity.*;
import doctor.domain.vo.VideoCommentVo;
import doctor.service.VideoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -21,9 +22,9 @@ public class VideoController {
@Autowired
private VideoService videoService;
//收藏健康讲堂视频列表
@PostMapping("/verify/v1/addUserVideoCollection/{videoId}")
public HealthR addUserVideoCollection(@RequestParam Integer videoId){
videoService.addUserVideoCollection(videoId);
@PostMapping("/verify/v1/addUserVideoCollection")
public HealthR addUserVideoCollection(@RequestParam Integer videoId,@RequestHeader Integer userId){
videoService.addUserVideoCollection(videoId,userId);
return HealthR.ok();
}
//购买健康讲堂视频
@ -32,11 +33,12 @@ public class VideoController {
videoService.videoBuy(videoId,price);
return HealthR.ok();
}
// //视频评论列表
// @GetMapping("/v1/findVideoCommentList")
// public R<List<VideoCommentEntity>> findVideoCommentList(){
// List<VideoCommentEntity> videoCommentList = videoService.findVideoCommentList();
// return R.ok(videoCommentList);
// }
//评论列表
@GetMapping("/v1/findVideoCommentList")
public HealthR<List<VideoCommentVo>> findVideoCommentList(@RequestParam Integer videoId) {
List<VideoCommentVo> videoCommentVoList = videoService.findVideoCommentList(videoId);
return HealthR.ok(videoCommentVoList);
}
}

View File

@ -2,15 +2,37 @@ package doctor.domain.dto;
import lombok.Data;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
@Data
public class ApplyJoinDto {
public class ApplyJoinDto implements Serializable {
private static final long serialVersionUID = 1L;
@Email(message = "请输入有效的邮箱地址")
private String email;
@NotBlank(message = "验证码不能为空")
private String code;
@Size(min = 4, message = "密码长度不能小于4")
private String pwd1;
@Size(min = 4, message = "确认密码长度不能小于4")
private String pwd2;
@NotBlank(message = "姓名不能为空")
private String name;
@NotBlank(message = "就职医院不能为空")
private String inauguralHospital;
@NotNull(message = "部门ID不能为空")
private Integer departmentId;
@NotNull(message = "职称ID不能为空")
private Integer jobTitleId;
private String personalProfile;
private String goodFieId;

View File

@ -0,0 +1,41 @@
package doctor.domain.dto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @ClassName : UserArchivesDto
* @Description :
* @Author : FJJ
* @Date: 2024-01-15 21:51
*/
@Data
public class UserArchivesDto {
private Integer userId;
private String picture;
private String diseaseMain;
private String diseaseNow;
private String diseaseBefore;
private String treatmentHospitalRecent;
private String treatmentProcess;
private String treatmentStartTime;
private String treatmentEndTime;
}

View File

@ -0,0 +1,25 @@
package doctor.domain.dto;
import lombok.Data;
import java.util.Date;
/**
* @ClassName : UserTaskRecordDto
* @Description :
* @Author : FJJ
* @Date: 2024-01-17 10:54
*/
@Data
public class UserTaskRecordDto {
private Integer id;
private Integer userId;
private Integer taskId;
private String taskName;
private String taskType;
private String reward;
private Date taskTime;
private Integer status;
private Date createTime;
}

View File

@ -4,11 +4,22 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class VideoDto {
@NotNull(message = "分类ID不能为空")
private Integer categoryId;
private Integer page=1;
private Integer count=1;
@NotNull(message = "页码不能为空")
@Min(value = 1, message = "页码不能小于1")
private Integer page = 1;
@NotNull(message = "每页数量不能为空")
@Min(value = 1, message = "每页数量不能小于1")
private Integer count = 1;
}

View File

@ -0,0 +1,20 @@
package doctor.domain.entity;
import lombok.Data;
import java.util.Date;
/**
* @ClassName : TaskEntity
* @Description :
* @Author : FJJ
* @Date: 2024-01-17 10:59
*/
@Data
public class TaskEntity {
private Integer id;
private String taskName;
private String taskType;
private String reward;
private Date createTime;
}

View File

@ -1,6 +1,7 @@
package doctor.domain.entity;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@ -14,10 +15,18 @@ import java.util.Date;
public class UserArchivesEntity {
private Integer id;
private Integer userId;
private String bankCardNumber;
private String bankName;
private Integer bankCardType;
private String diseaseMain;
private String diseaseNow;
private String diseaseBefore;
private String treatmentHospitalRecent;
private String treatmentProcess;
private String treatmentStartTime;
private String treatmentEndTime;
private String picture;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date updateTime;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date createTime;
public Integer getId() {
@ -36,28 +45,68 @@ public class UserArchivesEntity {
this.userId = userId;
}
public String getBankCardNumber() {
return bankCardNumber;
public String getDiseaseMain() {
return diseaseMain;
}
public void setBankCardNumber(String bankCardNumber) {
this.bankCardNumber = bankCardNumber;
public void setDiseaseMain(String diseaseMain) {
this.diseaseMain = diseaseMain;
}
public String getBankName() {
return bankName;
public String getDiseaseNow() {
return diseaseNow;
}
public void setBankName(String bankName) {
this.bankName = bankName;
public void setDiseaseNow(String diseaseNow) {
this.diseaseNow = diseaseNow;
}
public Integer getBankCardType() {
return bankCardType;
public String getDiseaseBefore() {
return diseaseBefore;
}
public void setBankCardType(Integer bankCardType) {
this.bankCardType = bankCardType;
public void setDiseaseBefore(String diseaseBefore) {
this.diseaseBefore = diseaseBefore;
}
public String getTreatmentHospitalRecent() {
return treatmentHospitalRecent;
}
public void setTreatmentHospitalRecent(String treatmentHospitalRecent) {
this.treatmentHospitalRecent = treatmentHospitalRecent;
}
public String getTreatmentProcess() {
return treatmentProcess;
}
public void setTreatmentProcess(String treatmentProcess) {
this.treatmentProcess = treatmentProcess;
}
public String getTreatmentStartTime() {
return treatmentStartTime;
}
public void setTreatmentStartTime(String treatmentStartTime) {
this.treatmentStartTime = treatmentStartTime;
}
public String getTreatmentEndTime() {
return treatmentEndTime;
}
public void setTreatmentEndTime(String treatmentEndTime) {
this.treatmentEndTime = treatmentEndTime;
}
public String getPicture() {
return picture;
}
public void setPicture(String picture) {
this.picture = picture;
}
public Date getUpdateTime() {

View File

@ -4,6 +4,11 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;
/**
@ -15,19 +20,29 @@ import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserEntity {
public class UserEntity implements Serializable {
@NotBlank(message = "用户ID不能为空")
private Integer id;
@NotBlank(message = "手机号不能为空")
@Pattern(regexp = "^1[0-9]{10}$", message = "请输入有效的手机号")
private String phone;
@NotBlank(message = "密码不能为空")
@Size(min = 1, message = "密码长度不能小于1")
private String pwd;
@NotBlank(message = "邮箱不能为空")
@Email(message = "请输入有效的邮箱地址")
private String email;
@NotBlank(message = "昵称不能为空")
private String nickName;
@NotBlank(message = "用户名不能为空")
private String userName;
private String headPic;
private Integer sex;
private Integer age;
private String height;
private String weight;
private String invitationCode;
private Date updateTime;
private Long createTime;

View File

@ -0,0 +1,32 @@
package doctor.domain.entity;
import lombok.Data;
/**
* @ClassName : UserSickCircleEntity
* @Description :
* @Author : FJJ
* @Date: 2024-01-16 22:02
*/
@Data
public class UserSickCircleEntity {
private String sickCircleId;
private String userId;
private String title;
private String departmentId;
private String adoptCommentId;
private String disease;
private String detail;
private String treatmentHospital;
private String treatmentStartTime;
private String treatmentEndTime;
private String treatmentProcess;
private String picture;
private String releaseTime;
private String adoptTime;
private String amount;
private String createTime;
private String collectionNum;
private String commentNum;
private String id;
}

View File

@ -0,0 +1,21 @@
package doctor.domain.entity;
import lombok.Data;
import java.util.Date;
/**
* @ClassName : UserTaskRecord
* @Description :
* @Author : FJJ
* @Date: 2024-01-17 10:47
*/
@Data
public class UserTaskRecordEntity {
private Integer id;
private Integer userId;
private Integer taskId;
private Date taskTime;
private Integer status;
private long createTime;
}

View File

@ -1,56 +1,27 @@
package doctor.domain.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @ClassName : UserVideoBuyEntity
* @Description :
* @Author : FJJ
* @Date: 2024-01-10 15:20
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserVideoBuyEntity {
private Integer id;
private Integer userId;
private Integer videoId;
private Long createTime;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public Integer getVideoId() {
return videoId;
}
public void setVideoId(Integer videoId) {
this.videoId = videoId;
}
public Long getCreateTime() {
return createTime;
}
public void setCreateTime(Long createTime) {
this.createTime = createTime;
}
public UserVideoBuyEntity(Integer id, Integer userId, Integer videoId, Long createTime) {
this.id = id;
this.userId = userId;
this.videoId = videoId;
this.createTime = createTime;
}
public UserVideoBuyEntity() {
}
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createTime;
}

View File

@ -1,5 +1,10 @@
package doctor.domain.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @ClassName : UserVideoCollectionEntity
* @Description :
@ -11,7 +16,11 @@ public class UserVideoCollectionEntity {
private Integer id;
private Integer userId;
private Integer videoId;
private Long createTime;
private String original;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createTime;
public Integer getId() {
return id;
@ -37,21 +46,19 @@ public class UserVideoCollectionEntity {
this.videoId = videoId;
}
public Long getCreateTime() {
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Long createTime) {
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public UserVideoCollectionEntity(Integer id, Integer userId, Integer videoId, Long createTime) {
this.id = id;
this.userId = userId;
this.videoId = videoId;
this.createTime = createTime;
public String getOriginal() {
return original;
}
public UserVideoCollectionEntity() {
public void setOriginal(String original) {
this.original = original;
}
}

View File

@ -1,5 +1,8 @@
package doctor.domain.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
@ -14,6 +17,8 @@ public class VideoCommentEntity {
private Integer userId;
private Integer videoId;
private String content;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createTime;
public Integer getId() {

View File

@ -26,5 +26,7 @@ public class VideoEntity {
private String originalUrl;
private Integer duration;
private Integer price;
private Long createTime;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createTime;
}

View File

@ -4,6 +4,8 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
/**
* @BelongsProject: Medical_Treatment
* @BelongsPackage: doctor.domain.vo
@ -15,6 +17,7 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
public class DepartmentVo {
@NotNull(message = "id不能为空")
private Integer id;
private String departmentName;
private String pic;

View File

@ -0,0 +1,73 @@
package doctor.domain.vo;
/**
* @ClassName : UserAdoptCommentVo
* @Description :
* @Author : FJJ
* @Date: 2024-01-15 19:46
*/
public class UserAdoptCommentVo {
private Integer releaseUserId;
private String releaseUserNickName;
private String releaseUserHeadPic;
private String title;
private String disease;
private long adoptTime;
private String content;
public Integer getReleaseUserId() {
return releaseUserId;
}
public void setReleaseUserId(Integer releaseUserId) {
this.releaseUserId = releaseUserId;
}
public String getReleaseUserNickName() {
return releaseUserNickName;
}
public void setReleaseUserNickName(String releaseUserNickName) {
this.releaseUserNickName = releaseUserNickName;
}
public String getReleaseUserHeadPic() {
return releaseUserHeadPic;
}
public void setReleaseUserHeadPic(String releaseUserHeadPic) {
this.releaseUserHeadPic = releaseUserHeadPic;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDisease() {
return disease;
}
public void setDisease(String disease) {
this.disease = disease;
}
public long getAdoptTime() {
return adoptTime;
}
public void setAdoptTime(long adoptTime) {
this.adoptTime = adoptTime;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}

View File

@ -7,5 +7,14 @@ package doctor.domain.vo;
* @Date: 2024-01-12 18:52
*/
public class UserArchivesVo {
private Integer recordId;
private Integer userId;
private Integer archivesId;
private String diseaseMain;
private String diseaseNow;
private String diseaseBefore;
private String treatmentHospitalRecent;
private String treatmentProcess;
private long treatmentStartTime;
private long treatmentEndTime;
private String picture;
}

View File

@ -0,0 +1,55 @@
package doctor.domain.vo;
/**
* @ClassName : UserConsumptionRecordVo
* @Description :
* @Author : FJJ
* @Date: 2024-01-14 15:30
*/
public class UserConsumptionRecordVo {
private Integer direction;
private Integer type;
private Integer changeNum;
private String remark;
private long createTime;
public Integer getDirection() {
return direction;
}
public void setDirection(Integer direction) {
this.direction = direction;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Integer getChangeNum() {
return changeNum;
}
public void setChangeNum(Integer changeNum) {
this.changeNum = changeNum;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public long getCreateTime() {
return createTime;
}
public void setCreateTime(long createTime) {
this.createTime = createTime;
}
}

View File

@ -0,0 +1,24 @@
package doctor.domain.vo;
import lombok.Data;
/**
* @ClassName : UserDoctorFollowVo
* @Description :
* @Author : FJJ
* @Date: 2024-01-16 22:20
*/
@Data
public class UserDoctorFollowVo {
private Integer id;
private Integer doctorId;
private String name;
private String imagePic;
private String jobTitle;
private String inauguralHospital;
private Integer departmentId;
private String departmentName;
private Integer praiseNum;
private Integer badNum;
private Integer number;
}

View File

@ -0,0 +1,57 @@
package doctor.domain.vo;
import java.util.Date;
/**
* @ClassName : UserInfoCollectionVo
* @Description :
* @Author : FJJ
* @Date: 2024-01-15 11:52
*/
public class UserInfoCollectionVo {
private Integer id;
private Integer infoId;
private String title;
private String thumbnail;
private Date createTime;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getInfoId() {
return infoId;
}
public void setInfoId(Integer infoId) {
this.infoId = infoId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getThumbnail() {
return thumbnail;
}
public void setThumbnail(String thumbnail) {
this.thumbnail = thumbnail;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
}

View File

@ -0,0 +1,20 @@
package doctor.domain.vo;
import lombok.Data;
/**
* @ClassName : UserSickCircleVo
* @Description :
* @Author : FJJ
* @Date: 2024-01-16 22:04
*/
@Data
public class UserSickCircleVo {
private Integer sickCircleId;
private String title;
private String detail;
private Integer amount;
private Integer collectionNum;
private Integer commentNum;
private long releaseTime;
}

View File

@ -0,0 +1,19 @@
package doctor.domain.vo;
import lombok.Data;
/**
* @ClassName : UserTaskRecordVo
* @Description :
* @Author : FJJ
* @Date: 2024-01-17 10:50
*/
@Data
public class UserTaskRecordVo {
private Integer id;
private String taskName;
private Integer taskType;
private Integer reward;
private Integer whetherFinish;
private Integer whetherReceive;
}

View File

@ -1,13 +1,21 @@
package doctor.domain.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @ClassName : UserVideoCollectionVo
* @Description :
* @Author : FJJ
* @Date: 2024-01-12 16:11
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserVideoCollectionVo {
private Integer id;
private Integer videoId;
private String title;
private String shearUrl;
private String original;
@ -16,76 +24,4 @@ public class UserVideoCollectionVo {
private Integer whetherBuy;
private Integer buyNum;
private Long createTime;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getShearUrl() {
return shearUrl;
}
public void setShearUrl(String shearUrl) {
this.shearUrl = shearUrl;
}
public String getOriginal() {
return original;
}
public void setOriginal(String original) {
this.original = original;
}
public Integer getPrice() {
return price;
}
public void setPrice(Integer price) {
this.price = price;
}
public Integer getDuration() {
return duration;
}
public void setDuration(Integer duration) {
this.duration = duration;
}
public Integer getWhetherBuy() {
return whetherBuy;
}
public void setWhetherBuy(Integer whetherBuy) {
this.whetherBuy = whetherBuy;
}
public Integer getBuyNum() {
return buyNum;
}
public void setBuyNum(Integer buyNum) {
this.buyNum = buyNum;
}
public Long getCreateTime() {
return createTime;
}
public void setCreateTime(Long createTime) {
this.createTime = createTime;
}
}

View File

@ -3,6 +3,11 @@ package doctor.domain.vo;
import lombok.Data;
import org.apache.catalina.User;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
/**
* @BelongsProject: Medical_Treatment
* @BelongsPackage: doctor.vo
@ -11,15 +16,19 @@ import org.apache.catalina.User;
*/
@Data
public class UserVo {
@NotBlank(message = "密码不能为空")
@Size(min = 4, message = "密码长度不能小于4")
private String pwd;
//邮箱
@NotBlank(message = "邮箱不能为空")
@Email(message = "请输入有效的邮箱地址")
private String email;
//昵称
@NotBlank(message = "昵称不能为空")
private String nickName;
//验证码
@NotBlank(message = "验证码不能为空")
@Pattern(regexp = "\\d{4}", message = "验证码必须是6位数字")
private String code;
public static User toUser(UserVo userVo) {
return null;
}
}

View File

@ -0,0 +1,13 @@
package doctor.domain.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class VideoCommentVo {
private Integer id;
private String content;
}

View File

@ -1,10 +1,10 @@
package doctor.mapper;
import doctor.domain.dto.VideoDto;
import doctor.domain.entity.UserVideoBuyEntity;
import doctor.domain.entity.UserVideoCollectionEntity;
import doctor.domain.entity.VideoCategoryEntity;
import doctor.domain.entity.VideoEntity;
import doctor.domain.vo.VideoCategoryVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -13,4 +13,10 @@ public interface HealthUserVideoMapper {
List<VideoCategoryEntity> findVideoCategoryList();
List<VideoEntity> findVideoVoList(@Param("categoryId") Integer categoryId);
UserVideoCollectionEntity selectWhetherCollectionByUserIdAndVideoId(@Param("userId") Integer userId, @Param("id") Integer id);
UserVideoBuyEntity selectWhetherBuyByUserIdAndVideoId(@Param("userId") Integer userId, @Param("id") Integer id);
Integer selectVideoBuyNum(@Param("id") Integer id);
}

View File

@ -0,0 +1,17 @@
package doctor.mapper;
import doctor.domain.entity.UserSickCircleEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @ClassName : UserSickCircleMapper
* @Description :
* @Author : FJJ
* @Date: 2024-01-16 22:09
*/
@Mapper
public interface UserSickCircleMapper {
List<UserSickCircleEntity> findUserSickCircleList();
}

View File

@ -1,8 +1,7 @@
package doctor.mapper;
import doctor.domain.entity.UserVideoBuyEntity;
import doctor.domain.entity.UserVideoCollectionEntity;
import doctor.domain.entity.UserWalletEntity;
import doctor.domain.dto.UserArchivesDto;
import doctor.domain.entity.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -16,13 +15,29 @@ import java.util.List;
*/
@Mapper
public interface UserVideoMapper {
List<UserVideoCollectionEntity> findVideoCollectionList();
List<UserVideoCollectionEntity> findVideoCollectionList(@Param("userId") Integer userId);
void cancelVideoCollection(@Param("id") Integer id);
void cancelVideoCollection(@Param("videoId") Integer videoId);
List<UserVideoBuyEntity> findUserVideoBuyList();
void deleteVideoBuy(@Param("id") Integer id);
void deleteVideoBuy(@Param("videoId") Integer videoId);
List<UserWalletEntity> findUserWallet();
List<UserConsumptionRecordEntity> findUserConsumptionRecordList();
List<UserEntity> findUserEntityList(@Param("userId") Integer userId);
List<UserInfoCollectionEntity> findUserInfoCollectionList();
List<UserAdoptCommentEntity> findMyAdoptedCommentList();
List<UserArchivesEntity> findUserArchives(@Param("userId") Integer userId);
void addUserArchives(UserArchivesEntity userArchivesEntity, @Param("userId") Integer userId);
void uploadUserArchivesImg(@Param("id") Integer id);
}

View File

@ -31,7 +31,7 @@ public interface VideoMapper {
void updateUserWallet(@Param("newblance") int newblance, @Param("id") Integer id);
List<VideoCommentEntity> findVideoCommentList(@Param("videoId") Integer videoId);
// UserWalletEntity FindById(@Param("userId") Integer userId);

View File

@ -2,9 +2,6 @@ package doctor.service;
import doctor.domain.dto.VideoDto;
import doctor.domain.entity.VideoCategoryEntity;
import doctor.domain.entity.VideoEntity;
import doctor.domain.vo.VideoCategoryVo;
import doctor.domain.vo.VideoVo;
@ -13,5 +10,5 @@ import java.util.List;
public interface HealthUserVideoService {
List<VideoCategoryVo> findVideoCategoryList();
List<VideoVo> findVideoVoList(Integer categoryId);
List<VideoVo> findVideoVoList(Integer categoryId, Integer userId);
}

View File

@ -0,0 +1,16 @@
package doctor.service;
import doctor.domain.vo.UserSickCircleVo;
import java.util.List;
/**
* @ClassName : UserSickCircleService
* @Description :
* @Author : FJJ
* @Date: 2024-01-16 22:09
*/
public interface UserSickCircleService {
List<UserSickCircleVo> findMySickCircleList();
}

View File

@ -1,10 +1,11 @@
package doctor.service;
import doctor.domain.entity.UserVideoBuyEntity;
import doctor.domain.entity.UserVideoCollectionEntity;
import doctor.domain.dto.UserArchivesDto;
import doctor.domain.entity.UserAdoptCommentEntity;
import doctor.domain.entity.UserArchivesEntity;
import doctor.domain.entity.UserEntity;
import doctor.domain.entity.UserWalletEntity;
import doctor.domain.vo.UserVideoBuyVo;
import doctor.domain.vo.UserVideoCollectionVo;
import doctor.domain.vo.*;
import java.util.List;
@ -17,13 +18,30 @@ import java.util.List;
public interface UserVideoService {
void cancelVideoCollection(Integer id);
List<UserVideoBuyVo> findUserVideoBuyList();
void deleteVideoBuy(Integer id);
void deleteVideoBuy(Integer videoId);
List<UserWalletEntity> findUserWallet();
List<UserVideoCollectionVo> findVideoCollectionList();
List<UserVideoCollectionVo> findVideoCollectionList(Integer userId);
void cancelVideoCollection(Integer userId, String sessionId, Integer videoId);
List<UserConsumptionRecordVo> findUserConsumptionRecordList();
List<UserEntity> whetherSignToday(Integer userId);
List<UserInfoCollectionVo> findUserInfoCollectionList();
List<UserAdoptCommentVo> findMyAdoptedCommentList();
List<UserArchivesVo> findUserArchives(Integer userId);
void addUserArchives(UserArchivesEntity userArchivesEntity, Integer userId);
void uploadUserArchivesImg(Integer id);
}

View File

@ -1,6 +1,7 @@
package doctor.service;
import doctor.domain.entity.*;
import doctor.domain.vo.VideoCommentVo;
import java.util.List;
@ -12,10 +13,11 @@ import java.util.List;
*/
public interface VideoService {
void addUserVideoCollection(Integer videoId);
void addUserVideoCollection(Integer videoId,Integer userId);
void videoBuy(Integer videoId,Integer price);
List<VideoCommentVo> findVideoCommentList(Integer videoId);
}

View File

@ -1,7 +1,10 @@
package doctor.service.impl;
import doctor.domain.dto.VideoDto;
import doctor.common.security.service.TokenService;
import doctor.common.security.utils.SecurityUtils;
import doctor.domain.entity.UserVideoBuyEntity;
import doctor.domain.entity.UserVideoCollectionEntity;
import doctor.domain.entity.VideoCategoryEntity;
import doctor.domain.entity.VideoEntity;
import doctor.domain.vo.VideoCategoryVo;
@ -9,10 +12,10 @@ import doctor.domain.vo.VideoVo;
import doctor.mapper.HealthUserVideoMapper;
import doctor.service.HealthUserVideoService;
import doctor.util.ConvertUtil;
import io.netty.util.internal.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@Service
@ -20,6 +23,9 @@ public class HealthUserVideoServiceImpl implements HealthUserVideoService {
@Autowired
private HealthUserVideoMapper healthUserVideoMapper;
@Autowired
private TokenService tokenService;
@Override
public List<VideoCategoryVo> findVideoCategoryList() {
@ -29,9 +35,26 @@ public class HealthUserVideoServiceImpl implements HealthUserVideoService {
}
@Override
public List<VideoVo> findVideoVoList(Integer categoryId) {
public List<VideoVo> findVideoVoList(Integer categoryId, Integer userId) {
List<VideoEntity> videoVoList = healthUserVideoMapper.findVideoVoList(categoryId);
List<VideoVo> videoVos = ConvertUtil.entityToVoList(videoVoList, VideoVo.class);
videoVos.forEach(video -> {
UserVideoCollectionEntity userVideoCollection = healthUserVideoMapper.selectWhetherCollectionByUserIdAndVideoId(userId,video.getId());
if(userVideoCollection!=null){
video.setWhetherCollection(1);
}else {
video.setWhetherCollection(2);
}
UserVideoBuyEntity userVideoBuy = healthUserVideoMapper.selectWhetherBuyByUserIdAndVideoId(userId,video.getId());
if(userVideoBuy!=null){
video.setWhetherBuy(1);
}else {
video.setWhetherBuy(2);
}
Integer buyNum = healthUserVideoMapper.selectVideoBuyNum(video.getId());
video.setBuyNum(buyNum);
});
return videoVos;
}
}

View File

@ -0,0 +1,30 @@
package doctor.service.impl;
import doctor.domain.entity.UserSickCircleEntity;
import doctor.domain.vo.UserSickCircleVo;
import doctor.mapper.UserSickCircleMapper;
import doctor.mapper.UserVideoMapper;
import doctor.service.UserSickCircleService;
import doctor.util.ConvertUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @ClassName : UserSickCircleServiceImpl
* @Description :
* @Author : FJJ
* @Date: 2024-01-16 22:10
*/
@Service
public class UserSickCircleServiceImpl implements UserSickCircleService {
@Autowired
private UserSickCircleMapper userSickCircleMapper;
@Override
public List<UserSickCircleVo> findMySickCircleList() {
List<UserSickCircleEntity> userSickCircleEntityList=userSickCircleMapper.findUserSickCircleList();
List<UserSickCircleVo> userSickCircleVoList = ConvertUtil.entityToVoList(userSickCircleEntityList, UserSickCircleVo.class);
return userSickCircleVoList;
}
}

View File

@ -1,10 +1,8 @@
package doctor.service.impl;
import doctor.domain.entity.UserVideoBuyEntity;
import doctor.domain.entity.UserVideoCollectionEntity;
import doctor.domain.entity.UserWalletEntity;
import doctor.domain.vo.UserVideoBuyVo;
import doctor.domain.vo.UserVideoCollectionVo;
import doctor.domain.dto.UserArchivesDto;
import doctor.domain.entity.*;
import doctor.domain.vo.*;
import doctor.mapper.UserVideoMapper;
import doctor.service.UserVideoService;
import doctor.util.ConvertUtil;
@ -26,17 +24,64 @@ public class UserVideoServiceImpl implements UserVideoService {
@Override
public List<UserVideoCollectionVo> findVideoCollectionList() {
List<UserVideoCollectionEntity> userVideoCollectionEntityList=userVideoMapper.findVideoCollectionList();
public List<UserVideoCollectionVo> findVideoCollectionList(Integer userId) {
List<UserVideoCollectionEntity> userVideoCollectionEntityList=userVideoMapper.findVideoCollectionList(userId);
List<UserVideoCollectionVo> userVideoCollectionVoList = ConvertUtil.entityToVoList(userVideoCollectionEntityList, UserVideoCollectionVo.class);
return userVideoCollectionVoList;
}
@Override
public void cancelVideoCollection(Integer id) {
userVideoMapper.cancelVideoCollection(id);
public void cancelVideoCollection(Integer userId, String sessionId, Integer videoId) {
userVideoMapper.cancelVideoCollection(videoId);
}
@Override
public List<UserConsumptionRecordVo> findUserConsumptionRecordList() {
List<UserConsumptionRecordEntity> userConsumptionRecordEntityList=userVideoMapper.findUserConsumptionRecordList();
List<UserConsumptionRecordVo> userConsumptionRecordVoList = ConvertUtil.entityToVoList(userConsumptionRecordEntityList, UserConsumptionRecordVo.class);
return userConsumptionRecordVoList;
}
@Override
public List<UserEntity> whetherSignToday(Integer userId) {
List<UserEntity> userEntityList=userVideoMapper.findUserEntityList(userId);
return userEntityList;
}
@Override
public List<UserInfoCollectionVo> findUserInfoCollectionList() {
List<UserInfoCollectionEntity> userVideoCollectionEntityList=userVideoMapper.findUserInfoCollectionList();
List<UserInfoCollectionVo> userVideoCollectionVoList = ConvertUtil.entityToVoList(userVideoCollectionEntityList, UserInfoCollectionVo.class);
return userVideoCollectionVoList;
}
@Override
public List<UserAdoptCommentVo> findMyAdoptedCommentList() {
List<UserAdoptCommentEntity> userAdoptCommentEntityList=userVideoMapper.findMyAdoptedCommentList();
List<UserAdoptCommentVo> userAdoptCommentVoList = ConvertUtil.entityToVoList(userAdoptCommentEntityList, UserAdoptCommentVo.class);
return userAdoptCommentVoList;
}
@Override
public List<UserArchivesVo> findUserArchives(Integer userId) {
List<UserArchivesEntity> userArchivesEntityList=userVideoMapper.findUserArchives(userId);
List<UserArchivesVo> userArchivesVoList = ConvertUtil.entityToVoList(userArchivesEntityList, UserArchivesVo.class);
return userArchivesVoList;
}
@Override
public void addUserArchives(UserArchivesEntity userArchivesEntity,Integer userId) {
userVideoMapper.addUserArchives(userArchivesEntity,userId);
}
@Override
public void uploadUserArchivesImg(Integer id) {
userVideoMapper.uploadUserArchivesImg(id);
}
@Override
public List<UserVideoBuyVo> findUserVideoBuyList() {
List<UserVideoBuyEntity> userVideoCollectionEntityList=userVideoMapper.findUserVideoBuyList();
@ -45,8 +90,8 @@ public class UserVideoServiceImpl implements UserVideoService {
}
@Override
public void deleteVideoBuy(Integer id) {
userVideoMapper.deleteVideoBuy(id);
public void deleteVideoBuy(Integer videoId) {
userVideoMapper.deleteVideoBuy(videoId);
}
@Override

View File

@ -2,8 +2,10 @@ package doctor.service.impl;
import doctor.common.core.utils.JwtUtils;
import doctor.domain.entity.*;
import doctor.domain.vo.VideoCommentVo;
import doctor.mapper.VideoMapper;
import doctor.service.VideoService;
import doctor.util.ConvertUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -23,10 +25,7 @@ public class VideoServiceImpl implements VideoService {
@Autowired
private HttpServletRequest request;
@Override
public void addUserVideoCollection(Integer videoId) {
//获取用户id
String token = request.getHeader("token");
Integer userId = Integer.valueOf(JwtUtils.getUserId(token));
public void addUserVideoCollection(Integer videoId,Integer userId) {
// 添加收藏
videoMapper.addUserVideoCollection(userId,videoId);
// 更新视频收藏数
@ -53,5 +52,12 @@ public class VideoServiceImpl implements VideoService {
}
}
@Override
public List<VideoCommentVo> findVideoCommentList(Integer videoId) {
List<VideoCommentEntity> videoCommentEntityList = videoMapper.findVideoCommentList(videoId);
List<VideoCommentVo> videoCommentVoList = ConvertUtil.entityToVoList(videoCommentEntityList, VideoCommentVo.class);
return videoCommentVoList;
}
}

View File

@ -15,11 +15,11 @@ spring:
discovery:
# 服务注册地址
server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
namespace: 09dff3e2-9790-4d4f-beb6-9baeb01ae040
config:
# 配置中心地址
server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
namespace: 09dff3e2-9790-4d4f-beb6-9baeb01ae040
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -11,5 +11,14 @@
<select id="findVideoVoList" resultType="doctor.domain.entity.VideoEntity">
select * from video where category_id=#{categoryId}
</select>
<select id="selectWhetherCollectionByUserIdAndVideoId" resultType="doctor.domain.entity.UserVideoCollectionEntity">
select * from user_video_collection where user_id=#{userId} and video_id=#{id}
</select>
<select id="selectWhetherBuyByUserIdAndVideoId" resultType="doctor.domain.entity.UserVideoBuyEntity">
select * from user_video_buy where user_id=#{userId} and video_id=#{id}
</select>
<select id="selectVideoBuyNum" resultType="java.lang.Integer">
select count(*) buyNum from user_video_buy where video_id=#{id}
</select>
</mapper>

View File

@ -0,0 +1,11 @@
<?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="doctor.mapper.UserSickCircleMapper">
<select id="findUserSickCircleList" resultType="doctor.domain.entity.UserSickCircleEntity">
select *
from user_sick_circle
</select>
</mapper>

View File

@ -3,19 +3,50 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="doctor.mapper.UserVideoMapper">
<insert id="addUserArchives">
insert into user_archives (
user_id,
disease_main,
disease_now,
disease_before,
treatment_hospital_recent,
treatment_process,
treatment_start_time,
treatment_end_time,
picture,
create_time
)
values (
#{userId},
#{diseaseMain},
#{diseaseNow},
#{diseaseBefore},
#{treatmentHospitalRecent},
#{treatmentProcess},
#{treatmentStartTime},
#{treatmentEndTime},
#{picture},
now()
);
</insert>
<update id="uploadUserArchivesImg">
update user_archives
set picture = #{picture}
where id=#{id}
</update>
<delete id="cancelVideoCollection">
delete
from user_video_collection
where video_id = #{id}
where video_id = #{videoId}
</delete>
<delete id="deleteVideoBuy">
delete
from user_video_buy
where video_id = #{id}
where video_id = #{videoId}
</delete>
<select id="findVideoCollectionList" resultType="doctor.domain.entity.UserVideoCollectionEntity">
select *
from user_video_collection
SELECT user_video_collection.*,video.original_url original FROM user_video_collection LEFT JOIN video ON video.id=user_video_collection.video_id where user_id=#{userId}
</select>
<select id="findUserVideoBuyList" resultType="doctor.domain.entity.UserVideoBuyEntity">
select *
@ -25,4 +56,24 @@
select *
from user_wallet
</select>
<select id="findUserConsumptionRecordList" resultType="doctor.domain.entity.UserConsumptionRecordEntity">
select *
from user_consumption_record
</select>
<select id="findUserEntityList" resultType="doctor.domain.entity.UserEntity">
select *
from user where id=#{userId}
</select>
<select id="findUserInfoCollectionList" resultType="doctor.domain.entity.UserInfoCollectionEntity">
SELECT user_info_collection.*,information.title,information.content,information.source FROM user_info_collection LEFT JOIN information ON user_info_collection.info_id =information.id
</select>
<select id="findMyAdoptedCommentList" resultType="doctor.domain.entity.UserAdoptCommentEntity">
select *
from user_adopt_comment
</select>
<select id="findUserArchives" resultType="doctor.domain.entity.UserArchivesEntity">
select *
from user_archives where user_id=#{userId}
</select>
</mapper>

View File

@ -47,6 +47,9 @@
LEFT JOIN user ON user.id = user_wallet.user_id
WHERE user_wallet.user_id==#{id}
</select>
<select id="findVideoCommentList" resultType="doctor.domain.entity.VideoCommentEntity">
select * from video_comment where video_id=#{videoId}
</select>
</mapper>

View File

@ -15,11 +15,11 @@ spring:
discovery:
# 服务注册地址
server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
namespace: 09dff3e2-9790-4d4f-beb6-9baeb01ae040
config:
# 配置中心地址
server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
namespace: 09dff3e2-9790-4d4f-beb6-9baeb01ae040
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -15,11 +15,11 @@ spring:
discovery:
# 服务注册地址
server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
namespace: 09dff3e2-9790-4d4f-beb6-9baeb01ae040
config:
# 配置中心地址
server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
namespace: 09dff3e2-9790-4d4f-beb6-9baeb01ae040
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -15,11 +15,11 @@ spring:
discovery:
# 服务注册地址
server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
namespace: 09dff3e2-9790-4d4f-beb6-9baeb01ae040
config:
# 配置中心地址
server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050
namespace: 09dff3e2-9790-4d4f-beb6-9baeb01ae040
# 配置文件格式
file-extension: yml
# 共享配置

16
pom.xml
View File

@ -206,6 +206,22 @@
<version>${doctor.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<version>2.7.18</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>2.0.9</version>
</dependency>
</dependencies>
</dependencyManagement>