cbx
chenbingxuan 2024-01-15 22:32:04 +08:00
parent bf29dcfee2
commit e00d68ef89
15 changed files with 290 additions and 10 deletions

View File

@ -121,6 +121,13 @@
</dependency> </dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
<version>2.2</version>
</dependency>
</dependencies> </dependencies>

View File

@ -48,6 +48,13 @@ public class BaseController
PageUtils.startPage(); PageUtils.startPage();
} }
protected void startPage(Integer page,Integer count)
{
PageUtils.startPage(page,count);
}
/** /**
* 线 * 线
*/ */

View File

@ -52,6 +52,7 @@ public class AuthFilter implements GlobalFilter, Ordered
{ {
return chain.filter(exchange); return chain.filter(exchange);
} }
String token = getToken(request); String token = getToken(request);
if (StringUtils.isEmpty(token)) if (StringUtils.isEmpty(token))
@ -126,6 +127,7 @@ public class AuthFilter implements GlobalFilter, Ordered
token = request.getQueryParams().getFirst(TokenConstants.SESSIONID); token = request.getQueryParams().getFirst(TokenConstants.SESSIONID);
} }
if(StringUtils.isNotEmpty(token)){ if(StringUtils.isNotEmpty(token)){
//TODO 解决报错问题
request.getHeaders().set(TokenConstants.SESSIONID,token); request.getHeaders().set(TokenConstants.SESSIONID,token);
} }
// 如果前端设置了令牌前缀,则裁剪掉前缀 // 如果前端设置了令牌前缀,则裁剪掉前缀

View File

