Ver código fonte

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

liubing 3 anos atrás
pai
commit
ad24fc2650
15 arquivos alterados com 401 adições e 77 exclusões
  1. 15 0
      common/common-entity/src/main/java/com/yihu/jw/entity/care/course/CourseDO.java
  2. 26 0
      common/common-entity/src/main/java/com/yihu/jw/entity/care/course/CourseSalesOrderRecordDO.java
  3. 3 3
      common/common-entity/src/main/java/com/yihu/jw/entity/care/course/PatientOrderRefundDO.java
  4. 40 0
      common/common-entity/src/main/java/com/yihu/jw/entity/care/course/RecruitStudentsRecordDO.java
  5. 2 2
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/CourseCatalogueEndpoint.java
  6. 2 2
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/CourseEndpoint.java
  7. 2 2
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/CourseSalesOrderRecordEndpoint.java
  8. 2 2
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/CustomerServiceEndpoint.java
  9. 2 2
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/PatientOrderRefundEndpoint.java
  10. 2 2
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/RecruitStudentsEndpoint.java
  11. 2 2
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/RecruitStudentsRecordEndpoint.java
  12. 35 0
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/course/DoctorCourseEndpoint.java
  13. 56 4
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/course/PatientCourseEndpoint.java
  14. 212 55
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/course/CourseService.java
  15. 0 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/doctor/CareDoctorService.java

+ 15 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/care/course/CourseDO.java

