Browse Source

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

# Conflicts:
#	common/common-entity/sql记录
yeshijie 3 years ago
parent
commit
bee90ea00f
17 changed files with 786 additions and 19 deletions
  1. 21 0
      common/common-entity/sql记录
  2. 129 0
      common/common-entity/src/main/java/com/yihu/jw/entity/care/course/CourseSalesOrderRecordDO.java
  3. 33 6
      common/common-entity/src/main/java/com/yihu/jw/entity/care/course/PatientOrderRefundDO.java
  4. 17 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/course/CourseSalesOrderRecordDao.java
  5. 21 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/course/PatientOrderRefundDao.java
  6. 3 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/course/RecruitStudentsRecordDao.java
  7. 1 1
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/CourseCatalogueEndpoint.java
  8. 6 1
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/CourseEndpoint.java
  9. 116 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/CourseSalesOrderRecordEndpoint.java
  10. 1 1
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/CustomerServiceEndpoint.java
  11. 117 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/PatientOrderRefundEndpoint.java
  12. 12 1
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/RecruitStudentsEndpoint.java
  13. 52 1
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/RecruitStudentsRecordEndpoint.java
  14. 7 8
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/BusinessSysDictEndpoint.java
  15. 49 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/course/CourseSalesOrderRecordService.java
  16. 67 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/course/PatientOrderRefundService.java
  17. 134 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/course/RecruitStudentsRecordService.java

+ 21 - 0
common/common-entity/sql记录

@ -549,6 +549,7 @@ CREATE TABLE `base_patient_order_refund` (
  `buy_time` datetime DEFAULT NULL COMMENT '购买时间',
  `enclosure` varchar(3000) DEFAULT NULL COMMENT '附件',
  `bussiness_order_refund_id` int(11) DEFAULT NULL COMMENT '退款表id',
  `order_id` varchar(50) DEFAULT NULL COMMENT '订单id',
  `type` varchar(1) DEFAULT NULL COMMENT '类型 1招生报名,2课程',
  `org_code` varchar(50) DEFAULT NULL,
  `org_name` varchar(50) DEFAULT NULL COMMENT '课程名称/招生标题',
@ -843,3 +844,23 @@ CREATE TABLE `base_door_coach_cancel_log` (
  `time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '取消时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='上门辅导工单取消记录';
-- 2021-05-17 ysj
DROP TABLE IF EXISTS `base_course_sales_order_record`;
CREATE TABLE `base_course_sales_order_record` (
  `id` varchar(50) NOT NULL,
  `patient` varchar(50) DEFAULT NULL,
  `patient_name` varchar(5) DEFAULT NULL,
  `org_code` varchar(50) DEFAULT NULL,
  `org_name` varchar(50) DEFAULT NULL,
  `course_id` varchar(50) DEFAULT NULL COMMENT '课程id',
  `course_name` varchar(100) DEFAULT NULL COMMENT '课程名称',
  `buy_time` datetime DEFAULT NULL COMMENT '购买时间',
  `status` varchar(1) DEFAULT NULL COMMENT '状态',
  `price` decimal(10,2) DEFAULT NULL,
  `create_time` datetime DEFAULT NULL,
  `update_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='课程销售订单记录表';

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

@ -0,0 +1,129 @@
package com.yihu.jw.entity.care.course;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.UuidIdentityEntityWithTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
/**
 * Created with IntelliJ IDEA.
 *
 * @Author: yeshijie
 * @Date: 2021/5/17
 * @Description: 课程销售订单记录表
 */
@Entity
@Table(name="base_course_sales_order_record")
public class CourseSalesOrderRecordDO extends UuidIdentityEntityWithTime{
    private String patient;
    private String patientName;
    private String orgCode;
    private String orgName;
    /**
     * '课程id'
     */
    private String courseId;
    /**
     * '课程名称'
     */
    private String courseName;
    /**
     * '购买时间'
     */
    private Date buyTime;
    /**
     * '状态'
     */
    private String status;
    /**
     * 支付价格
     */
    private BigDecimal price;
    @Column(name = "patient")
    public String getPatient() {
        return patient;
    }
    public void setPatient(String patient) {
        this.patient = patient;
    }
    @Column(name = "patient_name")
    public String getPatientName() {
        return patientName;
    }
    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }
    @Column(name = "org_code")
    public String getOrgCode() {
        return orgCode;
    }
    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }
    @Column(name = "org_name")
    public String getOrgName() {
        return orgName;
    }
    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }
    @Column(name = "course_id")
    public String getCourseId() {
        return courseId;
    }
    public void setCourseId(String courseId) {
        this.courseId = courseId;
    }
    @Column(name = "course_name")
    public String getCourseName() {
        return courseName;
    }
    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }
    @Column(name = "buy_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getBuyTime() {
        return buyTime;
    }
    public void setBuyTime(Date buyTime) {
        this.buyTime = buyTime;
    }
    @Column(name = "status")
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    @Column(name = "price")
    public BigDecimal getPrice() {
        return price;
    }
    public void setPrice(BigDecimal price) {
        this.price = price;
    }
}

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

