Browse Source

Merge branch 'dev' of yeshijie/wlyy2.0 into dev

叶仕杰 3 years ago
parent
commit
b2ee1afa3b

+ 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;
    }
    
    /**
     * 根据身份证的号码算出当前身份证持有者的性别,返回性别文字

+ 37 - 0
starter/swagger-starter/pom.xml

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <artifactId>wlyy-starter</artifactId>
        <groupId>com.yihu.jw</groupId>
        <version>2.0.0</version>
    </parent>
    <artifactId>swagger-starter</artifactId>
    <dependencies>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>${version.swagger}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>${version.swagger-ui}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-staticdocs</artifactId>
            <version>${version.springfox-staticdocs}</version>
        </dependency>
        <dependency>
            <groupId>io.github.swagger2markup</groupId>
            <artifactId>swagger2markup</artifactId>
            <version>${version.swagger2markup}</version>
        </dependency>
    </dependencies>
</project>

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/config/SwaggerConfig.java

@ -1,4 +1,4 @@
package com.yihu.jw.care.config;
package com.yihu.jw;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

+ 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;

+ 3 - 18
svr/svr-cloud-care/pom.xml

@ -123,24 +123,9 @@
        </dependency>
        <!-- Swagger-ui library -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>${version.swagger}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>${version.swagger-ui}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-staticdocs</artifactId>
            <version>${version.springfox-staticdocs}</version>
        </dependency>
        <dependency>
            <groupId>io.github.swagger2markup</groupId>
            <artifactId>swagger2markup</artifactId>
            <version>${version.swagger2markup}</version>
            <groupId>com.yihu.jw</groupId>
            <artifactId>swagger-starter</artifactId>
            <version>2.0.0</version>
        </dependency>
        <!-- Jzkl Starter -->
        <dependency>

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/aop/RedisLockAOP.java

@ -33,9 +33,9 @@ import java.util.List;
/**
 * redis分布式锁AOP
 *
 * @author baichuan.wu
 * @author yeshijie
 * @version 1.0.0
 * @date 2019-12-26 14:16
 * @date 2021/4/23
 */
@Aspect
@Order(-1)

+ 0 - 44
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/config/SwaggerDocs.java

@ -1,44 +0,0 @@
package com.yihu.jw.care.config;
import io.github.swagger2markup.GroupBy;
import io.github.swagger2markup.Language;
import io.github.swagger2markup.Swagger2MarkupConfig;
import io.github.swagger2markup.Swagger2MarkupConverter;
import io.github.swagger2markup.builder.Swagger2MarkupConfigBuilder;
import io.github.swagger2markup.markup.builder.MarkupLanguage;
import java.net.URL;
import java.nio.file.Path;
import java.nio.file.Paths;
/**
 * Created by lith on 2018/11/23
 */
public class SwaggerDocs {
    public static void main(String[] args) throws Exception {
        //1.请求 http://ip:port/swagger-resources获取group
        String group = "Default";
        //2.定义请求地址 new URL("http://ip:port/v2/api-docs?group=" + groupName)
        //项目的swagger-ui地址
        URL remoteSwaggerFile = new URL("http://127.0.0.1:10022/v2/api-docs?group=" + group);
        //3.定义文件输出路径
        String prefix = Thread.currentThread().getContextClassLoader().getResource("").getPath();
        //文档输出地址
        Path outputFile = Paths.get(prefix.substring(prefix.lastIndexOf(":") + 1, prefix.indexOf("target") - 1) + "/build/" + group);
        Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder()
                .withMarkupLanguage(MarkupLanguage.ASCIIDOC)
                .withOutputLanguage(Language.ZH)
                .withPathsGroupedBy(GroupBy.TAGS)
                .withGeneratedExamples()
                .withoutInlineSchema()
                //.withBasePathPrefix()
                .build();
        Swagger2MarkupConverter converter = Swagger2MarkupConverter.from(remoteSwaggerFile)
                .withConfig(config)
                .build();
        converter.toFile(outputFile);
    }
}

+ 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);

+ 243 - 0
wlyy-starter/pom.xml

