diff --git a/doctor-common/doctor-common-core/pom.xml b/doctor-common/doctor-common-core/pom.xml index 241f6c2..406e2ec 100644 --- a/doctor-common/doctor-common-core/pom.xml +++ b/doctor-common/doctor-common-core/pom.xml @@ -121,6 +121,13 @@ + + javax.persistence + javax.persistence-api + 2.2 + + + diff --git a/doctor-common/doctor-common-core/src/main/java/doctor/common/core/web/controller/BaseController.java b/doctor-common/doctor-common-core/src/main/java/doctor/common/core/web/controller/BaseController.java index f9e086b..0ffa53c 100644 --- a/doctor-common/doctor-common-core/src/main/java/doctor/common/core/web/controller/BaseController.java +++ b/doctor-common/doctor-common-core/src/main/java/doctor/common/core/web/controller/BaseController.java @@ -48,6 +48,13 @@ public class BaseController PageUtils.startPage(); } + protected void startPage(Integer page,Integer count) + { + PageUtils.startPage(page,count); + } + + + /** * 清理分页的线程变量 */ diff --git a/doctor-gateway/src/main/java/doctor/gateway/filter/AuthFilter.java b/doctor-gateway/src/main/java/doctor/gateway/filter/AuthFilter.java index a924cb3..aefad10 100644 --- a/doctor-gateway/src/main/java/doctor/gateway/filter/AuthFilter.java +++ b/doctor-gateway/src/main/java/doctor/gateway/filter/AuthFilter.java @@ -52,6 +52,7 @@ public class AuthFilter implements GlobalFilter, Ordered { return chain.filter(exchange); } + String token = getToken(request); if (StringUtils.isEmpty(token)) @@ -126,6 +127,7 @@ public class AuthFilter implements GlobalFilter, Ordered token = request.getQueryParams().getFirst(TokenConstants.SESSIONID); } if(StringUtils.isNotEmpty(token)){ + //TODO 解决报错问题 request.getHeaders().set(TokenConstants.SESSIONID,token); } // 如果前端设置了令牌前缀,则裁剪掉前缀 diff --git a/doctor-modules/doctor-health/src/main/java/doctor/controller/HealthJobTitleController.java b/doctor-modules/doctor-health/src/main/java/doctor/controller/HealthJobTitleController.java index 8053894..dc53a38 100644 --- a/doctor-modules/doctor-health/src/main/java/doctor/controller/HealthJobTitleController.java +++ b/doctor-modules/doctor-health/src/main/java/doctor/controller/HealthJobTitleController.java @@ -1,13 +1,16 @@ 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.DoctorVo; -import doctor.domain.vo.FindImagePicVo; +import doctor.domain.vo.*; 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; @@ -16,12 +19,47 @@ import java.util.List; @RestController @RequestMapping("/v1") -public class HealthJobTitleController { +public class HealthJobTitleController extends BaseController { @Autowired private HealthJobTitleService healthJobTitleService; @Autowired private BannersService bannersService; + +// @GetMapping("/findHistoryInquiryRecord") +// public HealthR> findHistoryInquiryRecord(@RequestHeader Integer doctorId, +// @RequestHeader String sessionId, +// @RequestParam Integer page, +// @RequestParam Integer size) { +// HealthR> healthR= healthJobTitleService.findHistoryInquiryRecord(); +// return null; +// } + + @GetMapping("/findDoctorWallet") + public HealthR findDoctorWallet(@RequestHeader Integer doctorId, + @RequestHeader String sessionId) { + + WalletVo healthR= healthJobTitleService.findDoctorWallet(doctorId); + return HealthR.ok(healthR); + } + + @PostMapping("/drawCash") + public HealthR drawCash(@RequestHeader Integer doctorId, + @RequestHeader String sessionId, + @RequestParam Integer money) { + HealthR healthR= healthJobTitleService.drawCash(doctorId,money); + return healthR; + } + + @GetMapping("/findDoctorIncomeRecordList") + public HealthR> findDoctorIncomeRecordList(@RequestHeader Integer doctorId, + @RequestHeader String sessionId, + @RequestParam Integer page, + @RequestParam Integer count) { + List doctorIncomeRecordEntities=healthJobTitleService.findDoctorIncomeRecordList(doctorId,page,count); + return HealthR.ok(doctorIncomeRecordEntities); + } + @GetMapping("/bannersShow") public HealthR> bannersShow(){ List banners = bannersService.bannersShow(); @@ -30,11 +68,12 @@ public class HealthJobTitleController { @GetMapping("/findJobTitleList") public HealthR> findJobTitleList() { + LoginUser loginUser = SecurityUtils.getLoginUser(); List doctorJobTitleEntities=healthJobTitleService.findJobTitleList(); return HealthR.ok(doctorJobTitleEntities); } - @PostMapping("/sendEmailCode") + @RequestMapping("/sendEmailCode") public HealthR sendEmailCode(@RequestParam("email") String email) { HealthR healthR= healthJobTitleService.sendEmailCode(email); return HealthR.ok(healthR); @@ -46,6 +85,14 @@ public class HealthJobTitleController { 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 findDoctorById(@RequestHeader Integer doctorId, @RequestHeader String sessionId) { diff --git a/doctor-modules/doctor-health/src/main/java/doctor/domain/dto/CheckCodeDto.java b/doctor-modules/doctor-health/src/main/java/doctor/domain/dto/CheckCodeDto.java new file mode 100644 index 0000000..b1a8462 --- /dev/null +++ b/doctor-modules/doctor-health/src/main/java/doctor/domain/dto/CheckCodeDto.java @@ -0,0 +1,9 @@ +package doctor.domain.dto; + +import lombok.Data; + +@Data +public class CheckCodeDto { + private String email; + private String code; +} diff --git a/doctor-modules/doctor-health/src/main/java/doctor/domain/entity/DoctorIncomeRecordEntity.java b/doctor-modules/doctor-health/src/main/java/doctor/domain/entity/DoctorIncomeRecordEntity.java new file mode 100644 index 0000000..973161f --- /dev/null +++ b/doctor-modules/doctor-health/src/main/java/doctor/domain/entity/DoctorIncomeRecordEntity.java @@ -0,0 +1,86 @@ +package doctor.domain.entity; + +import javax.persistence.*; +import java.util.Date; + +@Entity +@Table(name = "doctor_income_record") +public class DoctorIncomeRecordEntity { + @Id + @Column(name = "id") + private Integer id; + + @Column(name = "doctor_id") + private Integer doctorId; + + @Column(name = "money") + private Integer money; + + @Column(name = "direction") + private Integer direction; + + @Column(name = "income_type") + private Integer incomeType; + + @Column(name = "record_time") + private Date recordTime; + + @Column(name = "create_time") + private Date createTime; + + public Integer getId() { + return this.id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getDoctorId() { + return this.doctorId; + } + + public void setDoctorId(Integer doctorId) { + this.doctorId = doctorId; + } + + public Integer getMoney() { + return this.money; + } + + public void setMoney(Integer money) { + this.money = money; + } + + public Integer getDirection() { + return this.direction; + } + + public void setDirection(Integer direction) { + this.direction = direction; + } + + public Integer getIncomeType() { + return this.incomeType; + } + + public void setIncomeType(Integer incomeType) { + this.incomeType = incomeType; + } + + public Date getRecordTime() { + return this.recordTime; + } + + public void setRecordTime(Date recordTime) { + this.recordTime = recordTime; + } + + public Date getCreateTime() { + return this.createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } +} diff --git a/doctor-modules/doctor-health/src/main/java/doctor/domain/entity/DoctorWalletEntity.java b/doctor-modules/doctor-health/src/main/java/doctor/domain/entity/DoctorWalletEntity.java new file mode 100644 index 0000000..5a037b0 --- /dev/null +++ b/doctor-modules/doctor-health/src/main/java/doctor/domain/entity/DoctorWalletEntity.java @@ -0,0 +1,21 @@ +package doctor.domain.entity; + + +import lombok.Data; + +import java.util.Date; +@Data +public class DoctorWalletEntity { + private Integer id; + + private Integer doctorId; + + private Integer balance; + + private Integer version; + + private Date updateTime; + + private Date createTime; + +} diff --git a/doctor-modules/doctor-health/src/main/java/doctor/domain/vo/DoctorHistoryInquiryVo.java b/doctor-modules/doctor-health/src/main/java/doctor/domain/vo/DoctorHistoryInquiryVo.java new file mode 100644 index 0000000..cb5ce31 --- /dev/null +++ b/doctor-modules/doctor-health/src/main/java/doctor/domain/vo/DoctorHistoryInquiryVo.java @@ -0,0 +1,4 @@ +package doctor.domain.vo; + +public class DoctorHistoryInquiryVo { +} diff --git a/doctor-modules/doctor-health/src/main/java/doctor/domain/vo/DoctorIncomeRecordVo.java b/doctor-modules/doctor-health/src/main/java/doctor/domain/vo/DoctorIncomeRecordVo.java new file mode 100644 index 0000000..1e36203 --- /dev/null +++ b/doctor-modules/doctor-health/src/main/java/doctor/domain/vo/DoctorIncomeRecordVo.java @@ -0,0 +1,13 @@ +package doctor.domain.vo; + +import lombok.Data; + +import java.util.Date; + +@Data +public class DoctorIncomeRecordVo { + private Integer money; + private Integer direction; + private Integer incomeType; + private Date recordTime; +} diff --git a/doctor-modules/doctor-health/src/main/java/doctor/domain/vo/WalletVo.java b/doctor-modules/doctor-health/src/main/java/doctor/domain/vo/WalletVo.java new file mode 100644 index 0000000..a35f308 --- /dev/null +++ b/doctor-modules/doctor-health/src/main/java/doctor/domain/vo/WalletVo.java @@ -0,0 +1,14 @@ +package doctor.domain.vo; + +import io.swagger.models.auth.In; +import lombok.Data; + +@Data +public class WalletVo { + private Integer id; + private Integer doctorId; + private Integer balance; + private Integer version; + private Integer whetherBindIdCard; + private Integer whetherBindBankCard; +} diff --git a/doctor-modules/doctor-health/src/main/java/doctor/mapper/HealthJobTitleMapper.java b/doctor-modules/doctor-health/src/main/java/doctor/mapper/HealthJobTitleMapper.java index c20b840..75901a4 100644 --- a/doctor-modules/doctor-health/src/main/java/doctor/mapper/HealthJobTitleMapper.java +++ b/doctor-modules/doctor-health/src/main/java/doctor/mapper/HealthJobTitleMapper.java @@ -1,6 +1,8 @@ package doctor.mapper; +import doctor.domain.entity.DoctorIncomeRecordEntity; import doctor.domain.entity.DoctorJobTitleEntity; +import doctor.domain.entity.DoctorWalletEntity; import doctor.system.api.domain.Department; import doctor.system.api.domain.Doctor; import org.apache.ibatis.annotations.Mapper; @@ -23,4 +25,8 @@ public interface HealthJobTitleMapper { List findDoctorImgPic(); void updDoctorImgPicBuyId(@Param("doctorId") Integer doctorId, @Param("s") String s); + + DoctorWalletEntity findDoctorWalletById(Integer doctorId); + + List findDoctorIncomeRecordList(Integer doctorId); } diff --git a/doctor-modules/doctor-health/src/main/java/doctor/service/HealthJobTitleService.java b/doctor-modules/doctor-health/src/main/java/doctor/service/HealthJobTitleService.java index 2e4a985..7273780 100644 --- a/doctor-modules/doctor-health/src/main/java/doctor/service/HealthJobTitleService.java +++ b/doctor-modules/doctor-health/src/main/java/doctor/service/HealthJobTitleService.java @@ -5,7 +5,8 @@ import doctor.domain.dto.ApplyJoinDto; import doctor.domain.entity.DoctorJobTitleEntity; import doctor.domain.vo.DoctorVo; import doctor.domain.vo.FindImagePicVo; -import io.swagger.models.auth.In; +import doctor.domain.vo.WalletVo; +import doctor.domain.vo.DoctorIncomeRecordVo; import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -22,4 +23,12 @@ public interface HealthJobTitleService { List findSystemImagePic(); HealthR uploadImagePic(MultipartFile imagePic, Integer doctorId, String sessionId); + + HealthR checkCode(String email, String code); + + WalletVo findDoctorWallet(Integer doctorId); + + List findDoctorIncomeRecordList(Integer doctorId,Integer page, Integer count); + + HealthR drawCash(Integer doctorId, Integer money); } diff --git a/doctor-modules/doctor-health/src/main/java/doctor/service/impl/HealthJobTitleServiceImpl.java b/doctor-modules/doctor-health/src/main/java/doctor/service/impl/HealthJobTitleServiceImpl.java index b2b1a16..9c14a3d 100644 --- a/doctor-modules/doctor-health/src/main/java/doctor/service/impl/HealthJobTitleServiceImpl.java +++ b/doctor-modules/doctor-health/src/main/java/doctor/service/impl/HealthJobTitleServiceImpl.java @@ -3,9 +3,13 @@ package doctor.service.impl; import doctor.common.core.domain.HealthR; import doctor.common.security.service.TokenService; import doctor.domain.dto.ApplyJoinDto; +import doctor.domain.entity.DoctorIncomeRecordEntity; import doctor.domain.entity.DoctorJobTitleEntity; +import doctor.domain.entity.DoctorWalletEntity; import doctor.domain.vo.DoctorVo; import doctor.domain.vo.FindImagePicVo; +import doctor.domain.vo.WalletVo; +import doctor.domain.vo.DoctorIncomeRecordVo; import doctor.mapper.HealthJobTitleMapper; import doctor.service.HealthJobTitleService; import doctor.system.api.domain.Department; @@ -15,7 +19,6 @@ import doctor.util.OssUtil; import doctor.util.RSAUtils; import doctor.util.RsaKey; import doctor.util.SendEmail; -import org.bouncycastle.jcajce.provider.asymmetric.rsa.RSAUtil; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; @@ -130,4 +133,50 @@ public class HealthJobTitleServiceImpl implements HealthJobTitleService { tokenService.createToken(loginUser); return HealthR.ok(s); } + + @Override + public HealthR checkCode(String email, String code) { + if (email==null||email.equals("")){ + return HealthR.fail(); + } + if (code==null||code.equals("")){ + return HealthR.fail(); + } + if (!redisTemplate.hasKey(email)){ + return HealthR.fail(); + } + Integer integer = redisTemplate.opsForValue().get(email); + if (!String.valueOf(integer).equals(code)){ + return HealthR.fail(); + } + return HealthR.ok(); + } + + @Override + public WalletVo findDoctorWallet(Integer doctorId) { + WalletVo walletVo=new WalletVo(); + DoctorWalletEntity doctorWalletEntity = healthJobTitleMapper.findDoctorWalletById(doctorId); + BeanUtils.copyProperties(doctorWalletEntity,walletVo); + walletVo.setWhetherBindIdCard(1); + walletVo.setWhetherBindBankCard(1); + return walletVo; + } + + @Override + public List findDoctorIncomeRecordList(Integer doctorId, Integer page, Integer count) { + List doctorIncomeRecordList = healthJobTitleMapper.findDoctorIncomeRecordList(doctorId); + ArrayList doctorIncomeRecordVos = new ArrayList<>(); + for (DoctorIncomeRecordEntity doctorIncomeRecordEntity : doctorIncomeRecordList) { + DoctorIncomeRecordVo doctorIncomeRecordVo = new DoctorIncomeRecordVo(); + BeanUtils.copyProperties(doctorIncomeRecordEntity,doctorIncomeRecordVo); + doctorIncomeRecordVos.add(doctorIncomeRecordVo); + } + return doctorIncomeRecordVos; + } + + @Override + public HealthR drawCash(Integer doctorId, Integer money) { + + return null; + } } diff --git a/doctor-modules/doctor-health/src/main/resources/mapper/doctor/HealthJobTitleMapper.xml b/doctor-modules/doctor-health/src/main/resources/mapper/doctor/HealthJobTitleMapper.xml index 8401276..ba908f5 100644 --- a/doctor-modules/doctor-health/src/main/resources/mapper/doctor/HealthJobTitleMapper.xml +++ b/doctor-modules/doctor-health/src/main/resources/mapper/doctor/HealthJobTitleMapper.xml @@ -28,4 +28,10 @@ + + diff --git a/doctor-modules/doctor-system/src/main/java/doctor/system/service/impl/SysPermissionServiceImpl.java b/doctor-modules/doctor-system/src/main/java/doctor/system/service/impl/SysPermissionServiceImpl.java index a85d417..8a0595c 100644 --- a/doctor-modules/doctor-system/src/main/java/doctor/system/service/impl/SysPermissionServiceImpl.java +++ b/doctor-modules/doctor-system/src/main/java/doctor/system/service/impl/SysPermissionServiceImpl.java @@ -14,7 +14,7 @@ import doctor.system.service.ISysRoleService; /** * 用户权限处理 - * + * * @author ruoyi */ @Service @@ -28,7 +28,7 @@ public class SysPermissionServiceImpl implements ISysPermissionService /** * 获取角色数据权限 - * + * * @param userId 用户Id * @return 角色权限信息 */ @@ -50,8 +50,8 @@ public class SysPermissionServiceImpl implements ISysPermissionService /** * 获取菜单数据权限 - * - * @param userId 用户Id + * + * @param user 用户Id * @return 菜单权限信息 */ @Override