Merge remote-tracking branch 'origin/newMaster' into newMaster

# Conflicts:
#	doctor-modules/doctor-health/src/main/java/doctor/controller/PatientController.java
#	doctor-modules/doctor-health/src/main/java/doctor/service/PatientService.java
newMaster
liyongbin 2024-01-20 08:57:31 +08:00
commit c309b2ce34
71 changed files with 1365 additions and 210 deletions

View File

@ -23,7 +23,7 @@ public class HealthDoctorController {
@PostMapping("/login") @PostMapping("/login")
@ApiOperation("邮箱密码登录") @ApiOperation("邮箱密码登录")
public HealthR<?> login(@RequestParam @ApiParam("email") String email, @RequestParam @ApiParam("pwd") String pwd) { public HealthR<?> login(@RequestParam String email, @RequestParam String pwd) {
DoctorVo userInfo = healthDoctorService.login(email,pwd); DoctorVo userInfo = healthDoctorService.login(email,pwd);
if (userInfo!=null){ if (userInfo!=null){
return HealthR.ok(userInfo,"登录成功"); return HealthR.ok(userInfo,"登录成功");

View File

@ -15,11 +15,11 @@ spring:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 101.34.77.101:8848 server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050 namespace: 7e1e997d-5fa4-4f84-9f48-3e0adf830a37
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 101.34.77.101:8848 server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050 namespace: 7e1e997d-5fa4-4f84-9f48-3e0adf830a37
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -15,11 +15,11 @@ spring:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 101.34.77.101:8848 server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050 namespace: 7e1e997d-5fa4-4f84-9f48-3e0adf830a37
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 101.34.77.101:8848 server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050 namespace: 7e1e997d-5fa4-4f84-9f48-3e0adf830a37
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -15,11 +15,11 @@ spring:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 101.34.77.101:8848 server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050 namespace: 7e1e997d-5fa4-4f84-9f48-3e0adf830a37
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 101.34.77.101:8848 server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050 namespace: 7e1e997d-5fa4-4f84-9f48-3e0adf830a37
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -15,11 +15,11 @@ spring:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 101.34.77.101:8848 server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050 namespace: 7e1e997d-5fa4-4f84-9f48-3e0adf830a37
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 101.34.77.101:8848 server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050 namespace: 7e1e997d-5fa4-4f84-9f48-3e0adf830a37
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -19,6 +19,25 @@
<dependencies> <dependencies>
<!-- &lt;!&ndash; https://mvnrepository.com/artifact/com.alipay.sdk/alipay-sdk-java &ndash;&gt;-->
<!-- <dependency>-->
<!-- <groupId>com.alipay.sdk</groupId>-->
<!-- <artifactId>alipay-sdk-java</artifactId>-->
<!-- <version>4.13.50</version>-->
<!-- </dependency>-->
<!--支付宝依赖 -->
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-easysdk</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.38.149.ALL</version>
</dependency>
<!-- Oss上传 --> <!-- Oss上传 -->
<dependency> <dependency>

View File

@ -0,0 +1,23 @@
package doctor;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
@Component
public class AliPayConfig {
@Bean
public AlipayClient initAlipayClient(AlipayConfigProperties alipayConfigProperties) {
return new
DefaultAlipayClient(
alipayConfigProperties.getGatewayUrl(),
alipayConfigProperties.getAppId(),
alipayConfigProperties.getMerchantPrivateKey(),
"json", alipayConfigProperties.getCharset(),
alipayConfigProperties.getAlipayPublicKey(),
alipayConfigProperties.getSignType());
}
}

View File

@ -0,0 +1,62 @@
package doctor;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@Data
//@ConfigurationProperties(prefix = "pay.alipay")
public class AlipayConfigProperties {
/**
* ID,APPIDAPPID
*/
private String appId = "9021000132656203";
/**
* PKCS8RSA2
*/
private String merchantPrivateKey = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC7lh2ErwckK+mODTqBRWi78nlUR5a1OrCP5b+ImFjsB0EIkeOpSKiqGJv9omaRUfKxwoSqBc6c22KLszNdS6rKvcDrRObFRcLaOoMVT7CS0sSsq7ZATVy4WvouyudAOTNL6H4QOyj+YnyM6pU7Ja2jepAJwvDD9h/7c0fvASAtSteC0akuRq/r2SJ7ZRQpLWtrW4KBz+NneYHHP519sWtF2GSToN8brZJrDB9xI75N43+42L8MEuVsRK375wBv4jkwPtrB9mYQsuSMDXOsLbjuCHfxcTlFEUJ3c6SiZeIrDH9auW/lPJ+QZg91DYsZr7+HdijBej/CRT+rTmgzb7VpAgMBAAECggEASuCxB7WV9CpTIBDHubIrDFrNc4bf8ZdrwwTCX5Pwasa6fuE9LuWB7ePE4Ilix78eUTaEHhoTTymDPKBbcHIzypnT2BW4yCYAkXupt2gH45OeTg58wU4gJLasBuGXTVuHzlUPfQsgYeqOLPG2f9WaahcSR9M4qAAm5AgwPocEgQ8eRxC13xBX5r+ZRhKdnI+jLIpYggv52oIiPxz+LBUcTNHyrzOVgmn+jvEvYWQ784vNQxRYidBTO6nz89PcdfXFeH1/GdGTnodutj3C5ccodlEbOsgtZQ9o6+E7x6YDRE2oKhCZOZGE9xaNfQDSnWMv07jb/i0GoF3DsB8xVUbwwQKBgQD7BLtS6dQTCR41fO7RGWKvhGTKS6RKL5djfVlB/IYujscNUnC36Uf2ZYJnQh1wF+ztcSyZQUStxDFy4+U/M39P03Nz1yG1cejonegll8OzZ706lNE/uqXa/ruGvuztg1kuM+qWYYK57EuWJIuFdirr6ZQ6kmPSzyrlnqPaQEoeSwKBgQC/Tx/rBAjbSiceaon0UAO61/TypjvsI7lwypyjIIew3/Nwm8icaaw3GZUCX/9JH89rddioZMncucuuCp8cHBwvNj+BnrqRJc4VAUhJ0U06oNFoxfdrjeU9Pg+RMoZ4i/pHrnkDsLbvu/JYjjcGwJXDlBcDGJvv3yzJtUTsUhtamwKBgCrm3yFHp6BtQYWAycxhG1XGOfe9P+ISCjzN0rCNeV2Bt5GWUn+MVmlNZiFB0ogy/qKCYk37MsLEMnNhcfAAXDUHfccBsNgzFMyVGHU8YA1MoLHfd3f97ZTlTqW0AgiCF37nDqQPHGmscirCKjpwPNu/Oz9bf8Yq9Dj0iSqnLEPLAoGAdiIRDpm2MluO3mxhdbj3JKh4PGJEPGQu/aRPpzfOMn2IIPBBp7xlOL0WU5od1PTMq4ng2NMsB52/VWB/seb1zH2OJ6dxg3G52SSqk9KoAt0Nkso0J3k+plutVzbA7K1bRmpJlerIfC8tzls7RXMkx9mpgCLxH+VLDd9eiSOGeqMCgYB5TqHy94+lVMBf9T+8qsvmBBbOhoerqdUzV3EIqumEpT2xCgCwUzKtUIgiPljbze5hzyOJRI3xvOa5DqAiaxI/iyG1bYqogIBjkQcz+WR/CvpciqO9OL5oHz/YzTtdX/vhLdTkZ88O/CbzMhQyolkLfvE5dLmhKqj8mCDX13PZ7A==";
/**
* ,https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
*/
private String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhr8XuZtu7ytmPL907t0FeCppdF2+fHKn4nYBOV1eC6VlZh5TZ88Q8SAacj8FmkcWOyvAUwsF4ouQiuAxIGPLwklVVEwPc4xkdPMeiAStMqlHQreDdk33D4e9V6pkPmyNcA6ZTkUey1oaTB9lJ7S8oSbjiuMRwv8lxeSxjATjQsZoSryhl60oQj0qfEIjyttavWgpBiPRPLmwDOAIRAZC9Cm6gUnJFq3To3HyFnn81RzkowvvRp4rxZk28ZVPrBUM0TV8+Bn2m8MCeUVS1xt/dOrU2cUAru1iGKqJckiX1w+NV07euwDP1ekmze14i3oN0ZY5W/ZiAAcdF+eboPBouQIDAQAB";
/**
* http://格式的完整路径,不能加?id=123这类自定义参数必须外网可以正常访问
*/
private String notifyUrl="http://localhost:7000/wallet/recharge/success";
/**\
* http://格式的完整路径,不能加?id=123这类自定义参数必须外网可以正常访问
*/
private String returnUrl ="http://localhost:7000/wallet/recharge/success";
/**
*
*/
private String signType = "RSA2";
/**
* /
*/
private String charset ="utf-8";
/**
* /
*/
private String gatewayUrl = "https://openapi-sandbox.dl.alipaydev.com/gateway.do";
}
/* *
*AlipayConfig
*
*
*2017-04-05
*
*便,使
*使
*/

View File

@ -28,6 +28,8 @@ import static doctor.common.core.utils.PageUtils.startPage;
public class DiseaseKnowledgeController { public class DiseaseKnowledgeController {
@Autowired @Autowired
private DiseaseKnowledgeService diseaseKnowledgeService; private DiseaseKnowledgeService diseaseKnowledgeService;
@Autowired
private DiseaseCategoryService diseaseCategoryService;
@GetMapping("/findDepartment") @GetMapping("/findDepartment")
public HealthR<List<Department>> findDepartment(){ public HealthR<List<Department>> findDepartment(){
@ -74,6 +76,12 @@ public class DiseaseKnowledgeController {
List<PopularSearchEntity> list=diseaseKnowledgeService.popularSeach(); List<PopularSearchEntity> list=diseaseKnowledgeService.popularSeach();
return HealthR.ok(list); return HealthR.ok(list);
} }
@GetMapping("/findDiseaseCategory")
public HealthR<List<DiseaseCategory>> findDiseaseCategory(@RequestParam Integer departmentId){
List<DiseaseCategory> list=diseaseCategoryService.findDiseaseCategory(departmentId);
return HealthR.ok(list);
}

View File

@ -2,6 +2,7 @@ package doctor.controller;
import doctor.common.core.domain.HealthR; import doctor.common.core.domain.HealthR;
import doctor.domain.entity.DoctorEntity; import doctor.domain.entity.DoctorEntity;
import doctor.domain.vo.DoctorVo;
import doctor.service.DoctorService; import doctor.service.DoctorService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -12,6 +13,8 @@ import org.springframework.web.bind.annotation.RestController;
import javax.print.Doc; import javax.print.Doc;
import java.util.List; import java.util.List;
import static com.github.pagehelper.page.PageMethod.startPage;
/** /**
* @BelongsProject: Medical_Treatment * @BelongsProject: Medical_Treatment
* @BelongsPackage: doctor.controller * @BelongsPackage: doctor.controller
@ -24,13 +27,14 @@ public class DoctorController {
@Autowired @Autowired
private DoctorService doctorService; private DoctorService doctorService;
@GetMapping("/findDoctorList") @GetMapping("/findDoctorList")
public HealthR<List<DoctorEntity>> findDoctorList(@RequestParam Integer deptId, public HealthR<List<DoctorVo>> findDoctorList(@RequestParam Integer deptId,
@RequestParam Integer condition, @RequestParam Integer condition,
@RequestParam Integer sortBy, @RequestParam Integer sortBy,
@RequestParam(value = "page",defaultValue = "1") Integer page, @RequestParam(value = "page",defaultValue = "1") Integer page,
@RequestParam(value = "count",defaultValue = "5") Integer count @RequestParam(value = "count",defaultValue = "5") Integer count
){ ){
List<DoctorEntity> list=doctorService.findDoctorList(deptId); startPage(page,count);
List<DoctorVo> list=doctorService.findDoctorList(deptId,condition,sortBy);
return HealthR.ok(list); return HealthR.ok(list);
} }
} }

View File

@ -1,12 +1,11 @@
package doctor.controller; package doctor.controller;
import doctor.common.core.domain.HealthR; import doctor.common.core.domain.HealthR;
import doctor.domain.vo.HistoryInquiryRecordVo;
import doctor.domain.vo.InquiryRecordVo; import doctor.domain.vo.InquiryRecordVo;
import doctor.service.InquiryVerifyService; import doctor.service.InquiryVerifyService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
@ -23,4 +22,12 @@ public class HealthInquiryVerifyController {
return HealthR.ok(inquiryRecordList); return HealthR.ok(inquiryRecordList);
} }
@GetMapping("/findHistoryInquiryRecord")
public HealthR<List<HistoryInquiryRecordVo>> findHistoryInquiryRecord(@RequestParam Integer page,
@RequestParam Integer count,
@RequestHeader Integer doctorId) {
List<HistoryInquiryRecordVo> inquiryRecordList = inquiryVerifyService.findHistoryInquiryRecord(page,count,doctorId);
return HealthR.ok(inquiryRecordList);
}
} }

View File

@ -28,7 +28,7 @@ public class HealthJobTitleController {
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);
@ -50,4 +50,10 @@ public class HealthJobTitleController {
return HealthR.ok(healthJobTitleService.findSystemImagePic()); return HealthR.ok(healthJobTitleService.findSystemImagePic());
} }
@PutMapping("/checkCode")
public HealthR checkCode(@RequestParam("email") String email,
@RequestParam("code") String code) {
return HealthR.ok(healthJobTitleService.checkCode(email, code));
}
} }

View File

@ -1,10 +1,7 @@
package doctor.controller; package doctor.controller;
import doctor.common.core.domain.HealthR; import doctor.common.core.domain.HealthR;
import doctor.domain.vo.DoctorIncomeRecordVo; import doctor.domain.vo.*;
import doctor.domain.vo.DoctorVo;
import doctor.domain.vo.NoticeReadNumVo;
import doctor.domain.vo.WalletVo;
import doctor.service.HealthJobTitleService; import doctor.service.HealthJobTitleService;
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.*;
@ -18,6 +15,34 @@ public class HealthRVerifyController {
@Autowired @Autowired
private HealthJobTitleService healthJobTitleService; private HealthJobTitleService healthJobTitleService;
@PostMapping("/chooseImagePic")
public HealthR chooseImagePic(@RequestParam String imagePic,
@RequestHeader Integer doctorId) {
healthJobTitleService.upImagePicByDoctorId(imagePic,doctorId);
return HealthR.ok();
}
@GetMapping("/findDoctorSystemNoticeList")
public HealthR<List<DoctorSystemNoticeListVo>> findDoctorSystemNoticeList(
@RequestParam Integer page,@RequestParam Integer count) {
List<DoctorSystemNoticeListVo> list = healthJobTitleService.findDoctorSystemNoticeList(page,count);
return HealthR.ok(list);
}
@GetMapping("/findDoctorInquiryNoticeList")
public HealthR<List<DoctorSystemNoticeListVo>> findDoctorInquiryNoticeList(
@RequestParam Integer page,@RequestParam Integer count) {
List<DoctorSystemNoticeListVo> list = healthJobTitleService.findDoctorSystemNoticeList(page,count);
return HealthR.ok(list);
}
@GetMapping("/findDoctorHealthyCurrencyNoticeList")
public HealthR<List<DoctorSystemNoticeListVo>> findDoctorHealthyCurrencyNoticeList(
@RequestParam Integer page,@RequestParam Integer count) {
List<DoctorSystemNoticeListVo> list = healthJobTitleService.findDoctorSystemNoticeList(page,count);
return HealthR.ok(list);
}
@GetMapping("/findDoctorWallet") @GetMapping("/findDoctorWallet")
public HealthR<WalletVo> findDoctorWallet(@RequestHeader Integer doctorId, public HealthR<WalletVo> findDoctorWallet(@RequestHeader Integer doctorId,
@RequestHeader String sessionId) { @RequestHeader String sessionId) {
@ -55,4 +80,13 @@ public class HealthRVerifyController {
return HealthR.ok(healthR); return HealthR.ok(healthR);
} }
@GetMapping("/findMyAdoptedCommentList")
public HealthR<List<MyAdoptedCommentListVo>> findMyAdoptedCommentList(@RequestHeader Integer doctorId,
@RequestHeader String sessionId,
@RequestParam Integer page,
@RequestParam Integer count) {
List<MyAdoptedCommentListVo> healthR = healthJobTitleService.findMyAdoptedCommentList(doctorId,page,count);
return HealthR.ok(healthR);
}
} }

View File

@ -19,7 +19,6 @@ import static com.github.pagehelper.page.PageMethod.startPage;
*/ */
@RestController @RestController
@RequestMapping("/share/information/v1") @RequestMapping("/share/information/v1")
public class InformationController { public class InformationController {
@Autowired @Autowired
private InformationService informationService; private InformationService informationService;

View File

@ -34,7 +34,7 @@ public class InquiryController {
@GetMapping("/v1/findDoctorInfo") @GetMapping("/v1/findDoctorInfo")
public HealthR<DoctorVo> findDoctorInfo(@RequestHeader Integer userId, public HealthR<DoctorVo> findDoctorInfo(@RequestHeader Integer userId,
@RequestHeader String sessionId, @RequestHeader String sessionId,
@RequestParam Integer doctorId) { @RequestParam(value = "doctorId",defaultValue = "2") Integer doctorId) {
DoctorVo doctorVo = inquiryService.findDoctorInfo(doctorId); DoctorVo doctorVo = inquiryService.findDoctorInfo(doctorId);
return HealthR.ok(doctorVo); return HealthR.ok(doctorVo);
} }

View File

@ -25,15 +25,47 @@ import java.util.List;
* @Author * @Author
*/ */
@RestController @RestController
@RequestMapping("/user/sickCircle/v1/") @RequestMapping("/sickCircle/v1/")
public class PatientController { public class PatientController {
@Autowired @Autowired
private PatientService patientService; private PatientService patientService;
@Autowired
private SickCircleService sickCircleService;
/**
*
*/
@PostMapping("/publishComment")
public Result<SickCommentVo> publishComment(
@RequestParam("sickCircleId") Integer sickCircleId,
@RequestParam("content") String content) {
return sickCircleService.publishComment(sickCircleId, content);
}
/**
*
* @param opinion
* @return
*/
@PutMapping("expressOpinion")
public HealthR expressOpinion(@RequestParam("opinion") Integer opinion){
// return sickCircleServer.expressOpinion(commentId, opinion);
System.out.println(opinion);
return null;
}
/**
*
*/
@PostMapping("/publishSickCircle")
public HealthR<SickCircleEntity> publishSickCircle(@RequestBody SickCircleEntity sickCircleEntity) {
return sickCircleService.publishSickCircle(sickCircleEntity);
}
/** /**
* *
@ -43,10 +75,9 @@ public class PatientController {
*/ */
@GetMapping("/findSickCircleList") @GetMapping("/findSickCircleList")
public HealthR<List<SickCircleEntity>> sickCircleList(@RequestParam(value = "departmentId",required = false) Integer departmentId, public HealthR<List<SickCircleEntity>> sickCircleList(@RequestParam(value = "departmentId",required = false) Integer departmentId,
@RequestParam(value = "page",defaultValue = "1") Integer page, @RequestParam(value = "page") Integer page,
@RequestParam(value = "count",defaultValue = "20") Integer count) { @RequestParam(value = "count") Integer count) {
return patientService.sickCircleList(departmentId,page,count);
return patientService.sickCircleList(departmentId);
} }
private PageInfo<SickCircleEntity> startPage(Integer page, Integer count) { private PageInfo<SickCircleEntity> startPage(Integer page, Integer count) {
@ -89,27 +120,9 @@ public class PatientController {
* @param keyWord * @param keyWord
* @return * @return
*/ */
@GetMapping("/searchSickCircle") @GetMapping("searchSickCircle")
public HealthR<List<SickCircleEntity>> searchSickCircle(@RequestParam(value = "keyWord",required = false) String keyWord){ public HealthR<List<SickCircleEntity>> searchSickCircle(@RequestParam(value = "keyWord",required = false) String keyWord){
System.out.println(keyWord);
return patientService.searchSickCircle(keyWord); return patientService.searchSickCircle(keyWord);
} }
/**
*
* @param patientUserId
* @return
*/
@GetMapping("/findPatientSickCircleList")
public HealthR<List<SickCircleEntity>> findPatientSickCircleList(@RequestParam(value = "patientUserId",required = false) Integer patientUserId,
@RequestParam(value = "page",defaultValue = "1") Integer page,
@RequestParam(value = "count",defaultValue = "20") Integer count) {
startPage(page, count);
return patientService.findPatientSickCircleList(patientUserId);
}
} }

View File

@ -1,13 +1,11 @@
package doctor.controller; package doctor.controller;
import doctor.common.core.domain.HealthR; import doctor.common.core.domain.HealthR;
import doctor.domain.vo.SickCircleCommentVo;
import doctor.domain.vo.UserSickCircleVo; import doctor.domain.vo.UserSickCircleVo;
import doctor.service.UserSickCircleService; import doctor.service.UserSickCircleService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
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 java.util.List;
@ -32,4 +30,5 @@ public class UserSickCircleController {
return HealthR.ok(userFriendCircles); return HealthR.ok(userFriendCircles);
} }
} }

View File

@ -7,8 +7,13 @@ import doctor.domain.vo.*;
import doctor.service.UserVideoService; import doctor.service.UserVideoService;
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 javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; import javax.validation.Valid;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
import static com.github.pagehelper.page.PageMethod.startPage; import static com.github.pagehelper.page.PageMethod.startPage;
@ -47,7 +52,7 @@ public class UserVideoController {
return HealthR.ok(userVideoCollectionVos); return HealthR.ok(userVideoCollectionVos);
} }
//用户删除购买的视频 //用户删除购买的视频
@DeleteMapping("/deleteVideoBuy}") @DeleteMapping("/deleteVideoBuy")
public HealthR deleteVideoBuy(@RequestParam Integer videoId){ public HealthR deleteVideoBuy(@RequestParam Integer videoId){
userVideoService.deleteVideoBuy(videoId); userVideoService.deleteVideoBuy(videoId);
return HealthR.ok(); return HealthR.ok();
@ -55,9 +60,9 @@ public class UserVideoController {
//我的钱包 //我的钱包
@GetMapping("/findUserWallet") @GetMapping("/findUserWallet")
public HealthR<List<UserWalletEntity>> findUserWallet(@RequestHeader Integer userId){ public HealthR findUserWallet(@RequestHeader Integer userId){
List<UserWalletEntity> userWallets = userVideoService.findUserWallet(userId); Integer i= userVideoService.findUserWallet(userId);
return HealthR.ok(userWallets); return HealthR.ok(i);
} }
//用户消费记录 //用户消费记录
@GetMapping("/findUserConsumptionRecordList") @GetMapping("/findUserConsumptionRecordList")
@ -100,9 +105,12 @@ public class UserVideoController {
} }
//上传用户档案图片 //上传用户档案图片
@PostMapping("/uploadArchivesPicture") @PostMapping("/uploadArchivesPicture")
public HealthR uploadUserArchivesImg(@RequestParam Integer id){ public HealthR uploadUserArchivesImg(@RequestParam("imagePic") MultipartFile imagePic,
userVideoService.uploadUserArchivesImg(id); @RequestHeader String sessionId,
return HealthR.ok(); @RequestParam Integer id
){
return HealthR.ok(userVideoService.uploadUserArchivesImg(imagePic,sessionId,id));
} }
//用户关注医生列表 //用户关注医生列表
@ -154,4 +162,60 @@ public class UserVideoController {
userVideoService.modifyNickName(nickName,userId); userVideoService.modifyNickName(nickName,userId);
return HealthR.ok("修改成功"); return HealthR.ok("修改成功");
} }
//查询系统通知列表
@GetMapping("/findSystemNoticeList")
public HealthR<List<SystemNoticeEntity>> findSystemNoticeList(){
List<SystemNoticeEntity> systemNoticeEntities = userVideoService.findSystemNoticeList();
return HealthR.ok(systemNoticeEntities);
}
//查询用户问诊通知列表
@GetMapping("/findInquiryNoticeList")
public HealthR<List<InquiryNoticeVo>> findInquiryNoticeList(@RequestHeader Integer userId,@RequestParam Integer page,@RequestParam Integer count){
startPage(page,count);
List<InquiryNoticeVo> inquiryRecordEntities = userVideoService.findInquiryNoticeList(userId);
return HealthR.ok(inquiryRecordEntities);
}
//查询用户货币通知列表
@GetMapping("/findHealthyCurrencyNoticeList")
public HealthR<List<HealthyCurrencyNoticeListVo>> findHealthyCurrencyNoticeList(@RequestHeader Integer userId,@RequestParam Integer page,@RequestParam Integer count) {
startPage(page,count);
List<HealthyCurrencyNoticeListVo> healthyCurrencyNoticeListVos = userVideoService.findHealthyCurrencyNoticeList(userId);
return HealthR.ok(healthyCurrencyNoticeListVos);
}
//查询用户未读数消息
@GetMapping("/findUserNoticeReadNum")
public HealthR<List<UserNoticeReadNumVo>> findUserNoticeReadNum(@RequestHeader Integer userId){
List<UserNoticeReadNumVo> userNoticeReadNumVos = userVideoService.findUserNoticeReadNum(userId);
return HealthR.ok(userNoticeReadNumVos);
}
//修改消息为已读
@PutMapping("/modifyAllStatus")
public HealthR modifyAllStatus(@RequestHeader Integer userId){
userVideoService.modifyAllStatus(userId);
return HealthR.ok("全部已读");
}
//充值
@PostMapping("/recharge")
public HealthR<String> pay(@RequestParam BigDecimal money,@RequestHeader Integer userId) {
String pay = userVideoService.Pay(money,userId);
System.err.println(pay);
return HealthR.ok(pay);
}
//提现
@PostMapping("/drawCash")
public HealthR drawCash(@RequestHeader Integer userId,@RequestParam BigDecimal money){
userVideoService.drawCash(userId,money);
return HealthR.ok("提现成功");
}
//病友圈评论列表查询
@GetMapping("/findUserSickCollectionList")
public HealthR<List<SickCircleCommentVo>> findSickCircleCommentList(@RequestHeader Integer userId,@RequestParam Integer page, @RequestParam Integer count){
startPage(page,count);
List<SickCircleCommentVo> sickCircleComments = userVideoService.findSickCircleCommentList(userId);
return HealthR.ok(sickCircleComments);
}
} }

View File

@ -0,0 +1,25 @@
package doctor.convert;
import doctor.domain.entity.DoctorEntity;
import doctor.domain.vo.DoctorVo;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
import java.util.List;
@Mapper
public interface DoctorConvert {
DoctorConvert INSTANCE = Mappers.getMapper(DoctorConvert.class);
DoctorEntity doctorVoToDoctorEntity(DoctorVo doctorVo);
@Mappings({
@Mapping(source = "id", target = "doctorId")
})
DoctorVo doctorEntityToDoctorVo(DoctorEntity doctorEntity);
List<DoctorVo> doctorEntityListToDoctorVoList(List<DoctorEntity> doctorEntityList);
List<DoctorEntity> doctorVoListToDoctorEntityList(List<DoctorVo> doctorVoList);
}

View File

@ -0,0 +1,24 @@
package doctor.domain.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @BelongsProject: Medical_Treatment
* @BelongsPackage: doctor.domain.entity
* @Author: jpz
* @CreateTime: 2024/1/19 11:41
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DoctorAskCount {
private Integer id;
private Integer doctorAskCount;
private Integer number;
private Date updateTime;
private Date createTime;
}

View File

@ -0,0 +1,24 @@
package doctor.domain.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @BelongsProject: Medical_Treatment
* @BelongsPackage: doctor.domain.entity
* @Author: jpz
* @CreateTime: 2024/1/18 18:33
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DoctorCharge {
private Integer id;
private Integer doctorId;
private Integer cost;
private Date updateTime;
private Date createTime;
}

View File

@ -0,0 +1,24 @@
package doctor.domain.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @BelongsProject: Medical_Treatment
* @BelongsPackage: doctor.domain.entity
* @Author: jpz
* @CreateTime: 2024/1/18 18:48
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DoctorCommentCount {
private Integer id;
private Integer doctorId;
private Integer praiseNum;
private Integer badNum;
private Date createTime;
}

View File

@ -24,6 +24,7 @@ public class DoctorEntity {
private String phone; private String phone;
private String pwd; private String pwd;
private String name; private String name;
private String jobTitle;
private String imagePic; private String imagePic;
private String inauguralHospital; private String inauguralHospital;
private String personalProfile; private String personalProfile;

View File

@ -0,0 +1,13 @@
package doctor.domain.entity;
import lombok.Data;
import java.util.Date;
@Data
public class DoctorSystemReplyEntity {
private Integer id;
private String content;
private Date createTime;
}

View File

@ -1,5 +1,7 @@
package doctor.domain.entity; package doctor.domain.entity;
import lombok.Data;
import java.util.Date; import java.util.Date;
/** /**
@ -8,6 +10,7 @@ import java.util.Date;
* @Author : FJJ * @Author : FJJ
* @Date: 2024-01-12 19:57 * @Date: 2024-01-12 19:57
*/ */
@Data
public class SickCircleCommentEntity { public class SickCircleCommentEntity {
private Integer id; private Integer id;
private Integer sickCircleId; private Integer sickCircleId;
@ -15,61 +18,6 @@ public class SickCircleCommentEntity {
private String content; private String content;
private Date commentTime; private Date commentTime;
private Integer whetherDoctor; private Integer whetherDoctor;
private Long createTime; private Date createTime;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getSickCircleId() {
return sickCircleId;
}
public void setSickCircleId(Integer sickCircleId) {
this.sickCircleId = sickCircleId;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Date getCommentTime() {
return commentTime;
}
public void setCommentTime(Date commentTime) {
this.commentTime = commentTime;
}
public Integer getWhetherDoctor() {
return whetherDoctor;
}
public void setWhetherDoctor(Integer whetherDoctor) {
this.whetherDoctor = whetherDoctor;
}
public Long getCreateTime() {
return createTime;
}
public void setCreateTime(Long createTime) {
this.createTime = createTime;
}
} }

View File

@ -0,0 +1,22 @@
package doctor.domain.entity;
import lombok.Data;
import java.util.Date;
/**
* @ClassName : SystemNoticeEntity
* @Description :
* @Author : FJJ
* @Date: 2024-01-18 10:57
*/
@Data
public class SystemNoticeEntity {
private Integer id;
private Integer reciveUserId;
private String content;
private String noticeType;
private String pushType;
private Integer status;
private Date createTime;
}

View File

@ -0,0 +1,20 @@
package doctor.domain.entity;
import lombok.Data;
/**
* @ClassName : UserBankCard
* @Description :
* @Author : FJJ
* @Date: 2024-01-19 10:22
*/
@Data
public class UserBankCard {
private Integer id;
private Integer userId;
private String bankCardNumber;
private String bankName;
private Integer bankCardType;
private Data updateTime;
private Data createTime;
}

View File

@ -1,6 +1,8 @@
package doctor.domain.entity; package doctor.domain.entity;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date; import java.util.Date;
@ -10,42 +12,16 @@ import java.util.Date;
* @Author: jpz * @Author: jpz
* @CreateTime: 2024/1/8 21:49 * @CreateTime: 2024/1/8 21:49
*/ */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserDoctorFollowEntity { public class UserDoctorFollowEntity {
private Integer id; private Integer id;
private Integer userId; private Long userId;
private Integer doctorId; private Integer doctorId;
private Date createTime; private Date 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 getDoctorId() {
return doctorId;
}
public void setDoctorId(Integer doctorId) {
this.doctorId = doctorId;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
} }

View File

@ -0,0 +1,23 @@
package doctor.domain.entity;
import lombok.Data;
import java.util.Date;
/**
* @ClassName : UserRechargeRecordEntity
* @Description :
* @Author : FJJ
* @Date: 2024-01-18 20:51
*/
@Data
public class UserRechargeRecordEntity {
private Integer id;
private String orderId;
private Integer userId;
private Integer money;
private Integer payType;
private Integer payStatus;
private Date rechargeTime;
private Date createTime;
}

View File

@ -0,0 +1,12 @@
package doctor.domain.vo;
import lombok.Data;
import java.util.Date;
@Data
public class DoctorSystemNoticeListVo {
private Integer id;
private String content;
private Date createTime;
}

View File

@ -24,12 +24,7 @@ public class DoctorVo {
private double praise; private double praise;
private Integer serverNum; private Integer serverNum;
private Integer servicePrice; private Integer servicePrice;
private Integer followFlag;
private String personalProfile;
private String goodField;
private Integer commentNum;
private Integer praiseNum; private Integer praiseNum;
private Integer badNum; private Integer badNum;
private List<DoctorReceiveGift> doctorReceiveGiftList; private Integer commentNum;
private List<Comment> commentVoList;
} }

View File

@ -0,0 +1,18 @@
package doctor.domain.vo;
import lombok.Data;
import java.util.Date;
/**
* @ClassName : HealthyCurrencyNoticeListVo
* @Description : H
* @Author : FJJ
* @Date: 2024-01-18 15:57
*/
@Data
public class HealthyCurrencyNoticeListVo {
private Integer id;
private String content;
private Date createTime;
}

View File

@ -0,0 +1,14 @@
package doctor.domain.vo;
import lombok.Data;
@Data
public class HistoryInquiryRecordVo {
private Integer recordId;
private Integer userId;
private String uerHeadPic;
private String doctorHeadPic;
private String nickName;
private long inquiryTime;
private Integer status;
}

View File

@ -0,0 +1,18 @@
package doctor.domain.vo;
import lombok.Data;
import java.util.Date;
/**
* @ClassName : InquiryNotice
* @Description :
* @Author : FJJ
* @Date: 2024-01-18 11:33
*/
@Data
public class InquiryNoticeVo {
private Integer id;
private String content;
private Date createTime;
}

View File

@ -0,0 +1,13 @@
package doctor.domain.vo;
import lombok.Data;
@Data
public class MyAdoptedCommentListVo {
private Integer releaseUserId;
private String releaseUserNickName;
private String title;
private String disease;
private String content;
private String adoptTime;
}

View File

@ -0,0 +1,25 @@
package doctor.domain.vo;
import lombok.Data;
import java.util.Date;
/**
* @ClassName : SickCircleComment
* @Description :
* @Author : FJJ
* @Date: 2024-01-19 11:03
*/
@Data
public class SickCircleCommentVo {
private Integer commentId;
private Integer commentUserId;
private String nickNmae;
private String headPic;
private String content;
private Integer supportNum;
private Integer opposeNum;
private Integer opinion;
private Integer whetherDoctor;
private Date commentTime;
}

View File

@ -0,0 +1,15 @@
package doctor.domain.vo;
import lombok.Data;
/**
* @ClassName : UserNoticeReadNumVo
* @Description :
* @Author : FJJ
* @Date: 2024-01-18 16:14
*/
@Data
public class UserNoticeReadNumVo {
private Integer notReadNum;
private Integer noticeType;
}

View File

@ -1,6 +1,7 @@
package doctor.mapper; package doctor.mapper;
import doctor.domain.entity.DoctorEntity; import doctor.domain.entity.DoctorEntity;
import org.apache.ibatis.annotations.Param;
import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.annotation.MapperScan;
import java.util.List; import java.util.List;
@ -13,5 +14,6 @@ import java.util.List;
*/ */
@MapperScan @MapperScan
public interface DoctorMapper { public interface DoctorMapper {
List<DoctorEntity> findDoctorList(Integer deptId); // List<DoctorEntity> findDoctorList(Integer deptId, Integer condition, Integer sortBy);
List<DoctorEntity> findDoctorList(@Param("deptId") Integer deptId);
} }

View File

@ -1,9 +1,7 @@
package doctor.mapper; package doctor.mapper;
import doctor.domain.entity.DoctorIncomeRecordEntity; import doctor.controller.HealthRVerifyController;
import doctor.domain.entity.DoctorJobTitleEntity; import doctor.domain.entity.*;
import doctor.domain.entity.DoctorWalletEntity;
import doctor.domain.entity.doctorSystemNoticeEntity;
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;
@ -32,4 +30,8 @@ public interface HealthJobTitleMapper {
List<DoctorIncomeRecordEntity> findDoctorIncomeRecordList(Integer doctorId); List<DoctorIncomeRecordEntity> findDoctorIncomeRecordList(Integer doctorId);
List<doctorSystemNoticeEntity> findDoctorNoticeReadNum(Integer doctorId); List<doctorSystemNoticeEntity> findDoctorNoticeReadNum(Integer doctorId);
List<DoctorSystemReplyEntity> findDoctorSystemNoticeList();
void upImagePicByDoctorId(@Param("doctorId") Integer doctorId, @Param("imagePic") String imagePic);
} }

View File

@ -1,6 +1,10 @@
package doctor.mapper; package doctor.mapper;
import doctor.domain.entity.DoctorAskCount;
import doctor.domain.entity.InquiryDetailsRecordEntity; import doctor.domain.entity.InquiryDetailsRecordEntity;
import doctor.domain.entity.InquiryRecordEntity;
import doctor.domain.entity.UserDoctorFollowEntity;
import doctor.domain.vo.DoctorVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -19,4 +23,20 @@ public interface InquiryMapper {
void consultDoctor(@Param("userId") Integer userId, @Param("doctorId") Integer doctorId); void consultDoctor(@Param("userId") Integer userId, @Param("doctorId") Integer doctorId);
String findDoctorUserNameByDoctorId(@Param("doctorId") Integer doctorId); String findDoctorUserNameByDoctorId(@Param("doctorId") Integer doctorId);
DoctorVo findDoctorInfo(@Param("doctorId") Integer doctorId);
void followDoctor(@Param("userDoctorFollowEntity") UserDoctorFollowEntity userDoctorFollowEntity);
void delCancelFollow(@Param("userid") Long userid, @Param("doctorId") Integer doctorId);
InquiryRecordEntity findInquiryRecordById(@Param("recordId") Integer recordId, int i);
void endInquiry(@Param("recordId") Integer recordId);
DoctorAskCount getDoctorAskCount(@Param("doctorId") Integer doctorId);
void addDoctorAskCount(DoctorAskCount doctorAskCount);
void updDoctorAskCount(DoctorAskCount doctorAskCount);
} }

View File

@ -6,7 +6,6 @@ import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;
@Mapper @Mapper
public interface InquiryVerifyServiceMapper { public interface InquiryVerifyServiceMapper {
List<InquiryRecordVo> findInquiryRecordList();
} }

View File

@ -1,7 +1,9 @@
package doctor.mapper; package doctor.mapper;
import doctor.domain.entity.SickCircleCommentEntity;
import doctor.domain.entity.UserSickCircleEntity; import doctor.domain.entity.UserSickCircleEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -14,4 +16,5 @@ import java.util.List;
@Mapper @Mapper
public interface UserSickCircleMapper { public interface UserSickCircleMapper {
List<UserSickCircleEntity> findUserSickCircleList(); List<UserSickCircleEntity> findUserSickCircleList();
} }

View File

@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestHeader;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
/** /**
@ -25,7 +26,7 @@ public interface UserVideoMapper {
void deleteVideoBuy(@Param("videoId") Integer videoId); void deleteVideoBuy(@Param("videoId") Integer videoId);
List<UserWalletEntity> findUserWallet(Integer userId); // Integer findUserWallet(@Param("userId") Integer userId);
List<UserConsumptionRecordEntity> findUserConsumptionRecordList(); List<UserConsumptionRecordEntity> findUserConsumptionRecordList();
@ -39,7 +40,7 @@ public interface UserVideoMapper {
void addUserArchives(UserArchivesEntity userArchivesEntity, @Param("userId") Integer userId); void addUserArchives(UserArchivesEntity userArchivesEntity, @Param("userId") Integer userId);
void uploadUserArchivesImg(@Param("id") Integer id);
List<UserDoctorFollowEntity> findUserDoctorFollowList(); List<UserDoctorFollowEntity> findUserDoctorFollowList();
@ -56,6 +57,30 @@ public interface UserVideoMapper {
void modifyNickName(@Param("nickName") String nickName, @Param("userId") Integer userId); void modifyNickName(@Param("nickName") String nickName, @Param("userId") Integer userId);
List<SystemNoticeEntity> findSystemNoticeList();
List<InquiryRecordEntity> findInquiryNoticeList(Integer userId);
List<UserWalletEntity> findHealthyCurrencyNoticeList(@Param("userId") Integer userId);
List<SystemNoticeEntity> findUserNoticeReadNum(@Param("userId") Integer userId);
SystemNoticeEntity findModifyAll(@Param("userId") Integer userId);
void modifyAllStatus(@Param("userId") Integer userId);
void uploadUserArchivesImg(@Param("id") Integer id, @Param("s") String s);
void updateUserWallet(@Param("money") BigDecimal money, @Param("userId") Integer userId);
Integer findUserWallet(@Param("userId") Integer userId);
void updateUserWallet1(@Param("money") BigDecimal money, @Param("userId") Integer userId);
// void addSign(SignEntity signEntity); // void addSign(SignEntity signEntity);
List<SickCircleCommentEntity> findSickCircleCommentList(@Param("userId") Integer userId);
} }

View File

@ -0,0 +1,34 @@
package doctor.model;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class TradeCloseModel {
/**
*
*/
@JSONField(name = "out_trade_no")
private String outTradeNo;
/**
*
*/
@JSONField(name = "trade_no")
private String tradeNo;
public String toJsonStr(){
return JSONObject.toJSONString(this);
}
}

View File

@ -0,0 +1,50 @@
package doctor.model;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
*
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class TradePayModel {
/**
*
*/
@JSONField(name = "out_trade_no")
private String outTradeNo;
/**
*
*/
@JSONField(name = "total_amount")
private BigDecimal totalAmount;
/**
*
*/
private String subject;
/**
*
*/
private String body;
/**
*
*/
@JSONField(name = "product_code")
private String productCode = "FAST_INSTANT_TRADE_PAY";
public String toJsonStr() {
return JSONObject.toJSONString(this);
}
}

View File

@ -0,0 +1,32 @@
package doctor.model;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class TradeQueryModel {
/**
*
*/
@JSONField(name = "out_trade_no")
private String outTradeNo;
/**
*
*/
@JSONField(name = "trade_no")
private String tradeNo;
public String toJsonStr(){
return JSONObject.toJSONString(this);
}
}

View File

@ -0,0 +1,47 @@
package doctor.model;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 退
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class TradeRefundModel {
/**
*
*/
@JSONField(name = "out_trade_no")
private String outTradeNo;
/**
*
*/
@JSONField(name = "trade_no")
private String tradeNo;
/**
* 退
*/
@JSONField(name = "refund_amount")
private String refundAmount;
/**
* 退
*/
@JSONField(name = "refund_reason")
private String refundReason;
/**
* 退
*/
@JSONField(name = "out_request_no")
private String outRequestNo;
public String toJsonStr(){
return JSONObject.toJSONString(this);
}
}

View File

@ -0,0 +1,40 @@
package doctor.model;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 退
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class TradeRefundQueryModel {
/**
*
*/
@JSONField(name = "out_trade_no")
private String outTradeNo;
/**
//支付宝交易号
*
*/
@JSONField(name = "trade_no")
private String tradeNo;
//请二选一设置
/**
* 退退退
*/
@JSONField(name = "out_request_no")
private String outRequestNo;
public String toJsonStr(){
return JSONObject.toJSONString(this);
}
}

View File

@ -1,6 +1,7 @@
package doctor.service; package doctor.service;
import doctor.domain.entity.DoctorEntity; import doctor.domain.entity.DoctorEntity;
import doctor.domain.vo.DoctorVo;
import java.util.List; import java.util.List;
@ -11,5 +12,5 @@ import java.util.List;
* @CreateTime: 2024/1/15 11:32 * @CreateTime: 2024/1/15 11:32
*/ */
public interface DoctorService { public interface DoctorService {
List<DoctorEntity> findDoctorList(Integer deptId); List<DoctorVo> findDoctorList(Integer deptId, Integer condition, Integer sortBy);
} }

View File

@ -1,6 +1,7 @@
package doctor.service; package doctor.service;
import doctor.common.core.domain.HealthR; import doctor.common.core.domain.HealthR;
import doctor.controller.HealthRVerifyController;
import doctor.domain.dto.ApplyJoinDto; import doctor.domain.dto.ApplyJoinDto;
import doctor.domain.entity.DoctorJobTitleEntity; import doctor.domain.entity.DoctorJobTitleEntity;
import doctor.domain.vo.*; import doctor.domain.vo.*;
@ -32,4 +33,10 @@ public interface HealthJobTitleService {
HealthR<List<DoctorHistoryInquiryVo>> findHistoryInquiryRecord(Integer page, Integer size); HealthR<List<DoctorHistoryInquiryVo>> findHistoryInquiryRecord(Integer page, Integer size);
List<NoticeReadNumVo> findDoctorNoticeReadNum(Integer doctorId); List<NoticeReadNumVo> findDoctorNoticeReadNum(Integer doctorId);
List<MyAdoptedCommentListVo> findMyAdoptedCommentList(Integer doctorId, Integer page, Integer count);
List<DoctorSystemNoticeListVo> findDoctorSystemNoticeList(Integer page, Integer count);
void upImagePicByDoctorId(String imagePic, Integer doctorId);
} }

View File

@ -1,6 +1,7 @@
package doctor.service; package doctor.service;
import doctor.common.core.domain.HealthR; import doctor.common.core.domain.HealthR;
import doctor.domain.vo.HistoryInquiryRecordVo;
import doctor.domain.vo.InquiryRecordVo; import doctor.domain.vo.InquiryRecordVo;
import java.util.List; import java.util.List;
@ -8,4 +9,5 @@ import java.util.List;
public interface InquiryVerifyService { public interface InquiryVerifyService {
List<InquiryRecordVo> findInquiryRecordList(); List<InquiryRecordVo> findInquiryRecordList();
List<HistoryInquiryRecordVo> findHistoryInquiryRecord(Integer page, Integer count, Integer doctorId);
} }

View File

@ -5,7 +5,6 @@ import doctor.common.core.domain.HealthR;
import doctor.domain.entity.SickCircleEntity; import doctor.domain.entity.SickCircleEntity;
import doctor.domain.entity.SickCommentEntity; import doctor.domain.entity.SickCommentEntity;
import doctor.domain.entity.SymptomEntity; import doctor.domain.entity.SymptomEntity;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -30,15 +29,13 @@ public interface PatientService {
HealthR<List<SickCircleEntity>> sickCircleList(@Param("departmentId") Integer departmentId); HealthR<List<SickCircleEntity>> sickCircleList(Integer departmentId, Integer page, Integer count);
HealthR<List<SickCommentEntity>> findSickCircleCommentList(@Param("sickCircleId") Integer sickCircleId); HealthR<List<SickCommentEntity>> findSickCircleCommentList(Integer sickCircleId);
HealthR<List<SickCircleEntity>> searchSickCircle(String keyWord); HealthR<List<SickCircleEntity>> searchSickCircle(String keyWord);
HealthR<List<SickCircleEntity>> findPatientSickCircleList(Integer patientUserId);
} }

View File

@ -1,5 +1,6 @@
package doctor.service; package doctor.service;
import doctor.domain.vo.SickCircleCommentVo;
import doctor.domain.vo.UserSickCircleVo; import doctor.domain.vo.UserSickCircleVo;
import java.util.List; import java.util.List;
@ -13,4 +14,6 @@ import java.util.List;
public interface UserSickCircleService { public interface UserSickCircleService {
List<UserSickCircleVo> findMySickCircleList(); List<UserSickCircleVo> findMySickCircleList();
} }

View File

@ -1,10 +1,14 @@
package doctor.service; package doctor.service;
import com.alipay.api.AlipayApiException;
import doctor.common.core.domain.HealthR;
import doctor.domain.dto.UserArchivesDto; import doctor.domain.dto.UserArchivesDto;
import doctor.domain.entity.*; import doctor.domain.entity.*;
import doctor.domain.vo.*; import doctor.domain.vo.*;
import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.multipart.MultipartFile;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
/** /**
@ -22,7 +26,7 @@ public interface UserVideoService {
void deleteVideoBuy(Integer videoId); void deleteVideoBuy(Integer videoId);
List<UserWalletEntity> findUserWallet(Integer userId);
List<UserVideoCollectionVo> findVideoCollectionList(Integer userId); List<UserVideoCollectionVo> findVideoCollectionList(Integer userId);
@ -40,7 +44,7 @@ public interface UserVideoService {
void addUserArchives(UserArchivesEntity userArchivesEntity, Integer userId); void addUserArchives(UserArchivesEntity userArchivesEntity, Integer userId);
void uploadUserArchivesImg(Integer id);
List<UserDoctorFollowVo> findUserDoctorFollowList(); List<UserDoctorFollowVo> findUserDoctorFollowList();
@ -57,4 +61,25 @@ public interface UserVideoService {
void updateUserSex(Integer sex, Integer userId); void updateUserSex(Integer sex, Integer userId);
void modifyNickName(String nickName, Integer userId); void modifyNickName(String nickName, Integer userId);
List<SystemNoticeEntity> findSystemNoticeList();
List<InquiryNoticeVo> findInquiryNoticeList(Integer userId);
List<HealthyCurrencyNoticeListVo> findHealthyCurrencyNoticeList(Integer userId);
List<UserNoticeReadNumVo> findUserNoticeReadNum(Integer userId);
void modifyAllStatus(Integer userId);
HealthR uploadUserArchivesImg(MultipartFile imagePic, String sessionId, Integer id);
String Pay(BigDecimal money,Integer userId);
Integer findUserWallet(Integer userId);
void drawCash(Integer userId, BigDecimal money);
List<SickCircleCommentVo> findSickCircleCommentList(Integer userId);
} }

View File

@ -1,11 +1,17 @@
package doctor.service.impl; package doctor.service.impl;
import doctor.convert.DoctorConvert;
import doctor.domain.entity.DoctorCharge;
import doctor.domain.entity.DoctorCommentCount;
import doctor.domain.entity.DoctorEntity; import doctor.domain.entity.DoctorEntity;
import doctor.domain.vo.DoctorVo;
import doctor.mapper.DoctorMapper; import doctor.mapper.DoctorMapper;
import doctor.service.DoctorService; import doctor.service.DoctorService;
import doctor.system.api.domain.Doctor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -19,8 +25,33 @@ public class DoctorServiceimpl implements DoctorService {
@Autowired @Autowired
private DoctorMapper doctorMapper; private DoctorMapper doctorMapper;
@Override @Override
public List<DoctorEntity> findDoctorList(Integer deptId) { public List<DoctorVo> findDoctorList(Integer deptId, Integer condition, Integer sortBy) {
return doctorMapper.findDoctorList(deptId); List<DoctorEntity> doctorEntities=doctorMapper.findDoctorList(deptId);//获取指定部门的医生实体列表
// List<DoctorVo> doctorVos=new ArrayList<>();
// for (DoctorEntity doctorEntity : doctorVoList) {
// DoctorVo doctorVo = new DoctorVo();
// DoctorCharge doctorCharge = doctorMapper.doctorCharge(doctorEntity.getId()); // 获医生的收费信
// doctorVo.setServicePrice(doctorCharge.getCost()); // 设置医生的收费价格
// doctorVo.setDoctorId(doctorEntity.getId());
// doctorVo.setDoctorName(doctorEntity.getName());
// doctorVo.setDoctorName(doctorVo.getDoctorName());
// doctorVo.setImagePic(doctorVo.getImagePic());
// doctorVo.setJobTitle(doctorEntity.getJobTitle());
// doctorVo.setInauguralHospital(doctorVo.getInauguralHospital());
// DoctorCommentCount doctored=doctorMapper.doctorCommentCount(doctorEntity.getId());
// doctorVo.setPraiseNum(doctored.getPraiseNum());
// doctorVo.setCommentNum(doctored.getPraiseNum()+doctored.getBadNum());
// doctorVo.setBadNum(doctored.getBadNum());
// doctorVo.setPraise(doctorVo.getPraiseNum()/doctorVo.getCommentNum());
//
//
//
// }
List<DoctorVo> doctorVos= DoctorConvert.INSTANCE.doctorEntityListToDoctorVoList(doctorEntities);
return doctorVos;
} }
} }

View File

@ -3,11 +3,9 @@ package doctor.service.impl;
import doctor.common.core.domain.HealthR; import doctor.common.core.domain.HealthR;
import doctor.common.core.web.controller.BaseController; import doctor.common.core.web.controller.BaseController;
import doctor.common.security.service.TokenService; import doctor.common.security.service.TokenService;
import doctor.controller.HealthRVerifyController;
import doctor.domain.dto.ApplyJoinDto; import doctor.domain.dto.ApplyJoinDto;
import doctor.domain.entity.DoctorIncomeRecordEntity; import doctor.domain.entity.*;
import doctor.domain.entity.DoctorJobTitleEntity;
import doctor.domain.entity.DoctorWalletEntity;
import doctor.domain.entity.doctorSystemNoticeEntity;
import doctor.domain.vo.*; import doctor.domain.vo.*;
import doctor.mapper.HealthJobTitleMapper; import doctor.mapper.HealthJobTitleMapper;
import doctor.service.HealthJobTitleService; import doctor.service.HealthJobTitleService;
@ -88,7 +86,7 @@ public class HealthJobTitleServiceImpl extends BaseController implements HealthJ
} }
Integer integer = redisTemplate.opsForValue().get(applyJoinDto.getEmail()); Integer integer = redisTemplate.opsForValue().get(applyJoinDto.getEmail());
if (!String.valueOf(integer).equals(applyJoinDto.getCode())){ if (!String.valueOf(integer).equals(applyJoinDto.getCode())){
return HealthR.fail("验码错误"); return HealthR.fail("验证码码错误");
} }
Doctor doctor = new Doctor(); Doctor doctor = new Doctor();
BeanUtils.copyProperties(applyJoinDto,doctor); BeanUtils.copyProperties(applyJoinDto,doctor);
@ -199,4 +197,28 @@ public class HealthJobTitleServiceImpl extends BaseController implements HealthJ
} }
return noticeReadNumVos; return noticeReadNumVos;
} }
@Override
public List<MyAdoptedCommentListVo> findMyAdoptedCommentList(Integer doctorId, Integer page, Integer count) {
startPage(page,count);
return null;
}
@Override
public List<DoctorSystemNoticeListVo> findDoctorSystemNoticeList(Integer page, Integer count) {
startPage(page,count);
List<DoctorSystemReplyEntity> doctorSystemNoticeList = healthJobTitleMapper.findDoctorSystemNoticeList();
ArrayList<DoctorSystemNoticeListVo> doctorSystemNoticeListVos = new ArrayList<>();
for (DoctorSystemReplyEntity doctorSystemReplyEntity : doctorSystemNoticeList) {
DoctorSystemNoticeListVo doctorSystemNoticeListVo = new DoctorSystemNoticeListVo();
BeanUtils.copyProperties(doctorSystemReplyEntity,doctorSystemNoticeListVo);
doctorSystemNoticeListVos.add(doctorSystemNoticeListVo);
}
return doctorSystemNoticeListVos;
}
@Override
public void upImagePicByDoctorId(String imagePic, Integer doctorId) {
healthJobTitleMapper.upImagePicByDoctorId(doctorId,imagePic);
}
} }

View File

@ -1,16 +1,21 @@
package doctor.service.impl; package doctor.service.impl;
import doctor.domain.entity.InquiryDetailsRecordEntity; import doctor.common.security.utils.SecurityUtils;
import doctor.domain.entity.*;
import doctor.domain.vo.DoctorVo; import doctor.domain.vo.DoctorVo;
import doctor.domain.vo.InquiryDetailsRecordVo; import doctor.domain.vo.InquiryDetailsRecordVo;
import doctor.mapper.InquiryMapper; import doctor.mapper.InquiryMapper;
import doctor.service.InquiryService; import doctor.service.InquiryService;
import doctor.system.api.domain.Doctor;
import doctor.system.api.model.LoginUser;
import doctor.util.ConvertUtil; import doctor.util.ConvertUtil;
import doctor.util.RSAUtils; import doctor.util.RSAUtils;
import doctor.util.RsaKey; import doctor.util.RsaKey;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -32,17 +37,22 @@ public class InquiryServiceImpl implements InquiryService {
@Override @Override
public DoctorVo findDoctorInfo(Integer doctorId) { public DoctorVo findDoctorInfo(Integer doctorId) {
// DoctorCharge doctorCharge=inquiryMapper.doctorCharge(doctorId);
// DoctorCommentCount doctorCommentCount=inquiryMapper.doctorCommentCount(doctorId);
return inquiryMapper.findDoctorInfo(doctorId);
return null;
} }
@Override @Override
public String consultDoctor(Integer userId, Integer doctorId) { public String consultDoctor(Integer userId, Integer doctorId) {
inquiryMapper.consultDoctor(userId,doctorId); inquiryMapper.consultDoctor(userId,doctorId);
String doctorUserName = inquiryMapper.findDoctorUserNameByDoctorId(doctorId); String doctorUserName1 = inquiryMapper.findDoctorUserNameByDoctorId(doctorId);
try { try {
String s = RSAUtils.rsaDecrypt(doctorUserName, RsaKey.PUBLIC_KEY); List<String> strings = RSAUtils.rsaEncrypt(doctorUserName1, RsaKey.PUBLIC_KEY);
return s; String doctorUserName = strings.get(0);
System.out.println("==============="+doctorUserName);
return doctorUserName;
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
@ -50,16 +60,61 @@ public class InquiryServiceImpl implements InquiryService {
@Override @Override
public void followDoctor(Integer userId, Integer doctorId) { public void followDoctor(Integer userId, Integer doctorId) {
if (doctorId==0){
throw new RuntimeException("医生Id不能为空");
}else {
UserDoctorFollowEntity userDoctorFollowEntity = new UserDoctorFollowEntity();
LoginUser loginUser= SecurityUtils.getLoginUser();
Long userid = loginUser.getUserid();
userDoctorFollowEntity.setUserId(userid);
userDoctorFollowEntity.setDoctorId(doctorId);
userDoctorFollowEntity.setCreateTime(new Date());
inquiryMapper.followDoctor(userDoctorFollowEntity);
}
} }
//取消关注
@Override @Override
public void cancelFollow(Integer userId, Integer doctorId) { public void cancelFollow(Integer userId, Integer doctorId) {
LoginUser loginUser= SecurityUtils.getLoginUser();
Long userid=loginUser.getUserid();
inquiryMapper.delCancelFollow(userid,doctorId);
} }
//结束问增
@Override @Override
public void endInquiry(Integer userId, Integer recordId) { public void endInquiry(Integer userId, Integer recordId) {
//检查问诊记录Id是否为空
if (recordId == 0) {
throw new RuntimeException("问诊记录Id不能为空");
}
//结束问诊,获取问诊记录信息
InquiryRecordEntity inquiryRecordEntity = inquiryMapper.findInquiryRecordById(recordId,1);
//结束问诊,修改问诊记录状态
inquiryMapper.endInquiry(recordId);
if (inquiryRecordEntity==null){
throw new RuntimeException("没有找到该问诊记录");
}
//获取医生问诊次数信息
DoctorAskCount doctorAskCount=inquiryMapper.getDoctorAskCount(inquiryRecordEntity.getDoctorId());
// 如果医生问诊次数信息为空,表示医生首次问诊,添加新的记录
if (doctorAskCount==null){
doctorAskCount = new DoctorAskCount();
doctorAskCount.setDoctorAskCount(inquiryRecordEntity.getDoctorId());
doctorAskCount.setNumber(1);
doctorAskCount.setUpdateTime(new Date());
doctorAskCount.setCreateTime(new Timestamp(new Date().getTime()));
// 添加医生问诊次数记录到数据库
inquiryMapper.addDoctorAskCount(doctorAskCount);
}
else {
// 如果医生已有问诊次数记录,增加次数并更新信息
doctorAskCount.setNumber(doctorAskCount.getNumber() + 1);
doctorAskCount.setUpdateTime(new Date());
// 更新医生问诊次数记录到数据库
inquiryMapper.updDoctorAskCount(doctorAskCount);
}
} }
} }

View File

@ -1,6 +1,7 @@
package doctor.service.impl; package doctor.service.impl;
import doctor.common.core.web.controller.BaseController; import doctor.common.core.web.controller.BaseController;
import doctor.domain.vo.HistoryInquiryRecordVo;
import doctor.domain.vo.InquiryRecordVo; import doctor.domain.vo.InquiryRecordVo;
import doctor.mapper.InquiryVerifyServiceMapper; import doctor.mapper.InquiryVerifyServiceMapper;
import doctor.service.InquiryVerifyService; import doctor.service.InquiryVerifyService;
@ -16,6 +17,15 @@ public class InquiryVerifyServiceImpl extends BaseController implements InquiryV
@Override @Override
public List<InquiryRecordVo> findInquiryRecordList() { public List<InquiryRecordVo> findInquiryRecordList() {
return inquiryVerifyServiceMapper.findInquiryRecordList(); //TODO 待做
//inquiryVerifyServiceMapper.findInquiryRecordList();
return null;
}
@Override
public List<HistoryInquiryRecordVo> findHistoryInquiryRecord(Integer page, Integer count, Integer doctorId) {
startPage(page,count);
//TODO 待做
return null;
} }
} }

View File

@ -3,6 +3,7 @@ package doctor.service.impl;
import com.alibaba.nacos.api.model.v2.Result; import com.alibaba.nacos.api.model.v2.Result;
import doctor.common.core.constant.TokenConstants; import doctor.common.core.constant.TokenConstants;
import doctor.common.core.domain.HealthR; import doctor.common.core.domain.HealthR;
import doctor.common.core.web.controller.BaseController;
import doctor.common.security.service.TokenService; import doctor.common.security.service.TokenService;
import doctor.common.security.utils.SecurityUtils; import doctor.common.security.utils.SecurityUtils;
import doctor.domain.entity.SickCircleEntity; import doctor.domain.entity.SickCircleEntity;
@ -25,19 +26,20 @@ import java.util.List;
*/ */
@Service @Service
@Log4j2 @Log4j2
public class PatientServiceImpl implements PatientService { public class PatientServiceImpl extends BaseController implements PatientService {
@Autowired @Autowired
private PatientMapper patientMapper; private PatientMapper patientMapper;
@Override @Override
public HealthR<List<SickCircleEntity>> sickCircleList(Integer departmentId) { public HealthR<List<SickCircleEntity>> sickCircleList(Integer departmentId, Integer page, Integer count) {
/** /**
* id * id
* @param departmentId id * @param departmentId id
* @return * @return
*/ */
startPage(page,count);
List<SickCircleEntity> sickCircleEntity = patientMapper.sickCircleList(departmentId); List<SickCircleEntity> sickCircleEntity = patientMapper.sickCircleList(departmentId);
return HealthR.ok(sickCircleEntity); return HealthR.ok(sickCircleEntity);
} }

View File

@ -1,6 +1,8 @@
package doctor.service.impl; package doctor.service.impl;
import doctor.domain.entity.SickCircleCommentEntity;
import doctor.domain.entity.UserSickCircleEntity; import doctor.domain.entity.UserSickCircleEntity;
import doctor.domain.vo.SickCircleCommentVo;
import doctor.domain.vo.UserSickCircleVo; import doctor.domain.vo.UserSickCircleVo;
import doctor.mapper.UserSickCircleMapper; import doctor.mapper.UserSickCircleMapper;
import doctor.mapper.UserVideoMapper; import doctor.mapper.UserVideoMapper;
@ -27,4 +29,6 @@ public class UserSickCircleServiceImpl implements UserSickCircleService {
List<UserSickCircleVo> userSickCircleVoList = ConvertUtil.entityToVoList(userSickCircleEntityList, UserSickCircleVo.class); List<UserSickCircleVo> userSickCircleVoList = ConvertUtil.entityToVoList(userSickCircleEntityList, UserSickCircleVo.class);
return userSickCircleVoList; return userSickCircleVoList;
} }
} }

View File

@ -1,17 +1,39 @@
package doctor.service.impl; package doctor.service.impl;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.CertAlipayRequest;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.domain.AlipayFundTransToaccountTransferModel;
import com.alipay.api.request.AlipayFundTransToaccountTransferRequest;
import com.alipay.api.request.AlipayTradePagePayRequest;
import com.alipay.api.response.AlipayFundTransToaccountTransferResponse;
import com.alipay.api.response.AlipayTradePagePayResponse;
import doctor.AlipayConfigProperties;
import doctor.common.core.domain.HealthR;
import doctor.common.security.service.TokenService;
import doctor.domain.dto.UserArchivesDto; import doctor.domain.dto.UserArchivesDto;
import doctor.domain.dto.UserTaskRecordDto; import doctor.domain.dto.UserTaskRecordDto;
import doctor.domain.entity.*; import doctor.domain.entity.*;
import doctor.domain.vo.*; import doctor.domain.vo.*;
import doctor.mapper.UserVideoMapper; import doctor.mapper.UserVideoMapper;
import doctor.model.TradePayModel;
import doctor.service.UserVideoService; import doctor.service.UserVideoService;
import doctor.system.api.domain.Doctor;
import doctor.system.api.model.LoginUser;
import doctor.util.ConvertUtil; import doctor.util.ConvertUtil;
import doctor.util.OssUtil;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.UUID;
/** /**
* @ClassName : UserVideoServiceImpl * @ClassName : UserVideoServiceImpl
@ -20,10 +42,20 @@ import java.util.List;
* @Date: 2024-01-10 14:34 * @Date: 2024-01-10 14:34
*/ */
@Service @Service
@Log4j2
public class UserVideoServiceImpl implements UserVideoService { public class UserVideoServiceImpl implements UserVideoService {
@Autowired @Autowired
private UserVideoMapper userVideoMapper; private UserVideoMapper userVideoMapper;
@Autowired
private TokenService tokenService;
@Autowired
private HttpServletResponse response;
@Autowired
private AlipayConfigProperties alipayConfigProperties;
@Autowired
private AlipayClient alipayClient;
@Override @Override
public List<UserVideoCollectionVo> findVideoCollectionList(Integer userId) { public List<UserVideoCollectionVo> findVideoCollectionList(Integer userId) {
@ -76,10 +108,6 @@ public class UserVideoServiceImpl implements UserVideoService {
userVideoMapper.addUserArchives(userArchivesEntity,userId); userVideoMapper.addUserArchives(userArchivesEntity,userId);
} }
@Override
public void uploadUserArchivesImg(Integer id) {
userVideoMapper.uploadUserArchivesImg(id);
}
@Override @Override
public List<UserDoctorFollowVo> findUserDoctorFollowList() { public List<UserDoctorFollowVo> findUserDoctorFollowList() {
@ -128,6 +156,92 @@ public class UserVideoServiceImpl implements UserVideoService {
userVideoMapper.modifyNickName(nickName,userId); userVideoMapper.modifyNickName(nickName,userId);
} }
@Override
public List<SystemNoticeEntity> findSystemNoticeList() {
List<SystemNoticeEntity> systemNoticeEntities=userVideoMapper.findSystemNoticeList();
return systemNoticeEntities;
}
@Override
public List<InquiryNoticeVo> findInquiryNoticeList(Integer userId) {
List<InquiryRecordEntity> inquiryRecordEntities=userVideoMapper.findInquiryNoticeList(userId);
List<InquiryNoticeVo> inquiryNoticeVos = ConvertUtil.entityToVoList(inquiryRecordEntities, InquiryNoticeVo.class);
return inquiryNoticeVos;
}
@Override
public List<HealthyCurrencyNoticeListVo> findHealthyCurrencyNoticeList(Integer userId) {
List<UserWalletEntity> healthyCurrencyNoticeEntities=userVideoMapper.findHealthyCurrencyNoticeList(userId);
List<HealthyCurrencyNoticeListVo> healthyCurrencyNoticeListVos = ConvertUtil.entityToVoList(healthyCurrencyNoticeEntities, HealthyCurrencyNoticeListVo.class);
return healthyCurrencyNoticeListVos;
}
@Override
public List<UserNoticeReadNumVo> findUserNoticeReadNum(Integer userId) {
List<SystemNoticeEntity> userNoticeReadNumEntities=userVideoMapper.findUserNoticeReadNum(userId);
List<UserNoticeReadNumVo> userNoticeReadNumVos = ConvertUtil.entityToVoList(userNoticeReadNumEntities, UserNoticeReadNumVo.class);
return userNoticeReadNumVos;
}
@Override
public void modifyAllStatus(Integer userId) {
userVideoMapper.modifyAllStatus(userId);
}
@Override
public HealthR uploadUserArchivesImg(MultipartFile imagePic, String sessionId, Integer id) {
String s = OssUtil.uploadMultipartFile(imagePic);
userVideoMapper.uploadUserArchivesImg(id,s);
LoginUser loginUser = tokenService.getLoginUser(sessionId);
Doctor doctor = loginUser.getDoctor();
doctor.setImagePic(s);
tokenService.createToken(loginUser);
return HealthR.ok(s);
}
@Override
public String Pay(BigDecimal money,Integer userId) {
// 设置支付宝请求参数
AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
// 设置返回页面的URL用户支付成功后会跳转到这个URL
alipayRequest.setReturnUrl(alipayConfigProperties.getReturnUrl());
// 设置异步通知的URL支付宝会向这个URL发送支付结果通知
alipayRequest.setNotifyUrl(alipayConfigProperties.getNotifyUrl());
// 构建业务参数使用TradePayModel封装支付信息
alipayRequest.setBizContent(TradePayModel.builder()
.outTradeNo(UUID.randomUUID().toString().replaceAll("-", "")) // 生成商户订单号
.totalAmount(money) // 设置订单总金额
.subject("H币充值") // 设置订单标题
.body("APP内虚拟货币") // 设置订单描述
.productCode("FAST_INSTANT_TRADE_PAY") // 设置产品码FAST_INSTANT_TRADE_PAY表示快速支付
.build()
.toJsonStr()); // 将TradePayModel转换为JSON字符串并设置到业务参数
try {
// 调用支付宝SDK发起支付请求
AlipayTradePagePayResponse alipayTradeRefundResponse = alipayClient.pageExecute(alipayRequest);
// 打印请求成功的日志信息
log.info("请求成功: {}", alipayTradeRefundResponse);
log.info("请求成功: {}", alipayTradeRefundResponse.getBody());
// 设置响应的Content-Type为text/html;charset=UTF-8
response.setContentType("text/html;charset=UTF-8");
//修改金额
userVideoMapper.updateUserWallet(money,userId);
// 返回支付宝支付页面的HTML代码用户浏览器将自动跳转到支付宝页面进行支付
return alipayTradeRefundResponse.getBody();
} catch (AlipayApiException e) {
// 处理支付宝API异常抛出运行时异常
throw new RuntimeException(e);
}
}
@Override @Override
public List<UserVideoBuyVo> findUserVideoBuyList() { public List<UserVideoBuyVo> findUserVideoBuyList() {
@ -142,9 +256,78 @@ public class UserVideoServiceImpl implements UserVideoService {
} }
@Override @Override
public List<UserWalletEntity> findUserWallet(Integer userId) { public Integer findUserWallet(Integer userId) {
return userVideoMapper.findUserWallet(userId); return userVideoMapper.findUserWallet(userId);
} }
@Override
public void drawCash(Integer userId, BigDecimal money) {
AlipayConfigProperties alipayConfigProperties1 = new AlipayConfigProperties();
//构造client
CertAlipayRequest certAlipayRequest = new CertAlipayRequest();
// 设置网关地址
certAlipayRequest.setServerUrl(alipayConfigProperties1.getGatewayUrl());
//设置应用AppId
certAlipayRequest.setAppId(alipayConfigProperties1.getAppId());
//设置应用私钥
certAlipayRequest.setPrivateKey(alipayConfigProperties1.getMerchantPrivateKey());
// 设置字符集
certAlipayRequest.setCharset(alipayConfigProperties1.getCharset());
// 设置签名类型
certAlipayRequest.setSignType(alipayConfigProperties1.getSignType());
// // 设置应用公钥证书路径
// certAlipayRequest.setCertPath(alipayConfigProperties1.);
// // 设置支付宝公钥证书路径
// certAlipayRequest.setAlipayPublicCertPath(basePath + AliPayConfig.ALIPAY_CERT_PATH);
// // 设置支付宝根证书路径
// certAlipayRequest.setRootCertPath(basePath + AliPayConfig.ALIPAY_ROOT_CERT_PATH);
// 构造client
AlipayClient alipayClient = null;
try {
alipayClient = new DefaultAlipayClient(certAlipayRequest);
} catch (AlipayApiException e) {
throw new RuntimeException(e);
}
//请求对象
AlipayFundTransToaccountTransferRequest request = new AlipayFundTransToaccountTransferRequest();
// 设置请求参数
AlipayFundTransToaccountTransferModel model = new AlipayFundTransToaccountTransferModel();
// 金额
model.setAmount(String.valueOf(money));
// // 商户单号 订单id
// model.setOutBizNo(wOrderNumber);
// 收款方支付宝账号
// model.setPayeeAccount(zfbName);
// // 收款方姓名
// model.setPayeeRealName(name);
// 收款方账户类型
model.setPayeeType("ALIPAY_LOGONID");
// 备注
model.setRemark("用户提现");
// 设置请求参数
request.setBizModel(model);
AlipayFundTransToaccountTransferResponse response = null;
try {
response = alipayClient.certificateExecute(request);
if (response.isSuccess()) {
if ("10000".equals(response.getCode())) {
/**
*
* */
userVideoMapper.updateUserWallet1(money,userId);
}
}
} catch (AlipayApiException e) {
System.out.println("转账失败");
}
}
@Override
public List<SickCircleCommentVo> findSickCircleCommentList(Integer userId) {
List<SickCircleCommentEntity> sickCircleCommentEntities = userVideoMapper.findSickCircleCommentList(userId);
List<SickCircleCommentVo> sickCircleCommentVos = ConvertUtil.entityToVoList(sickCircleCommentEntities, SickCircleCommentVo.class);
return sickCircleCommentVos;
}
} }

View File

@ -29,7 +29,7 @@ spring:
host: smtp.qq.com host: smtp.qq.com
port: 587 port: 587
username: 3581044601@qq.com username: 3581044601@qq.com
password: bwscqgqpkagjciih password: jwxhwyxfaznhdaae
default-encoding: UTF8 default-encoding: UTF8
properties: properties:
mail: mail:

View File

@ -5,8 +5,14 @@
<mapper namespace="doctor.mapper.DoctorMapper"> <mapper namespace="doctor.mapper.DoctorMapper">
<!-- <select id="findDoctorList" resultType="doctor.domain.entity.DoctorEntity">-->
<!-- select *-->
<!-- from doctor where department_id = #{deptId}-->
<!-- </select>-->
<!-- <select id="findDoctorList" resultType="doctor.domain.entity.DoctorEntity">-->
<!-- select * from doctor where department_id = #{deptId}-->
<!-- </select>-->
<select id="findDoctorList" resultType="doctor.domain.entity.DoctorEntity"> <select id="findDoctorList" resultType="doctor.domain.entity.DoctorEntity">
select * select * from doctor where department_id = #{deptId}
from doctor where department_id = #{deptId}
</select> </select>
</mapper> </mapper>

View File

@ -11,6 +11,9 @@
<update id="updDoctorImgPicBuyId"> <update id="updDoctorImgPicBuyId">
update doctor set image_pic=#{s} where id=#{doctorId} update doctor set image_pic=#{s} where id=#{doctorId}
</update> </update>
<update id="upImagePicByDoctorId">
update doctor set image_pic=#{imagePic} where id=#{doctorId}
</update>
<select id="findJobTitleList" resultType="doctor.domain.entity.DoctorJobTitleEntity"> <select id="findJobTitleList" resultType="doctor.domain.entity.DoctorJobTitleEntity">
@ -35,6 +38,20 @@
select * from doctor_income_record where doctor_id=#{doctorId} select * from doctor_income_record where doctor_id=#{doctorId}
</select> </select>
<select id="findDoctorNoticeReadNum" resultType="doctor.domain.entity.doctorSystemNoticeEntity"> <select id="findDoctorNoticeReadNum" resultType="doctor.domain.entity.doctorSystemNoticeEntity">
SELECT COUNT(id) num,notice_type FROM doctor_system_notice where receive_doctor_id=#{doctorId} and status=2 GROUP BY notice_type SELECT
m.notice_type,
COALESCE(COUNT(n.notice_type), 0) AS num
FROM
(
SELECT DISTINCT notice_type
FROM doctor_system_notice
) m
LEFT JOIN
doctor_system_notice n ON m.notice_type = n.notice_type AND n.status = 2
GROUP BY
m.notice_type;
</select>
<select id="findDoctorSystemNoticeList" resultType="doctor.domain.entity.DoctorSystemReplyEntity">
select * from doctor_system_reply
</select> </select>
</mapper> </mapper>

View File

@ -20,6 +20,25 @@
now() now()
) )
</insert> </insert>
<insert id="followDoctor">
insert into user_doctor_follow (doctor_id, user_id, create_time)values (#{doctorId}, #{userId}, #{createTime})
</insert>
<insert id="addDoctorAskCount">
insert into doctor_ask_count (doctor_id, number, create_time)
values (#{doctorId}, #{number}, #{createTime})
</insert>
<update id="endInquiry">
update inquiry_record set status = 2 where id = #{recordId}
</update>
<update id="updDoctorAskCount">
update doctor_ask_count
set number = #{number},
update_time = #{updateTime}
where doctor_id = #{doctorId}
</update>
<delete id="delCancelFollow">
delete from user_doctor_follow where doctor_id = #{doctorId} and user_id = #{userId}
</delete>
<select id="findHistoryInquiryRecord" resultType="doctor.domain.entity.InquiryDetailsRecordEntity"> <select id="findHistoryInquiryRecord" resultType="doctor.domain.entity.InquiryDetailsRecordEntity">
@ -27,6 +46,30 @@
from inquiry_details_record from inquiry_details_record
</select> </select>
<select id="findDoctorUserNameByDoctorId" resultType="java.lang.String"> <select id="findDoctorUserNameByDoctorId" resultType="java.lang.String">
select user_name from doctor where doctor_id=#{doctorId} select user_name from doctor where department_id=#{doctorId}
</select>
<select id="findDoctorInfo" resultType="doctor.domain.vo.DoctorVo">
select * from doctor where department_id=#{doctorId}
</select>
<select id="findInquiryRecordById" resultType="doctor.domain.entity.InquiryRecordEntity">
SELECT inquiry_record.id as id,
inquiry_record.user_id as userId,
inquiry_record.doctor_id as doctorId,
inquiry_record.status as status,
inquiry_record.inquiry_time as inquiryTime,
inquiry_record.create_time as createTime
FROM inquiry_record
WHERE inquiry_record.id = #{recordId}
and inquiry_record.status = #{status}
ORDER BY inquiry_record.create_time DESC LIMIT 1
</select>
<select id="getDoctorAskCount" resultType="doctor.domain.entity.DoctorAskCount">
SELECT
doctor_ask_count.doctor_id as doctorId,
doctor_ask_count.number as number,
doctor_ask_count.update_time as updateTime,
doctor_ask_count.create_time as createTime
FROM doctor_ask_count
WHERE doctor_ask_count.doctor_id = #{doctorId}
</select> </select>
</mapper> </mapper>

View File

@ -5,7 +5,4 @@
<mapper namespace="doctor.mapper.InquiryVerifyServiceMapper"> <mapper namespace="doctor.mapper.InquiryVerifyServiceMapper">
<select id="findInquiryRecordList" resultType="doctor.domain.vo.InquiryRecordVo">
</select>
</mapper> </mapper>

View File

@ -8,4 +8,5 @@
select * select *
from user_sick_circle from user_sick_circle
</select> </select>
</mapper> </mapper>

View File

@ -49,7 +49,7 @@ create_time
<!-- </insert>--> <!-- </insert>-->
<update id="uploadUserArchivesImg"> <update id="uploadUserArchivesImg">
update user_archives update user_archives
set picture = #{picture} set picture = #{s}
where id=#{id} where id=#{id}
</update> </update>
<update id="perfectUserInfo"> <update id="perfectUserInfo">
@ -69,6 +69,21 @@ weight = #{weight}
set nick_name = #{nickName} set nick_name = #{nickName}
where id = #{userId} where id = #{userId}
</update> </update>
<update id="modifyAllStatus">
update system_notice
set status = 1
where receive_user_id=#{userId}
</update>
<update id="updateUserWallet">
update user_wallet
set balance = balance + #{money}
where user_id = #{userId}
</update>
<update id="updateUserWallet1">
update user_wallet
set balance = balance - #{money}
where user_id = #{userId}
</update>
<delete id="cancelVideoCollection"> <delete id="cancelVideoCollection">
delete delete
from user_video_collection from user_video_collection
@ -86,10 +101,10 @@ weight = #{weight}
select * select *
from user_video_buy from user_video_buy
</select> </select>
<select id="findUserWallet" resultType="doctor.domain.entity.UserWalletEntity"> <!-- <select id="findUserWallet" resultType="doctor.domain.entity.UserWalletEntity">-->
select * <!-- select *-->
from user_wallet where user_id=#{userId} <!-- from user_wallet where user_id=#{userId}-->
</select> <!-- </select>-->
<select id="findUserConsumptionRecordList" resultType="doctor.domain.entity.UserConsumptionRecordEntity"> <select id="findUserConsumptionRecordList" resultType="doctor.domain.entity.UserConsumptionRecordEntity">
select * select *
from user_consumption_record from user_consumption_record
@ -124,5 +139,37 @@ weight = #{weight}
select * select *
from user where id=#{userId} from user where id=#{userId}
</select> </select>
<select id="findSystemNoticeList" resultType="doctor.domain.entity.SystemNoticeEntity">
select *
from system_notice
</select>
<select id="findInquiryNoticeList" resultType="doctor.domain.entity.InquiryRecordEntity">
select *
from inquiry_record
where user_id=#{userId}
</select>
<select id="findHealthyCurrencyNoticeList" resultType="doctor.domain.entity.UserWalletEntity">
select *
from user_wallet
where user_id=#{userId}
</select>
<select id="findUserNoticeReadNum" resultType="doctor.domain.entity.SystemNoticeEntity">
select *
from system_notice
where receive_user_id=#{userId}
</select>
<select id="findModifyAll" resultType="doctor.domain.entity.SystemNoticeEntity">
select *
from system_notice
where receive_user_id=#{userId}
</select>
<select id="findUserWallet" resultType="java.lang.Integer">
select balance
from user_wallet where user_id=#{userId}
</select>
<select id="findSickCircleCommentList" resultType="doctor.domain.entity.SickCircleCommentEntity">
select *
from sick_circle_comment where patient_user_id=#{userId}
</select>
</mapper> </mapper>

View File

@ -15,11 +15,11 @@ spring:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 101.34.77.101:8848 server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050 namespace: 7e1e997d-5fa4-4f84-9f48-3e0adf830a37
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 101.34.77.101:8848 server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050 namespace: 7e1e997d-5fa4-4f84-9f48-3e0adf830a37
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -15,11 +15,11 @@ spring:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 101.34.77.101:8848 server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050 namespace: 7e1e997d-5fa4-4f84-9f48-3e0adf830a37
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 101.34.77.101:8848 server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050 namespace: 7e1e997d-5fa4-4f84-9f48-3e0adf830a37
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -15,11 +15,11 @@ spring:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 101.34.77.101:8848 server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050 namespace: 7e1e997d-5fa4-4f84-9f48-3e0adf830a37
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 101.34.77.101:8848 server-addr: 101.34.77.101:8848
namespace: 9de208a6-cb30-41ae-a880-78196c99c050 namespace: 7e1e997d-5fa4-4f84-9f48-3e0adf830a37
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置