@ -0,0 +1,243 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <!-- Parent -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
    </parent>
    <!-- Self -->
    <groupId>com.yihu.jw</groupId>
    <artifactId>wlyy-starter</artifactId>
    <packaging>pom</packaging>
    <version>2.0.0</version>
    <!-- 模块列表 -->
    <modules>
        <!--<module>../starter/hbase-starter</module>-->
       <module>../starter/swagger-starter</module>
    </modules>
    <!-- 项目发布到这个服务器 -->
    <distributionManagement>
        <repository>
            <id>jkzlRepositories</id>
            <name>jkzlRepositories</name>
            <url>http://192.168.1.220:8081/nexus/content/repositories/jkzlRepositories/</url>
        </repository>
    </distributionManagement>
    <properties>
        <version.spring-cloud>Edgware.SR4</version.spring-cloud>
        <version.jackson>2.6.6</version.jackson>
        <version.fastdfs>1.27</version.fastdfs>
        <version.swagger>2.7.0</version.swagger>
        <version.swagger-ui>2.7.0</version.swagger-ui>
        <version.swagger2markup>1.3.2</version.swagger2markup>
        <version.springfox-staticdocs>2.6.1</version.springfox-staticdocs>
        <version.mysql>5.1.45</version.mysql>
        <version.commons-dbcp2>2.1.1</version.commons-dbcp2>
        <version.commons-lang3>3.4</version.commons-lang3>
        <version.commons.collections>3.2.1</version.commons.collections>
        <version.hibernate>5.0.12.Final</version.hibernate>
        <version.hibernate-validator>6.0.10.Final</version.hibernate-validator>
        <version.hibernate-jpa-api>1.0.0.Final</version.hibernate-jpa-api>
        <version.elasticsearch>2.4.0</version.elasticsearch>
        <version.elasticsearch-sql>2.4.1.0</version.elasticsearch-sql>
        <version.jest>2.4.0</version.jest>
        <verion.fastjson>1.2.17</verion.fastjson>
        <version.druid>1.0.15</version.druid>
        <version.jna>3.0.9</version.jna>
        <version.hbase-client>2.2.4</version.hbase-client>
        <version.spring-data-hadoop>2.2.0.RELEASE</version.spring-data-hadoop>
        <version.spring-data-solr>2.1.3.RELEASE</version.spring-data-solr>
        <version.bcprov-jdk15on>1.59</version.bcprov-jdk15on>
        <version.json>20160212</version.json>
        <version.json-lib>2.4</version.json-lib>
        <version.pinyin4j>2.5.0</version.pinyin4j>
        <version.cat>2.0.0</version.cat>
        <version.feign-okhttp>9.3.1</version.feign-okhttp>
    </properties>
    <dependencyManagement>
        <dependencies>
            <!-- Spring Cloud -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${version.spring-cloud}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- Swagger-ui library -->
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>${version.swagger}</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>${version.swagger-ui}</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-staticdocs</artifactId>
                <version>${version.springfox-staticdocs}</version>
            </dependency>
            <dependency>
                <groupId>io.github.swagger2markup</groupId>
                <artifactId>swagger2markup</artifactId>
                <version>${version.swagger2markup}</version>
            </dependency>
            <!-- Alibaba library -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${verion.fastjson}</version>
            </dependency>
            <!-- jna library -->
            <dependency>
                <groupId>com.sun.jna</groupId>
                <artifactId>jna</artifactId>
                <version>${version.jna}</version>
            </dependency>
            <!-- Apache library -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-dbcp2</artifactId>
                <version>${version.commons-dbcp2}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${version.commons-lang3}</version>
            </dependency>
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>${version.commons.collections}</version>
            </dependency>
            <!-- Jackson library -->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${version.jackson}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>${version.jackson}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${version.jackson}</version>
            </dependency>
            <!-- Json library -->
            <dependency>
                <groupId>org.json</groupId>
                <artifactId>json</artifactId>
                <version>${version.json}</version>
            </dependency>
            <!-- Net json library -->
            <dependency>
                <groupId>net.sf.json-lib</groupId>
                <artifactId>json-lib</artifactId>
                <version>${version.json-lib}</version>
            </dependency>
            <!-- Hbase library -->
            <dependency>
                <groupId>org.apache.hbase</groupId>
                <artifactId>hbase-client</artifactId>
                <version>${version.hbase-client}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.hadoop</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.hbase</groupId>
                <artifactId>hbase-common</artifactId>
                <version>${version.hbase-client}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.hbase</groupId>
                <artifactId>hbase-protocol</artifactId>
                <version>${version.hbase-client}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-hadoop-hbase</artifactId>
                <version>${version.spring-data-hadoop}</version>
            </dependency>
            <!-- security library -->
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk15on</artifactId>
                <version>${version.bcprov-jdk15on}</version>
            </dependency>
            <!-- 拼音 -->
            <dependency>
                <groupId>com.belerweb</groupId>
                <artifactId>pinyin4j</artifactId>
                <version>${version.pinyin4j}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <configuration>
                    <attach>true</attach>
                </configuration>
                <executions>
                    <execution>
                        <phase>compile</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

+ 2 - 0
wlyy-starter/readme.MD

@ -0,0 +1,2 @@
i健康2.0工程基础maven
    1.一般子maven需要的jar包在父类maven工程定义好,子maven工程不需要添加版本号,版本由父maven决定