@ -6,6 +6,7 @@ import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -30,11 +31,11 @@ public class PatientOrderRefundDO extends UuidIdentityEntity{
    /**
     * 订单金额
     */
    private String orderPrice;
    private BigDecimal orderPrice;
    /**
     *'退款金额'
     */
    private String refundPrice;
    private BigDecimal refundPrice;
    /**
     *'退款原因'
     */
@ -64,6 +65,14 @@ public class PatientOrderRefundDO extends UuidIdentityEntity{
     * '退款表id'
     */
    private String bussinessOrderRefundId;
    /**
     * 类型 1招生报名,2课程
     */
    private String type;
    /**
     * 订单id
     */
    private String orderId;
    /**
     * 机构代码
     */
@ -100,20 +109,20 @@ public class PatientOrderRefundDO extends UuidIdentityEntity{
    }
    @Column(name = "order_price")
    public String getOrderPrice() {
    public BigDecimal getOrderPrice() {
        return orderPrice;
    }
    public void setOrderPrice(String orderPrice) {
    public void setOrderPrice(BigDecimal orderPrice) {
        this.orderPrice = orderPrice;
    }
    @Column(name = "refund_price")
    public String getRefundPrice() {
    public BigDecimal getRefundPrice() {
        return refundPrice;
    }
    public void setRefundPrice(String refundPrice) {
    public void setRefundPrice(BigDecimal refundPrice) {
        this.refundPrice = refundPrice;
    }
@ -218,4 +227,22 @@ public class PatientOrderRefundDO extends UuidIdentityEntity{
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }
    @Column(name = "order_id")
    public String getOrderId() {
        return orderId;
    }
    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }
    @Column(name = "type")
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
}

+ 17 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/course/CourseSalesOrderRecordDao.java

@ -0,0 +1,17 @@
package com.yihu.jw.base.dao.course;
import com.yihu.jw.entity.care.course.CourseSalesOrderRecordDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created with IntelliJ IDEA.
 *
 * @Author: yeshijie
 * @Date: 2021/5/17
 * @Description:
 */
public interface CourseSalesOrderRecordDao extends PagingAndSortingRepository<CourseSalesOrderRecordDO, String>
        , JpaSpecificationExecutor<CourseSalesOrderRecordDO> {
}

+ 21 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/course/PatientOrderRefundDao.java

@ -0,0 +1,21 @@
package com.yihu.jw.base.dao.course;
import com.yihu.jw.entity.care.course.PatientOrderRefundDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created with IntelliJ IDEA.
 *
 * @Author: yeshijie
 * @Date: 2021/5/17
 * @Description:
 */
public interface PatientOrderRefundDao extends PagingAndSortingRepository<PatientOrderRefundDO, String>
        , JpaSpecificationExecutor<PatientOrderRefundDO> {
    PatientOrderRefundDO findByTypeAndOrderId(String type,String orderId);
}

+ 3 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/course/RecruitStudentsRecordDao.java

@ -4,6 +4,8 @@ import com.yihu.jw.entity.care.course.RecruitStudentsRecordDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created with IntelliJ IDEA.
 *
@ -14,4 +16,5 @@ import org.springframework.data.repository.PagingAndSortingRepository;
public interface RecruitStudentsRecordDao extends PagingAndSortingRepository<RecruitStudentsRecordDO, String>,
        JpaSpecificationExecutor<RecruitStudentsRecordDO> {
    List<RecruitStudentsRecordDO> findByRecruitStudentsIdAndStatus(String recruitStudentsId,String status);
}

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

@ -26,7 +26,7 @@ import java.util.List;
 */
@RestController
@RequestMapping(value = "courseCatalogue", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@Api(value = "课程目录管理", description = "课程目录管理服务接口", tags = {"基础服务 - 课程目录管理服务接口"})
@Api(value = "课程目录管理", description = "课程目录管理服务接口", tags = {"care基础服务 - 课程目录管理服务接口"})
public class CourseCatalogueEndpoint extends EnvelopRestEndpoint {
    @Autowired

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

@ -27,7 +27,7 @@ import java.util.List;
 */
@RestController
@RequestMapping(value = "course", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@Api(value = "课程管理", description = "课程管理服务接口", tags = {"基础服务 - 课程管理服务接口"})
@Api(value = "课程管理", description = "课程管理服务接口", tags = {"care基础服务 - 课程管理服务接口"})
public class CourseEndpoint extends EnvelopRestEndpoint {
@ -105,6 +105,11 @@ public class CourseEndpoint extends EnvelopRestEndpoint {
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
        if(StringUtil.isBlank(filters)){
            filters = "del=1";
        }else{
            filters += ";del=1";
        }
        List<CourseDO> courseDOs = courseService.search(fields, filters, sorts);
        return success(courseDOs, CourseDO.class);
    }

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

@ -0,0 +1,116 @@
package com.yihu.jw.base.endpoint.course;
import com.yihu.jw.base.service.course.CourseSalesOrderRecordService;
import com.yihu.jw.entity.care.course.CourseSalesOrderRecordDO;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
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.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * Created with IntelliJ IDEA.
 *
 * @Author: yeshijie
 * @Date: 2021/5/17
 * @Description:
 */
@RestController
@RequestMapping(value = "courseSalesOrderRecord", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@Api(value = "课程销售记录管理", description = "课程销售记录管理服务接口", tags = {"care基础服务 - 课程销售记录管理服务接口"})
public class CourseSalesOrderRecordEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private CourseSalesOrderRecordService courseSalesOrderRecordService;
    @Autowired
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    @PostMapping(value = "create")
    @ApiOperation(value = "创建")
    public ObjEnvelop<CourseSalesOrderRecordDO> create (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        CourseSalesOrderRecordDO courseSalesOrderRecordDO = toEntity(jsonData, CourseSalesOrderRecordDO.class);
        courseSalesOrderRecordDO = courseSalesOrderRecordService.save(courseSalesOrderRecordDO);
        return success(courseSalesOrderRecordDO);
    }
    @PostMapping(value = "delete")
    @ApiOperation(value = "删除")
    public Envelop delete(
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
            @RequestParam(value = "ids") String ids) {
        courseSalesOrderRecordService.delete(ids.split(","));
        return success("删除成功");
    }
    @PostMapping(value = "update")
    @ApiOperation(value = "更新")
    public ObjEnvelop<CourseSalesOrderRecordDO> update (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        CourseSalesOrderRecordDO courseSalesOrderRecordDO = toEntity(jsonData, CourseSalesOrderRecordDO.class);
        if (null == courseSalesOrderRecordDO.getId()) {
            return failed("ID不能为空", ObjEnvelop.class);
        }
        courseSalesOrderRecordDO = courseSalesOrderRecordService.save(courseSalesOrderRecordDO);
        return success(courseSalesOrderRecordDO);
    }
    @GetMapping(value = "page")
    @ApiOperation(value = "获取分页")
    public PageEnvelop<CourseSalesOrderRecordDO> page (
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts,
            @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) throws Exception {
        List<CourseSalesOrderRecordDO> courseSalesOrderRecordDOs = courseSalesOrderRecordService.search(fields, filters, sorts, page, size);
        int count = (int)courseSalesOrderRecordService.getCount(filters);
        return success(courseSalesOrderRecordDOs, count, page, size, CourseSalesOrderRecordDO.class);
    }
    @GetMapping(value = "list")
    @ApiOperation(value = "获取列表")
    public ListEnvelop<CourseSalesOrderRecordDO> list (
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
        List<CourseSalesOrderRecordDO> courseSalesOrderRecordDOs = courseSalesOrderRecordService.search(fields, filters, sorts);
        return success(courseSalesOrderRecordDOs, CourseSalesOrderRecordDO.class);
    }
    @PostMapping(value = "refund")
    @ApiOperation(value = "退费")
    public Envelop refund(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id") String id) {
        try{
            courseSalesOrderRecordService.refund(id);
            return success("退费成功");
        }catch (Exception e){
            e.printStackTrace();
            return Envelop.getError("退费失败",-1);
        }
    }
}

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

@ -27,7 +27,7 @@ import java.util.List;
 */
@RestController
@RequestMapping(value = "customerService", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@Api(value = "客服管理", description = "客服管理服务接口", tags = {"基础服务 - 客服管理服务接口"})
@Api(value = "客服管理", description = "客服管理服务接口", tags = {"care基础服务 - 客服管理服务接口"})
public class CustomerServiceEndpoint extends EnvelopRestEndpoint {
    @Autowired

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

@ -0,0 +1,117 @@
package com.yihu.jw.base.endpoint.course;
import com.yihu.jw.base.service.course.PatientOrderRefundService;
import com.yihu.jw.entity.care.course.PatientOrderRefundDO;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
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.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * Created with IntelliJ IDEA.
 *
 * @Author: yeshijie
 * @Date: 2021/5/17
 * @Description:
 */
@RestController
@RequestMapping(value = "patientOrderRefund", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@Api(value = "居民售后管理", description = "居民售后管理服务接口", tags = {"care基础服务 - 居民售后管理服务接口"})
public class PatientOrderRefundEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private PatientOrderRefundService patientOrderRefundService;
    @Autowired
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    @PostMapping(value = "create")
    @ApiOperation(value = "创建")
    public ObjEnvelop<PatientOrderRefundDO> create (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        PatientOrderRefundDO patientOrderRefundDO = toEntity(jsonData, PatientOrderRefundDO.class);
        patientOrderRefundDO = patientOrderRefundService.save(patientOrderRefundDO);
        return success(patientOrderRefundDO);
    }
    @PostMapping(value = "delete")
    @ApiOperation(value = "删除")
    public Envelop delete(
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
            @RequestParam(value = "ids") String ids) {
        patientOrderRefundService.delete(ids.split(","));
        return success("删除成功");
    }
    @PostMapping(value = "update")
    @ApiOperation(value = "更新")
    public ObjEnvelop<PatientOrderRefundDO> update (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        PatientOrderRefundDO patientOrderRefundDO = toEntity(jsonData, PatientOrderRefundDO.class);
        if (null == patientOrderRefundDO.getId()) {
            return failed("ID不能为空", ObjEnvelop.class);
        }
        patientOrderRefundDO = patientOrderRefundService.save(patientOrderRefundDO);
        return success(patientOrderRefundDO);
    }
    @GetMapping(value = "page")
    @ApiOperation(value = "获取分页")
    public PageEnvelop<PatientOrderRefundDO> page (
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts,
            @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) throws Exception {
        List<PatientOrderRefundDO> patientOrderRefundDOs = patientOrderRefundService.search(fields, filters, sorts, page, size);
        int count = (int)patientOrderRefundService.getCount(filters);
        return success(patientOrderRefundDOs, count, page, size, PatientOrderRefundDO.class);
    }
    @GetMapping(value = "list")
    @ApiOperation(value = "获取列表")
    public ListEnvelop<PatientOrderRefundDO> list (
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
        List<PatientOrderRefundDO> patientOrderRefundDOs = patientOrderRefundService.search(fields, filters, sorts);
        return success(patientOrderRefundDOs, PatientOrderRefundDO.class);
    }
    @PostMapping(value = "refund")
    @ApiOperation(value = "退费")
    public Envelop refund(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id") String id) {
        try{
            patientOrderRefundService.refund(id);
            return success("退费成功");
        }catch (Exception e){
            e.printStackTrace();
            return Envelop.getError("退费失败",-1);
        }
    }
}

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

@ -8,6 +8,7 @@ import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.utils.StringUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -26,7 +27,7 @@ import java.util.List;
 */
@RestController
@RequestMapping(value = "recruitStudents", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@Api(value = "招生管理", description = "招生管理服务接口", tags = {"基础服务 - 招生管理服务接口"})
@Api(value = "招生管理", description = "招生管理服务接口", tags = {"care基础服务 - 招生管理服务接口"})
public class RecruitStudentsEndpoint extends EnvelopRestEndpoint {
    @Autowired
@ -80,6 +81,11 @@ public class RecruitStudentsEndpoint extends EnvelopRestEndpoint {
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
        if(StringUtil.isBlank(filters)){
            filters = "del=1";
        }else{
            filters += ";del=1";
        }
        List<RecruitStudentsDO> recruitStudentsDOs = recruitStudentsService.search(fields, filters, sorts, page, size);
        int count = (int)recruitStudentsService.getCount(filters);
        return success(recruitStudentsDOs, count, page, size, RecruitStudentsDO.class);
@ -94,6 +100,11 @@ public class RecruitStudentsEndpoint extends EnvelopRestEndpoint {
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
        if(StringUtil.isBlank(filters)){
            filters = "del=1";
        }else{
            filters += ";del=1";
        }
        List<RecruitStudentsDO> recruitStudentsDOs = recruitStudentsService.search(fields, filters, sorts);
        return success(recruitStudentsDOs, RecruitStudentsDO.class);
    }

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

@ -26,7 +26,7 @@ import java.util.List;
 */
@RestController
@RequestMapping(value = "recruitStudentsRecord", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@Api(value = "报名人员管理", description = "报名人员管理服务接口", tags = {"基础服务 - 报名人员管理服务接口"})
@Api(value = "报名人员管理", description = "报名人员管理服务接口", tags = {"care基础服务 - 报名人员管理服务接口"})
public class RecruitStudentsRecordEndpoint extends EnvelopRestEndpoint {
    @Autowired
@ -97,4 +97,55 @@ public class RecruitStudentsRecordEndpoint extends EnvelopRestEndpoint {
        return success(recordDOs, RecruitStudentsRecordDO.class);
    }
    @PostMapping(value = "refund")
    @ApiOperation(value = "退费")
    public Envelop refund(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id") String id) {
        try{
            recruitStudentsRecordService.refund(id);
            return success("退费成功");
        }catch (Exception e){
            e.printStackTrace();
            return Envelop.getError("退费失败",-1);
        }
    }
    @PostMapping(value = "admissions")
    @ApiOperation(value = "录取")
    public Envelop admissions(
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
            @RequestParam(value = "ids") String ids,
            @ApiParam(name = "recruitStudentsId", value = "招生记录id", required = true)
            @RequestParam(value = "recruitStudentsId") String recruitStudentsId) {
        try{
            String re =  recruitStudentsRecordService.admissions(ids,recruitStudentsId);
            if(re == null){
                return success("录取成功");
            }else {
                return Envelop.getError(re,-1);
            }
        }catch (Exception e){
            e.printStackTrace();
            return Envelop.getError("录取失败",-1);
        }
    }
    @PostMapping(value = "refuses")
    @ApiOperation(value = "批量拒绝")
    public Envelop refuses(
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
            @RequestParam(value = "ids") String ids) {
        try{
            recruitStudentsRecordService.refuses(ids);
            return success("拒绝成功");
        }catch (Exception e){
            e.printStackTrace();
            return Envelop.getError("拒绝失败",-1);
        }
    }
}

+ 7 - 8
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/BusinessSysDictEndpoint.java

@ -4,7 +4,6 @@ import com.yihu.jw.base.service.dict.BusinessSysDictService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -23,14 +22,14 @@ import org.springframework.web.bind.annotation.RestController;
 */
@RestController
@RequestMapping(value = "businessSysDict")
@Api(value = "托育业务字典管理", description = "托育业务字典管理", tags = {"基础服务 - 托育业务字典管理"})
@Api(value = "托育业务字典管理", description = "托育业务字典管理", tags = {"care基础服务 - 托育业务字典管理"})
public class BusinessSysDictEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private BusinessSysDictService businessSysDictService;
    @ApiOperation("查询字典")
    @GetMapping(value= BaseHospitalRequestMapping.PatientNoLogin.findDict)
    @GetMapping(value= "findDict")
    public MixEnvelop findDict(@ApiParam(name = "name", value = "name", required = false)
                               @RequestParam(value = "name", required = false)String name,
                               @ApiParam(name = "modelName", value = "modelName", required = false)
@ -48,7 +47,7 @@ public class BusinessSysDictEndpoint extends EnvelopRestEndpoint {
    }
    @ApiOperation("新增/修改字典")
    @GetMapping(value= BaseHospitalRequestMapping.PatientNoLogin.createOrUpdateDict)
    @GetMapping(value= "createOrUpdateDict")
    public Envelop createOrUpdateDict(@ApiParam(name = "json", value = "id", required = true)
                                      @RequestParam(value = "json", required = true)String json) throws Exception{
@ -56,7 +55,7 @@ public class BusinessSysDictEndpoint extends EnvelopRestEndpoint {
    }
    @ApiOperation("删除字典")
    @GetMapping(value= BaseHospitalRequestMapping.PatientNoLogin.delDict)
    @GetMapping(value= "delDict")
    public Envelop delDict(@ApiParam(name = "id", value = "id", required = true)
                           @RequestParam(value = "id", required = true)String id){
@ -64,7 +63,7 @@ public class BusinessSysDictEndpoint extends EnvelopRestEndpoint {
    }
    @ApiOperation("查字典模块")
    @GetMapping(value= BaseHospitalRequestMapping.PatientNoLogin.findModelDict)
    @GetMapping(value= "findModelDict")
    public MixEnvelop findModelDict(@ApiParam(name = "modelName", value = "modelName", required = false)
                                    @RequestParam(value = "modelName", required = false)String modelName,
                                    @ApiParam(name = "dictName", value = "dictName", required = false)
@ -78,7 +77,7 @@ public class BusinessSysDictEndpoint extends EnvelopRestEndpoint {
    }
    @ApiOperation("批量修改字典")
    @GetMapping(value= BaseHospitalRequestMapping.PatientNoLogin.updateDictGroup)
    @GetMapping(value= "updateDictGroup")
    public Envelop updateDictGroup(@ApiParam(name = "json", value = "", required = true)
                                   @RequestParam(value = "json", required = true)String json) {
@ -91,7 +90,7 @@ public class BusinessSysDictEndpoint extends EnvelopRestEndpoint {
    }
    @ApiOperation("批量删除字典")
    @GetMapping(value= BaseHospitalRequestMapping.PatientNoLogin.delDictGroup)
    @GetMapping(value= "delDictGroup")
    public Envelop delDictGroup(@ApiParam(name = "preDictName", value = "", required = true)
                                @RequestParam(value = "preDictName", required = true)String preDictName) throws Exception{

+ 49 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/course/CourseSalesOrderRecordService.java

@ -0,0 +1,49 @@
package com.yihu.jw.base.service.course;
import com.yihu.jw.base.dao.course.CourseSalesOrderRecordDao;
import com.yihu.jw.base.dao.course.PatientOrderRefundDao;
import com.yihu.jw.entity.care.course.CourseSalesOrderRecordDO;
import com.yihu.jw.entity.care.course.PatientOrderRefundDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
 * Created with IntelliJ IDEA.
 *
 * @Author: yeshijie
 * @Date: 2021/5/17
 * @Description:
 */
@Service
public class CourseSalesOrderRecordService extends BaseJpaService<CourseSalesOrderRecordDO, CourseSalesOrderRecordDao> {
    @Autowired
    private CourseSalesOrderRecordDao courseSalesOrderRecordDao;
    @Autowired
    private PatientOrderRefundDao patientOrderRefundDao;
    /**
     * 退费操作
     * @pa id
     */
    @Transactional(rollbackFor = Exception.class)
    public synchronized void refund(String id){
        CourseSalesOrderRecordDO courseSalesOrderRecordDO = courseSalesOrderRecordDao.findOne(id);
        PatientOrderRefundDO refundDO = patientOrderRefundDao.findByTypeAndOrderId("2",id);
        boolean flag = "3".equals(courseSalesOrderRecordDO.getStatus())&&
                (refundDO == null ||"1".equals(refundDO.getStatus()));
        if(flag){
            //待退费的状态才能操作
            refundDO.setStatus("2");
            patientOrderRefundDao.save(refundDO);
            courseSalesOrderRecordDO.setStatus("5");
            courseSalesOrderRecordDao.save(courseSalesOrderRecordDO);
            //微信退款操作
            //待开发
        }
    }
}

+ 67 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/course/PatientOrderRefundService.java

@ -0,0 +1,67 @@
package com.yihu.jw.base.service.course;
import com.yihu.jw.base.dao.course.CourseSalesOrderRecordDao;
import com.yihu.jw.base.dao.course.PatientOrderRefundDao;
import com.yihu.jw.base.dao.course.RecruitStudentsRecordDao;
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.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
 * Created with IntelliJ IDEA.
 *
 * @Author: yeshijie
 * @Date: 2021/5/17
 * @Description:
 */
@Service
public class PatientOrderRefundService extends BaseJpaService<PatientOrderRefundDO, PatientOrderRefundDao> {
    @Autowired
    private PatientOrderRefundDao patientOrderRefundDao;
    @Autowired
    private CourseSalesOrderRecordDao courseSalesOrderRecordDao;
    @Autowired
    private RecruitStudentsRecordDao recruitStudentsRecordDao;
    /**
     * 退费操作
     * @pa id
     */
    @Transactional(rollbackFor = Exception.class)
    public synchronized void refund(String id){
        PatientOrderRefundDO refundDO = patientOrderRefundDao.findOne(id);
        CourseSalesOrderRecordDO courseSalesOrderRecordDO = null;
        RecruitStudentsRecordDO recruitStudentsRecordDO = null;
        String orderType = refundDO.getType();
        String orderStatus = "";
        if("2".equals(orderType)){
            courseSalesOrderRecordDO = courseSalesOrderRecordDao.findOne(refundDO.getOrderId());
            orderStatus = courseSalesOrderRecordDO.getStatus();
        }else if("1".equals(orderType)){
            recruitStudentsRecordDO = recruitStudentsRecordDao.findOne(refundDO.getOrderId());
            orderStatus = recruitStudentsRecordDO.getStatus();
        }
        if("1".equals(refundDO.getStatus())&&"3".equals(orderStatus)){
            //待退费的状态才能操作
            refundDO.setStatus("2");
            patientOrderRefundDao.save(refundDO);
            if("2".equals(orderType)){
                courseSalesOrderRecordDO.setStatus("5");
                courseSalesOrderRecordDao.save(courseSalesOrderRecordDO);
            }else if("1".equals(orderType)){
                recruitStudentsRecordDO.setStatus("5");
                recruitStudentsRecordDao.save(recruitStudentsRecordDO);
            }
            //微信退款操作
            //待开发
        }
    }
}

+ 134 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/course/RecruitStudentsRecordService.java

@ -1,9 +1,18 @@
package com.yihu.jw.base.service.course;
import com.yihu.jw.base.dao.course.PatientOrderRefundDao;
import com.yihu.jw.base.dao.course.RecruitStudentsDao;
import com.yihu.jw.base.dao.course.RecruitStudentsRecordDao;
import com.yihu.jw.entity.care.course.PatientOrderRefundDO;
import com.yihu.jw.entity.care.course.RecruitStudentsDO;
import com.yihu.jw.entity.care.course.RecruitStudentsRecordDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
/**
 * Created with IntelliJ IDEA.
@ -14,4 +23,129 @@ import org.springframework.stereotype.Service;
 */
@Service
public class RecruitStudentsRecordService extends BaseJpaService<RecruitStudentsRecordDO, RecruitStudentsRecordDao> {
    @Autowired
    private PatientOrderRefundDao patientOrderRefundDao;
    @Autowired
    private RecruitStudentsRecordDao recruitStudentsRecordDao;
    @Autowired
    private RecruitStudentsDao recruitStudentsDao;
    /**
     * 退费操作
     * @pa id
     */
    @Transactional(rollbackFor = Exception.class)
    public synchronized void refund(String id){
        RecruitStudentsRecordDO recruitStudentsRecordDO = recruitStudentsRecordDao.findOne(id);
        PatientOrderRefundDO refundDO = patientOrderRefundDao.findByTypeAndOrderId("2",id);
        boolean flag = "3".equals(recruitStudentsRecordDO.getStatus())&&
                (refundDO == null ||"1".equals(refundDO.getStatus()));
        if(flag){
            recruitStudentsRecordDO.setStatus("5");
            recruitStudentsRecordDao.save(recruitStudentsRecordDO);
            //微信退款操作
            //待开发
        }
    }
    /**
     * 批量录取
     * @param ids
     * @param recruitStudentsId
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
    public synchronized String admissions(String ids,String recruitStudentsId){
        if(isAdmissionFull(recruitStudentsId)){
            return "超过录取名额,无法录取";
        }
        String idStr[] = ids.split(",");
        List<RecruitStudentsRecordDO> list = new ArrayList<>();
        String re = "";
        for(String id : idStr){
            RecruitStudentsRecordDO recruitStudentsRecordDO = recruitStudentsRecordDao.findOne(id);
            if("1".equals(recruitStudentsRecordDO.getStatus())){
                recruitStudentsRecordDO.setStatus("2");
                list.add(recruitStudentsRecordDO);
            }else{
                re += recruitStudentsRecordDO.getPatientName()+",";
            }
        }
        recruitStudentsRecordDao.save(list);
//        if(re.length()>0){
//            re = re.substring(0,re.length()-2);
//            return "("+ re +")人员状态不是待录取,无法录取,其他人员录取成功";
//        }
        return null;
    }
    /**
     * 批量拒绝
     * @param ids
     */
    public synchronized void refuses(String ids){
        String idStr[] = ids.split(",");
        List<RecruitStudentsRecordDO> list = new ArrayList<>();
        for(String id : idStr){
            RecruitStudentsRecordDO recruitStudentsRecordDO = recruitStudentsRecordDao.findOne(id);
            if("1".equals(recruitStudentsRecordDO.getStatus())){
                recruitStudentsRecordDO.setStatus("4");
                list.add(recruitStudentsRecordDO);
            }
        }
        recruitStudentsRecordDao.save(list);
    }
    /**
     * 是否录取满 true录取满了
     * @param id
     * @return
     */
    public synchronized boolean isAdmissionFull(String id){
        List<RecruitStudentsRecordDO> list = recruitStudentsRecordDao.findByRecruitStudentsIdAndStatus(id,"3");
        RecruitStudentsDO recruitStudentsDO = recruitStudentsDao.findOne(id);
        if(recruitStudentsDO.getNum()<=list.size()){
            return true;
        }
        return false;
    }
    /**
     * 录取单个
     * @param id
     * @return
     */
    public synchronized String admission(String id){
        RecruitStudentsRecordDO recruitStudentsRecordDO = recruitStudentsRecordDao.findOne(id);
        if("1".equals(recruitStudentsRecordDO.getStatus())){
            return "只有待审核状态的人员才能录取";
        }
        if(isAdmissionFull(recruitStudentsRecordDO.getRecruitStudentsId())){
            return "超过录取名额,无法录取";
        }
        recruitStudentsRecordDO.setStatus("2");
        recruitStudentsRecordDao.save(recruitStudentsRecordDO);
        return null;
    }
    /**
     * 拒绝单个
     * @param id
     */
    public synchronized String refuse(String id){
        RecruitStudentsRecordDO recruitStudentsRecordDO = recruitStudentsRecordDao.findOne(id);
        if("1".equals(recruitStudentsRecordDO.getStatus())){
            return "只有待审核状态的人员才能拒绝";
        }
        recruitStudentsRecordDO.setStatus("4");
        recruitStudentsRecordDao.save(recruitStudentsRecordDO);
        return null;
    }
}