@ -8,6 +8,7 @@ import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;
import java.util.List;
/**
 * Created with IntelliJ IDEA.
@ -83,6 +84,11 @@ public class CourseDO extends UuidIdentityEntityWithOperator {
     */
    private Integer del;
    /**
     * 小节
     */
    List<CourseCatalogueDO> catalogueDOList;
    @Column(name = "type")
    public String getType() {
        return type;
@ -236,4 +242,13 @@ public class CourseDO extends UuidIdentityEntityWithOperator {
    public void setLiveDuration(String liveDuration) {
        this.liveDuration = liveDuration;
    }
    @Transient
    public List<CourseCatalogueDO> getCatalogueDOList() {
        return catalogueDOList;
    }
    public void setCatalogueDOList(List<CourseCatalogueDO> catalogueDOList) {
        this.catalogueDOList = catalogueDOList;
    }
}

+ 26 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/care/course/CourseSalesOrderRecordDO.java

@ -36,10 +36,18 @@ public class CourseSalesOrderRecordDO extends UuidIdentityEntityWithTime{
     * '购买时间'
     */
    private Date buyTime;
    /**
     * 支付方式 1微信 2支付宝
     */
    private String payType;
    /**
     * '状态'
     */
    private String status;
    /**
     * 订单编号
     */
    private String orderNo;
    /**
     * 支付价格
     */
@ -126,4 +134,22 @@ public class CourseSalesOrderRecordDO extends UuidIdentityEntityWithTime{
    public void setPrice(BigDecimal price) {
        this.price = price;
    }
    @Column(name = "pay_type")
    public String getPayType() {
        return payType;
    }
    public void setPayType(String payType) {
        this.payType = payType;
    }
    @Column(name = "order_no")
    public String getOrderNo() {
        return orderNo;
    }
    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }
}

+ 3 - 3
common/common-entity/src/main/java/com/yihu/jw/entity/care/course/PatientOrderRefundDO.java

@ -42,7 +42,7 @@ public class PatientOrderRefundDO extends UuidIdentityEntity{
    private String refundDesc;
    /**
     * 状态
     * '1待退款2已退款'
     * '1待退款2退款完成3退款失败'
     */
    private String status;
    /**
@ -154,8 +154,8 @@ public class PatientOrderRefundDO extends UuidIdentityEntity{
        this.refundTime = refundTime;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @Column(name = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getCreateTime() {
        return createTime;
    }
@ -164,8 +164,8 @@ public class PatientOrderRefundDO extends UuidIdentityEntity{
        this.createTime = createTime;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @Column(name = "buy_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getBuyTime() {
        return buyTime;
    }

+ 40 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/care/course/RecruitStudentsRecordDO.java

@ -6,6 +6,7 @@ import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.math.BigDecimal;
/**
 * Created with IntelliJ IDEA.
@ -48,6 +49,18 @@ public class RecruitStudentsRecordDO  extends UuidIdentityEntityWithTime {
     */
    private String status;
    private String statusName;
    /**
     * 支付方式 1微信 2支付宝
     */
    private String payType;
    /**
     * 价格
     */
    private BigDecimal price;
    /**
     * 订单编号
     */
    private String orderNo;
    /**
     * 机构code
     */
@ -155,4 +168,31 @@ public class RecruitStudentsRecordDO  extends UuidIdentityEntityWithTime {
    public void setRecruitName(String recruitName) {
        this.recruitName = recruitName;
    }
    @Column(name = "pay_type")
    public String getPayType() {
        return payType;
    }
    public void setPayType(String payType) {
        this.payType = payType;
    }
    @Column(name = "price")
    public BigDecimal getPrice() {
        return price;
    }
    public void setPrice(BigDecimal price) {
        this.price = price;
    }
    @Column(name = "order_no")
    public String getOrderNo() {
        return orderNo;
    }
    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }
}

+ 2 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/CourseCatalogueEndpoint.java

@ -38,7 +38,7 @@ public class CourseCatalogueEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "创建")
    public ObjEnvelop<CourseCatalogueDO> create (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
            @RequestParam String jsonData) throws Exception {
        CourseCatalogueDO catalogueDO = toEntity(jsonData, CourseCatalogueDO.class);
        catalogueDO = courseCatalogueService.save(catalogueDO);
        return success(catalogueDO);
@ -57,7 +57,7 @@ public class CourseCatalogueEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "更新")
    public ObjEnvelop<CourseCatalogueDO> update (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
            @RequestParam String jsonData) throws Exception {
        CourseCatalogueDO catalogueDO = toEntity(jsonData, CourseCatalogueDO.class);
        if (null == catalogueDO.getId()) {
            return failed("ID不能为空", ObjEnvelop.class);

+ 2 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/CourseEndpoint.java

@ -47,7 +47,7 @@ public class CourseEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "创建")
    public ObjEnvelop<CourseDO> create (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
            @RequestParam String jsonData) throws Exception {
        CourseDO courseDO = toEntity(jsonData, CourseDO.class);
        courseDO.setDel(1);
        courseDO.setLiveStatus("1");
@ -71,7 +71,7 @@ public class CourseEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "更新")
    public ObjEnvelop<CourseDO> update (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
            @RequestParam String jsonData) throws Exception {
        CourseDO courseDO = toEntity(jsonData, CourseDO.class);
        if (null == courseDO.getId()) {
            return failed("ID不能为空", ObjEnvelop.class);

+ 2 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/CourseSalesOrderRecordEndpoint.java

@ -38,7 +38,7 @@ public class CourseSalesOrderRecordEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "创建")
    public ObjEnvelop<CourseSalesOrderRecordDO> create (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
            @RequestParam String jsonData) throws Exception {
        CourseSalesOrderRecordDO courseSalesOrderRecordDO = toEntity(jsonData, CourseSalesOrderRecordDO.class);
        courseSalesOrderRecordDO = courseSalesOrderRecordService.save(courseSalesOrderRecordDO);
        return success(courseSalesOrderRecordDO);
@ -57,7 +57,7 @@ public class CourseSalesOrderRecordEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "更新")
    public ObjEnvelop<CourseSalesOrderRecordDO> update (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
            @RequestParam String jsonData) throws Exception {
        CourseSalesOrderRecordDO courseSalesOrderRecordDO = toEntity(jsonData, CourseSalesOrderRecordDO.class);
        if (null == courseSalesOrderRecordDO.getId()) {
            return failed("ID不能为空", ObjEnvelop.class);

+ 2 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/CustomerServiceEndpoint.java

@ -41,7 +41,7 @@ public class CustomerServiceEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "创建")
    public ObjEnvelop<CustomerServiceDO> create (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody String jsonData) {
            @RequestParam String jsonData) {
        try {
            CustomerServiceDO customerServiceDO = toEntity(jsonData, CustomerServiceDO.class);
            List<CustomerServiceDO> customerServiceDOList = customerServiceDao.findByOrgCode(customerServiceDO.getOrgCode());
@ -70,7 +70,7 @@ public class CustomerServiceEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "更新")
    public ObjEnvelop<CustomerServiceDO> update (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
            @RequestParam String jsonData) throws Exception {
        CustomerServiceDO customerServiceDO = toEntity(jsonData, CustomerServiceDO.class);
        if (null == customerServiceDO.getId()) {
            return failed("ID不能为空", ObjEnvelop.class);

+ 2 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/PatientOrderRefundEndpoint.java

@ -38,7 +38,7 @@ public class PatientOrderRefundEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "创建")
    public ObjEnvelop<PatientOrderRefundDO> create (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
            @RequestParam String jsonData) throws Exception {
        PatientOrderRefundDO patientOrderRefundDO = toEntity(jsonData, PatientOrderRefundDO.class);
        patientOrderRefundDO = patientOrderRefundService.save(patientOrderRefundDO);
        return success(patientOrderRefundDO);
@ -57,7 +57,7 @@ public class PatientOrderRefundEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "更新")
    public ObjEnvelop<PatientOrderRefundDO> update (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
            @RequestParam String jsonData) throws Exception {
        PatientOrderRefundDO patientOrderRefundDO = toEntity(jsonData, PatientOrderRefundDO.class);
        if (null == patientOrderRefundDO.getId()) {
            return failed("ID不能为空", ObjEnvelop.class);

+ 2 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/RecruitStudentsEndpoint.java

@ -39,7 +39,7 @@ public class RecruitStudentsEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "创建")
    public ObjEnvelop<RecruitStudentsDO> create (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
            @RequestParam String jsonData) throws Exception {
        RecruitStudentsDO recruitStudentsDO = toEntity(jsonData, RecruitStudentsDO.class);
        recruitStudentsDO.setDel(1);
        recruitStudentsDO = recruitStudentsService.save(recruitStudentsDO);
@ -59,7 +59,7 @@ public class RecruitStudentsEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "更新")
    public ObjEnvelop<RecruitStudentsDO> update (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
            @RequestParam String jsonData) throws Exception {
        RecruitStudentsDO recruitStudentsDO = toEntity(jsonData, RecruitStudentsDO.class);
        if (null == recruitStudentsDO.getId()) {
            return failed("ID不能为空", ObjEnvelop.class);

+ 2 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/RecruitStudentsRecordEndpoint.java

@ -38,7 +38,7 @@ public class RecruitStudentsRecordEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "创建")
    public ObjEnvelop<RecruitStudentsRecordDO> create (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
            @RequestParam String jsonData) throws Exception {
        RecruitStudentsRecordDO recordDO = toEntity(jsonData, RecruitStudentsRecordDO.class);
        recordDO = recruitStudentsRecordService.save(recordDO);
        return success(recordDO);
@ -57,7 +57,7 @@ public class RecruitStudentsRecordEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "更新")
    public ObjEnvelop<RecruitStudentsRecordDO> update (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
            @RequestParam String jsonData) throws Exception {
        RecruitStudentsRecordDO recordDO = toEntity(jsonData, RecruitStudentsRecordDO.class);
        if (null == recordDO.getId()) {
            return failed("ID不能为空", ObjEnvelop.class);

+ 35 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/course/DoctorCourseEndpoint.java

@ -1,10 +1,22 @@
package com.yihu.jw.care.endpoint.course;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.service.course.CourseService;
import com.yihu.jw.entity.care.course.CourseDO;
import com.yihu.jw.restmodel.ResponseContant;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * Created with IntelliJ IDEA.
 *
@ -17,4 +29,27 @@ import org.springframework.web.bind.annotation.RestController;
@Api(tags = "医生课程信息", description = "医生课程信息")
public class DoctorCourseEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private CourseService courseService;
    @GetMapping(value = "myCourseList")
    @ApiOperation(value = "我的课程列表")
    public PageEnvelop myCourseList(
            @ApiParam(name = "doctor", value = "doctor") @RequestParam(value = "doctor", required = true) String doctor,
            @ApiParam(name = "type", value = "课程类型 1直播 2视频 3文本") @RequestParam(value = "type", required = false) String type,
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1") @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "3") @RequestParam(value = "size") int size) {
        try{
            JSONObject result = courseService.myCourseList(doctor, type, page, size);
            if (result.getIntValue(ResponseContant.resultFlag) == ResponseContant.fail) {
                return PageEnvelop.getError(result.getString(ResponseContant.resultMsg));
            }
            Long count = result.getLongValue(ResponseContant.count);
            return PageEnvelop.getSuccessListWithPage("查询成功",(List<CourseDO>)result.get(ResponseContant.resultMsg),page,size,count);
        }catch (Exception e){
            e.printStackTrace();
        }
        return PageEnvelop.getError("查询失败");
    }
}

+ 56 - 4
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/course/PatientCourseEndpoint.java

@ -1,17 +1,19 @@
package com.yihu.jw.care.endpoint.course;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.service.course.CourseService;
import com.yihu.jw.restmodel.ResponseContant;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
@ -44,4 +46,54 @@ public class PatientCourseEndpoint extends EnvelopRestEndpoint {
        }
    }
    @GetMapping(value = "patientOrderList")
    @ApiOperation(value = "我的订单列表")
    public PageEnvelop patientOrderList(
            @ApiParam(name = "patient", value = "patient") @RequestParam(value = "patient", required = true) String patient,
            @ApiParam(name = "status", value = "工单状态") @RequestParam(value = "status", required = false) String status,
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1") @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15") @RequestParam(value = "size") int size) {
        try{
            JSONObject result = courseService.patientOrderList(patient, status, page, size);
            if (result.getIntValue(ResponseContant.resultFlag) == ResponseContant.fail) {
                return PageEnvelop.getError(result.getString(ResponseContant.resultMsg));
            }
            Long count = result.getLongValue(ResponseContant.count);
            return PageEnvelop.getSuccessListWithPage("查询成功",(List<Map<String,Object>>)result.get(ResponseContant.resultMsg),page,size,count);
        }catch (Exception e){
            e.printStackTrace();
        }
        return PageEnvelop.getError("查询失败");
    }
    @GetMapping("orderInfo")
    @ApiOperation(value = "订单详情")
    public ObjEnvelop orderInfo(
            @ApiParam(name = "type", value = "订单类型") @RequestParam(value = "type", required = true) String type,
            @ApiParam(name = "id", value = "订单id") @RequestParam(value = "id", required = true) String id) {
        try {
            JSONObject json = courseService.orderInfo(id,type);
            return ObjEnvelop.getSuccess("获取成功",json);
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError( "获取失败!" ,-1);
        }
    }
    @PostMapping("cancalOrder")
    @ApiOperation(value = "取消订单")
    public Envelop cancalOrder(
            @ApiParam(name = "type", value = "订单类型") @RequestParam(value = "type", required = true) String type,
            @ApiParam(name = "id", value = "订单id") @RequestParam(value = "id", required = true) String id) {
        try {
            String res = courseService.cancalOrder(id,type);
            if(res == null){
                return success("取消成功");
            }
            return Envelop.getError(res, -1);
        } catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError( "获取失败!" ,-1);
        }
    }
}

+ 212 - 55
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/course/CourseService.java

@ -1,22 +1,33 @@
package com.yihu.jw.care.service.course;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.dao.course.CourseCatalogueDao;
import com.yihu.jw.care.dao.course.CourseDao;
import com.yihu.jw.care.dao.course.CourseSalesOrderRecordDao;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.care.dao.course.*;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.care.course.CourseDO;
import com.yihu.jw.entity.care.course.CourseSalesOrderRecordDO;
import com.yihu.jw.entity.care.course.PatientOrderRefundDO;
import com.yihu.jw.entity.care.course.RecruitStudentsRecordDO;
import com.yihu.jw.entity.order.BusinessOrderDO;
import com.yihu.jw.order.dao.BusinessOrderDao;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.restmodel.ResponseContant;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.utils.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static com.yihu.jw.rm.iot.IotRequestMapping.Common.hospital;
/**
 * Created with IntelliJ IDEA.
 *
@ -39,9 +50,107 @@ public class CourseService {
    private BaseDoctorDao doctorDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private RecruitStudentsRecordDao recruitStudentsRecordDao;
    @Autowired
    private BusinessOrderDao businessOrderDao;
    @Autowired
    private PatientOrderRefundDao patientOrderRefundDao;
    @Autowired
    private ObjectMapper objectMapper;
    @Autowired
    private BaseDoctorHospitalDao baseDoctorHospitalDao;
    public String getOrderNo(String type){
        return type + System.currentTimeMillis()+(int)(Math.random() * 900)+100 +"";
    }
    /**
     * 取消订单
     * @param id
     * @param type
     * @return
     */
    public String cancalOrder(String id,String type){
        if("1".equals(type)){
            //招生
            RecruitStudentsRecordDO recordDO = recruitStudentsRecordDao.findOne(id);
            if(!"2".equals(recordDO.getStatus())){
                return "只有待支付的订单才能取消";
            }
            recordDO.setStatus("7");
            recruitStudentsRecordDao.save(recordDO);
        }else  if("2".equals(type)){
            //课程
            CourseSalesOrderRecordDO recordDO = courseSalesOrderRecordDao.findOne(id);
            if(!"2".equals(recordDO.getStatus())){
                return "只有待支付的订单才能取消";
            }
            recordDO.setStatus("7");
            courseSalesOrderRecordDao.save(recordDO);
        }
        return null;
    }
    /**
     * 订单详情接口
     * @param id
     * @param type
     */
    public JSONObject orderInfo(String id,String type){
        JSONObject resJson = new JSONObject();
        resJson.put("type",type);
        resJson.put("id",id);
        String status = "";
        if("1".equals(type)){
            //招生
            RecruitStudentsRecordDO recordDO = recruitStudentsRecordDao.findOne(id);
            status = recordDO.getStatus();
            resJson.put("title",recordDO.getRecruitName());
            resJson.put("status",recordDO.getStatus());
            resJson.put("price",recordDO.getPrice());
            resJson.put("orderNo",recordDO.getOrderNo());
        }else  if("2".equals(type)){
            //课程
            CourseSalesOrderRecordDO recordDO = courseSalesOrderRecordDao.findOne(id);
            status = recordDO.getStatus();
            resJson.put("title",recordDO.getCourseName());
            resJson.put("status",recordDO.getStatus());
            resJson.put("price",recordDO.getPrice());
            resJson.put("orderNo",recordDO.getOrderNo());
        }
        boolean flag = "3".equals(status)||"5".equals(status)||"6".equals(status);
        if(flag){
            //支付信息
            BusinessOrderDO businessOrderDO = businessOrderDao.selectByRelationCode(id);
            if(businessOrderDO!=null){
                JSONObject json = new JSONObject();
                json.put("payPrice",businessOrderDO.getPayPrice());
                json.put("payTime",DateUtil.dateToStrLong(businessOrderDO.getPayTime()));
                json.put("payType",businessOrderDO.getPayType());
                resJson.put("businessOrderDO",json);
            }
        }
        if("5".equals(status)||"6".equals(status)){
            //退款信息
            PatientOrderRefundDO refundDO = patientOrderRefundDao.findByTypeAndOrderId(type,id);
            if(refundDO!=null){
                JSONObject json = new JSONObject();
                json.put("createTime", DateUtil.dateToStrLong(refundDO.getCreateTime()));
                json.put("refundPrice",refundDO.getRefundPrice());
                json.put("status",refundDO.getStatus());
                json.put("refundDesc",refundDO.getRefundDesc());
                json.put("enclosure",refundDO.getEnclosure());
                resJson.put("refundDO",json);
            }
        }
        return resJson;
    }
    /**
     * 顶部状态栏订单各分类总条数
     * 待审核 1     待支付 2     已支付 3     审核未通过 4     已退款 5     退款中 6     已取消 7
     * @param patient
     * @return
     */
@ -55,12 +164,14 @@ public class CourseService {
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
        Map<String, Integer> map = new HashMap<>();
        //状态 待服务 1、已完成 2 、已取消 -1
        //状态 待审核 1     待支付 2     已支付 3     审核未通过 4     已退款 5     退款中 6     已取消 7
        map.put("1",0);
        map.put("2",0);
        map.put("3",0);
        map.put("4",0);
        map.put("5",0);
        map.put("6",0);
        map.put("7",0);
        int total = 0;
        if(list.size()>0){
            for (Map<String, Object> one:list){
@ -69,79 +180,125 @@ public class CourseService {
            }
        }
        map.put("total", total);
        return map;
    }
    /**
     * 新增课程
     * @param doctorId
     * @param jsonData
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
    public JSONObject addCourse(String doctorId,String jsonData){
        JSONObject result = new JSONObject();
        JSONObject json = JSON.parseObject(jsonData);
        BaseDoctorDO doctorDO = doctorDao.findById(doctorId);
        List<BaseDoctorHospitalDO> baseDoctorHospitalDO = baseDoctorHospitalDao.findByDoctorCode(doctorId);
        CourseDO courseDO = null;
        try{
            courseDO = objectMapper.readValue(json.getJSONObject("course").toString(), CourseDO.class);
        }catch (Exception e){
            e.printStackTrace();
            result.put(ResponseContant.resultFlag, ResponseContant.fail);
            result.put(ResponseContant.resultMsg, "传参有误");
        }
    public JSONObject patientOrderList(String patient, Integer status, int page, int size) {
        courseDO.setStatus("1");
        courseDO.setDel(1);
        courseDO.setDoctor(doctorId);
        courseDO.setDoctorName(doctorDO.getName());
        courseDO.setOrgCode(baseDoctorHospitalDO.get(0).getOrgCode());
        courseDO.setOrgName(baseDoctorHospitalDO.get(0).getOrgName());
        if("1".equals(courseDO.getType())){
            //直播课程
            courseDO.setLiveStatus("1");
        }
        result.put(ResponseContant.resultFlag, ResponseContant.success);
        return result;
    }
    /**
     * 教师我的课程
     * @param doctor
     * @param page
     * @param size
     * @return
     */
    public JSONObject myCourseList(String doctor,String type, int page, int size) {
        JSONObject result = new JSONObject();
        int start = 0 == page ? page++ : (page - 1) * size;
        int end = 0 == size ? 15 : size;
        StringBuffer buffer = new StringBuffer();
        String sql = "SELECT " +
                "  p.name AS patientName, " +
                "  p.photo AS photo, " +
                "  p.idcard," +
                "  case p.sex  " +
                "  when 1 then '男'  " +
                "  when 2 then '女' " +
                "  end AS sex, " +
                "  TIMESTAMPDIFF(year,p.birthday,NOW()) AS age," +
                "  o.id as orderId, " +
                "  o.patient_phone as phone, " +
                "  o.proxy_patient as proxyPatient, " +
                "  o.patient as patient, " +
                "  o.number as number, " +
                "  o.patient_expected_serve_time as serveTime, o.doctor, o.doctor_name as doctorName, " +
                "  o.serve_address as address, " +
                "  o.type as type, " +
                "  o.serve_lon as lon, " +
                "  o.serve_lat as lat, " +
                "  o.`status` as status " +
                " FROM " +
                " ( base_life_care_order o " +
                " LEFT JOIN base_patient p ON o.patient = p.id ) "+
                " WHERE " +
                "  o.hospital = '{hospital}' and o.type != 3 " +buffer+
                " AND ( o.`status` = {status} OR -100 = {status} ) " +
                " ORDER BY o.create_time desc " +
        int end = 0 == size ? 3 : size;
        String filter = " where a.doctor = '"+doctor+"' ";
        if(!StringUtil.isBlank(type)){
            filter += " and a.type = '"+type+"' ";
        }
        String sql = "SELECT * from base_course a " +filter +
                " ORDER BY a.create_time desc " +
                " LIMIT {start},{end};";
        String finalSql = sql.replace("{status}", String.valueOf(status))
                .replace("{start}", String.valueOf(start))
        String finalSql = sql.replace("{start}", String.valueOf(start))
                .replace("{end}", String.valueOf(end));
        String countSql = "SELECT  " +
                "   count(o.id)  " +
                " FROM  " +
                "   base_life_care_order o  " +
                " LEFT JOIN base_patient p ON o.patient = p.id " +
                " WHERE  " +
                "  o.hospital = '{hospital}' " +buffer+
                " AND (o.`status` = {status} or -100 = {status})";
        String countSql = "SELECT count(a.id) FROM base_course a " +filter ;
        List<CourseDO> sqlResultlist = jdbcTemplate.query(finalSql,new BeanPropertyRowMapper<>(CourseDO.class));
        Long count = jdbcTemplate.queryForObject(countSql, Long.class);
        String finqlCountSql = countSql.replace("{hospital}", hospital)
                .replace("{status}", String.valueOf(status));
        result.put(ResponseContant.resultFlag, ResponseContant.success);
        result.put(ResponseContant.resultMsg, sqlResultlist);
        JSONObject countItem = new JSONObject();
        countItem.put("count", count);
        result.putAll(countItem);
        return result;
    }
    /**
     * 居民我的订单列表
     * @param patient
     * @param status
     * @param page
     * @param size
     * @return
     */
    public JSONObject patientOrderList(String patient, String status, int page, int size) {
        JSONObject result = new JSONObject();
        int start = 0 == page ? page++ : (page - 1) * size;
        int end = 0 == size ? 15 : size;
        String filter = " where patient = '"+patient+"' ";
        if(!StringUtil.isEmpty(status)){
            filter += " and status = "+ status +" ";
        }
        String sqlUnion = " SELECT id,`status`,recruit_name title,pay_type payType,price,1 type,DATE_FORMAT(create_time,'%Y-%m-%d %H:%i:%s') createTime " +
                " from base_recruit_students_record " + filter+
                " UNION ALL " +
                " SELECT id,`status`,course_name title,pay_type payType,price,2 type,DATE_FORMAT(create_time,'%Y-%m-%d %H:%i:%s') createTime  " +
                " from base_course_sales_order_record " + filter+" ";
        String sql = "SELECT * from ( " + sqlUnion + " ) a " +
                " ORDER BY a.createTime desc " +
                " LIMIT {start},{end};";
        String finalSql = sql.replace("{start}", String.valueOf(start))
                .replace("{end}", String.valueOf(end));
        String countSql = "SELECT  count(a.id)  FROM  ( " + sqlUnion + " ) a " ;
        List<Map<String,Object>> sqlResultlist;
        try {
            sqlResultlist = jdbcTemplate.queryForList(finalSql);
        } catch (Exception e) {
            result.put(ResponseContant.resultFlag, ResponseContant.fail);
            result.put(ResponseContant.resultMsg, "从数据库查询生活照料工单列表信息失败");
            result.put(ResponseContant.resultMsg, "从数据库查询工单列表信息失败");
            return result;
        }
        Long count;
        try {
            count = jdbcTemplate.queryForObject(finqlCountSql, Long.class);
            count = jdbcTemplate.queryForObject(countSql, Long.class);
        } catch (Exception e) {
            result.put(ResponseContant.resultFlag, ResponseContant.fail);
            result.put(ResponseContant.resultMsg, "从数据库统计生活照料工单数量失败" );
            result.put(ResponseContant.resultMsg, "从数据库统计工单数量失败" );
            return result;
        }

+ 0 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/doctor/CareDoctorService.java

@ -1,7 +1,6 @@
package com.yihu.jw.care.service.doctor;
import com.alibaba.fastjson.JSONObject;
import com.sun.xml.internal.rngom.parse.host.Base;
import com.yihu.jw.care.service.role.RoleService;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;