@ -1,13 +1,16 @@
package doctor.controller; package doctor.controller;
import doctor.common.core.domain.HealthR; 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.ApplyJoinDto;
import doctor.domain.dto.CheckCodeDto;
import doctor.domain.entity.Banners; import doctor.domain.entity.Banners;
import doctor.domain.entity.DoctorJobTitleEntity; import doctor.domain.entity.DoctorJobTitleEntity;
import doctor.domain.vo.DoctorVo; import doctor.domain.vo.*;
import doctor.domain.vo.FindImagePicVo;
import doctor.service.BannersService; import doctor.service.BannersService;
import doctor.service.HealthJobTitleService; import doctor.service.HealthJobTitleService;
import doctor.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -16,12 +19,47 @@ import java.util.List;
@RestController @RestController
@RequestMapping("/v1") @RequestMapping("/v1")
public class HealthJobTitleController { public class HealthJobTitleController extends BaseController {
@Autowired @Autowired
private HealthJobTitleService healthJobTitleService; private HealthJobTitleService healthJobTitleService;
@Autowired @Autowired
private BannersService bannersService; 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();
// return null;
// }
@GetMapping("/findDoctorWallet")
public HealthR<WalletVo> 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<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("/bannersShow") @GetMapping("/bannersShow")
public HealthR<List<Banners>> bannersShow(){ public HealthR<List<Banners>> bannersShow(){
List<Banners> banners = bannersService.bannersShow(); List<Banners> banners = bannersService.bannersShow();
@ -30,11 +68,12 @@ public class HealthJobTitleController {
@GetMapping("/findJobTitleList") @GetMapping("/findJobTitleList")
public HealthR<List<DoctorJobTitleEntity>> findJobTitleList() { public HealthR<List<DoctorJobTitleEntity>> findJobTitleList() {
LoginUser loginUser = SecurityUtils.getLoginUser();
List<DoctorJobTitleEntity> doctorJobTitleEntities=healthJobTitleService.findJobTitleList(); List<DoctorJobTitleEntity> doctorJobTitleEntities=healthJobTitleService.findJobTitleList();
return HealthR.ok(doctorJobTitleEntities); return HealthR.ok(doctorJobTitleEntities);
} }
@PostMapping("/sendEmailCode") @RequestMapping("/sendEmailCode")
public HealthR sendEmailCode(@RequestParam("email") String email) { public HealthR sendEmailCode(@RequestParam("email") String email) {
HealthR healthR= healthJobTitleService.sendEmailCode(email); HealthR healthR= healthJobTitleService.sendEmailCode(email);
return HealthR.ok(healthR); return HealthR.ok(healthR);
@ -46,6 +85,14 @@ public class HealthJobTitleController {
return HealthR.ok(healthR); 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") @GetMapping("/findDoctorById")
public HealthR<DoctorVo> findDoctorById(@RequestHeader Integer doctorId, public HealthR<DoctorVo> findDoctorById(@RequestHeader Integer doctorId,
@RequestHeader String sessionId) { @RequestHeader String sessionId) {

View File

@ -0,0 +1,9 @@
package doctor.domain.dto;
import lombok.Data;
@Data
public class CheckCodeDto {
private String email;
private String code;
}

View File

@ -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;
}
}

View File

@ -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;
}

View File

@ -0,0 +1,4 @@
package doctor.domain.vo;
public class DoctorHistoryInquiryVo {
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -1,6 +1,8 @@
package doctor.mapper; package doctor.mapper;
import doctor.domain.entity.DoctorIncomeRecordEntity;
import doctor.domain.entity.DoctorJobTitleEntity; import doctor.domain.entity.DoctorJobTitleEntity;
import doctor.domain.entity.DoctorWalletEntity;
import doctor.system.api.domain.Department; import doctor.system.api.domain.Department;
import doctor.system.api.domain.Doctor; import doctor.system.api.domain.Doctor;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -23,4 +25,8 @@ public interface HealthJobTitleMapper {
List<String> findDoctorImgPic(); List<String> findDoctorImgPic();
void updDoctorImgPicBuyId(@Param("doctorId") Integer doctorId, @Param("s") String s); void updDoctorImgPicBuyId(@Param("doctorId") Integer doctorId, @Param("s") String s);
DoctorWalletEntity findDoctorWalletById(Integer doctorId);
List<DoctorIncomeRecordEntity> findDoctorIncomeRecordList(Integer doctorId);
} }

View File

@ -5,7 +5,8 @@ import doctor.domain.dto.ApplyJoinDto;
import doctor.domain.entity.DoctorJobTitleEntity; import doctor.domain.entity.DoctorJobTitleEntity;
import doctor.domain.vo.DoctorVo; import doctor.domain.vo.DoctorVo;
import doctor.domain.vo.FindImagePicVo; 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 org.springframework.web.multipart.MultipartFile;
import java.util.List; import java.util.List;
@ -22,4 +23,12 @@ public interface HealthJobTitleService {
List<FindImagePicVo> findSystemImagePic(); List<FindImagePicVo> findSystemImagePic();
HealthR uploadImagePic(MultipartFile imagePic, Integer doctorId, String sessionId); HealthR uploadImagePic(MultipartFile imagePic, Integer doctorId, String sessionId);
HealthR checkCode(String email, String code);
WalletVo findDoctorWallet(Integer doctorId);
List<DoctorIncomeRecordVo> findDoctorIncomeRecordList(Integer doctorId,Integer page, Integer count);
HealthR drawCash(Integer doctorId, Integer money);
} }

View File

@ -3,9 +3,13 @@ package doctor.service.impl;
import doctor.common.core.domain.HealthR; import doctor.common.core.domain.HealthR;
import doctor.common.security.service.TokenService; import doctor.common.security.service.TokenService;
import doctor.domain.dto.ApplyJoinDto; import doctor.domain.dto.ApplyJoinDto;
import doctor.domain.entity.DoctorIncomeRecordEntity;
import doctor.domain.entity.DoctorJobTitleEntity; import doctor.domain.entity.DoctorJobTitleEntity;
import doctor.domain.entity.DoctorWalletEntity;
import doctor.domain.vo.DoctorVo; import doctor.domain.vo.DoctorVo;
import doctor.domain.vo.FindImagePicVo; import doctor.domain.vo.FindImagePicVo;
import doctor.domain.vo.WalletVo;
import doctor.domain.vo.DoctorIncomeRecordVo;
import doctor.mapper.HealthJobTitleMapper; import doctor.mapper.HealthJobTitleMapper;
import doctor.service.HealthJobTitleService; import doctor.service.HealthJobTitleService;
import doctor.system.api.domain.Department; import doctor.system.api.domain.Department;
@ -15,7 +19,6 @@ import doctor.util.OssUtil;
import doctor.util.RSAUtils; import doctor.util.RSAUtils;
import doctor.util.RsaKey; import doctor.util.RsaKey;
import doctor.util.SendEmail; import doctor.util.SendEmail;
import org.bouncycastle.jcajce.provider.asymmetric.rsa.RSAUtil;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
@ -130,4 +133,50 @@ public class HealthJobTitleServiceImpl implements HealthJobTitleService {
tokenService.createToken(loginUser); tokenService.createToken(loginUser);
return HealthR.ok(s); 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<DoctorIncomeRecordVo> findDoctorIncomeRecordList(Integer doctorId, Integer page, Integer count) {
List<DoctorIncomeRecordEntity> doctorIncomeRecordList = healthJobTitleMapper.findDoctorIncomeRecordList(doctorId);
ArrayList<DoctorIncomeRecordVo> 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;
}
} }

View File

@ -28,4 +28,10 @@
<select id="findDoctorImgPic" resultType="java.lang.String"> <select id="findDoctorImgPic" resultType="java.lang.String">
select image_pic from doctor select image_pic from doctor
</select> </select>
<select id="findDoctorWalletById" resultType="doctor.domain.entity.DoctorWalletEntity">
select * from doctor_wallet where doctor_id=#{doctorId}
</select>
<select id="findDoctorIncomeRecordList" resultType="doctor.domain.entity.DoctorIncomeRecordEntity">
select * from doctor_income_record where doctor_id=#{doctorId}
</select>
</mapper> </mapper>

View File

@ -14,7 +14,7 @@ import doctor.system.service.ISysRoleService;
/** /**
* *
* *
* @author ruoyi * @author ruoyi
*/ */
@Service @Service
@ -28,7 +28,7 @@ public class SysPermissionServiceImpl implements ISysPermissionService
/** /**
* *
* *
* @param userId Id * @param userId Id
* @return * @return
*/ */
@ -50,8 +50,8 @@ public class SysPermissionServiceImpl implements ISysPermissionService
/** /**
* *
* *
* @param userId Id * @param user Id
* @return * @return
*/ */
@Override @Override