Browse Source

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

# Conflicts:
#	common/common-entity/sql记录
yeshijie 4 years ago
parent
commit
e496b78941

+ 19 - 0
common/common-util/src/main/java/com/yihu/jw/util/idcard/IdCardUtil.java

@ -179,6 +179,25 @@ public class IdCardUtil {
        }
        return sex;
    }
    /**
     * 获取性别
     * @param sex
     * @param idcard
     * @return
     */
    public static String getSex(Integer sex,String idcard){
        if(sex != null){
            return String.valueOf(sex);
        }
        String res = level_sex_3;
        try{
            return getSexForIdcard_new(idcard);
        }catch (Exception e){
            e.printStackTrace();
        }
        return res;
    }
    
    /**
     * 根据身份证的号码算出当前身份证持有者的性别,返回性别文字

+ 3 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/service/course/RecruitStudentsRecordService.java

@ -8,6 +8,7 @@ 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.jdbc.core.BeanPropertyRowMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -106,7 +107,8 @@ public class RecruitStudentsRecordService extends BaseJpaService<RecruitStudents
     * @return
     */
    public synchronized boolean isAdmissionFull(String id){
        List<RecruitStudentsRecordDO> list = recruitStudentsRecordDao.findByRecruitStudentsIdAndStatus(id,"3");
        String sql = "select * from base_recruit_students_record where recruit_students_id = '"+id+"' and status in ('2','3','6') and del =1 ";
        List<RecruitStudentsRecordDO> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(RecruitStudentsRecordDO.class));
        RecruitStudentsDO recruitStudentsDO = recruitStudentsDao.findOne(id);
        if(recruitStudentsDO.getNum()<=list.size()){
            return true;

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

@ -236,6 +236,23 @@ public class PatientCourseEndpoint extends EnvelopRestEndpoint {
        }
    }
    @PostMapping("enrollment")
    @ApiOperation(value = "招生报名")
    public Envelop enrollment(@ApiParam(name = "patient", value = "居民id", defaultValue = "3ae2673512154d5280d1dcf5ffa5626d")
                              @RequestParam(value = "patient", required = true) String patient,
                              @ApiParam(name = "recruitStudentsId", value = "招生id", defaultValue = "1")
                              @RequestParam(value = "recruitStudentsId", required = true) String recruitStudentsId){
        try {
            JSONObject json = courseService.enrollment(patient,recruitStudentsId);
            if(json.getInteger(ResponseContant.resultFlag)==0){
                return failed(json.getString(ResponseContant.resultMsg),-1);
            }
            return success("报名成功",json.get("recordDO"));
        } catch (Exception e) {
            return failedException(e);
        }
    }
    //购买课程
    @PostMapping("buyCourseOrder")
    @ApiOperation(value = "在线报名-购买课程")

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

@ -9,12 +9,14 @@ 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.base.patient.BasePatientDO;
import com.yihu.jw.entity.care.course.*;
import com.yihu.jw.entity.order.BusinessOrderDO;
import com.yihu.jw.order.dao.BusinessOrderDao;
import com.yihu.jw.org.dao.BaseOrgDao;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.restmodel.ResponseContant;
import com.yihu.jw.util.idcard.IdCardUtil;
import com.yihu.jw.utils.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
@ -49,6 +51,8 @@ public class CourseService {
    @Autowired
    private RecruitStudentsRecordDao recruitStudentsRecordDao;
    @Autowired
    private RecruitStudentsDao recruitStudentsDao;
    @Autowired
    private BusinessOrderDao businessOrderDao;
    @Autowired
    private PatientOrderRefundDao patientOrderRefundDao;
@ -674,6 +678,69 @@ public class CourseService {
        return object;
    }
    /**
     * 招生报名
     */
    public JSONObject enrollment(String patient,String recruitStudentsId){
        JSONObject result = new JSONObject();
        RecruitStudentsDO recruitStudentsDO = recruitStudentsDao.findOne(recruitStudentsId);
        long now = System.currentTimeMillis();
        long start = recruitStudentsDO.getStartTime().getTime();
        if(now<start){
            result.put(ResponseContant.resultFlag, ResponseContant.fail);
            result.put(ResponseContant.resultMsg, "招生未开始");
            return result;
        }
        long end = recruitStudentsDO.getEndTime().getTime();
        if(now>end){
            result.put(ResponseContant.resultFlag, ResponseContant.fail);
            result.put(ResponseContant.resultMsg, "招生已结束");
            return result;
        }
        if(isEnrollment(patient,recruitStudentsId)){
            result.put(ResponseContant.resultFlag, ResponseContant.fail);
            result.put(ResponseContant.resultMsg, "请不要重复报名");
            return result;
        }
        BasePatientDO patientDO = patientDao.findById(patient);
        RecruitStudentsRecordDO recordDO = new RecruitStudentsRecordDO();
        recordDO.setDel(1);
        recordDO.setStatus("1");
        recordDO.setCreateTime(new Date());
        recordDO.setMobile(patientDO.getMobile());
        recordDO.setOrderNo(getOrderNo("1"));
        recordDO.setOrgCode(recruitStudentsDO.getOrgCode());
        recordDO.setOrgName(recruitStudentsDO.getOrgName());
        recordDO.setPatient(patientDO.getId());
        recordDO.setPatientName(patientDO.getName());
        recordDO.setPrice(recruitStudentsDO.getFee());
        recordDO.setSex(IdCardUtil.getSex(patientDO.getSex(),patientDO.getIdcard()));
        recordDO.setRecruitName(recruitStudentsDO.getTheme());
        recordDO.setRecruitStudentsId(recruitStudentsId);
        recruitStudentsRecordDao.save(recordDO);
        result.put(ResponseContant.resultFlag, ResponseContant.success);
        result.put("recordDO",recordDO);
        return result;
    }
    /**
     * 绑定居民是否已经报名 有待审核,待付款,已付款,退款中的订单都不能报名
     * @param patient
     * @param recruitStudentsId
     * @return
     */
    public boolean isEnrollment(String patient,String recruitStudentsId){
        String sql = "select * from base_recruit_students_record where recruit_students_id = '"+recruitStudentsId+
                "' and patient='"+patient+"' and status in ('1','2','3','6') and del =1 ";
        List<RecruitStudentsRecordDO> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(RecruitStudentsRecordDO.class));
        if(list.size()>0){
            return true;
        }
        return false;
    }
    public CourseSalesOrderRecordDO buyCourseOrder(String patient, String patientName, String courseId,String payType){
        CourseDO courseDO = courseDao.findOne(courseId);