Browse Source

咨费关联接口

hill9868 6 years ago
parent
commit
fe8b8dab09

+ 13 - 2
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/consult/WlyyHospitalConsultPriceDO.java

@ -51,6 +51,12 @@ public class WlyyHospitalConsultPriceDO extends UuidIdentityEntityWithOperator {
	 */
	private Integer price;
    /**
     * 医院编码
     */
    private String hospital
            ;
	@Column(name = "saas_id")
    public String getSaasId() {
@ -108,6 +114,11 @@ public class WlyyHospitalConsultPriceDO extends UuidIdentityEntityWithOperator {
        this.price = price;
    }
    @Column(name = "hospital")
    public String getHospital() {
        return hospital;
    }
    public void setHospital(String hospital) {
        this.hospital = hospital;
    }
}

+ 11 - 1
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/consult/WlyyHospitalConsultPriceVO.java

@ -63,6 +63,11 @@ public class WlyyHospitalConsultPriceVO extends UuidIdentityVOWithOperator {
	@ApiModelProperty(value = "价格", example = "模块1")
    private Integer price;
    /**
     * 医院编码
     */
    @ApiModelProperty(value = "医院编码", example = "模块1")
    private String hospital;
    public String getSaasId() {
        return saasId;
@ -113,5 +118,10 @@ public class WlyyHospitalConsultPriceVO extends UuidIdentityVOWithOperator {
        this.price = price;
    }
    public String getHospital() {
        return hospital;
    }
    public void setHospital(String hospital) {
        this.hospital = hospital;
    }
}

+ 19 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/dao/consult/ConsultPriceDao.java

@ -0,0 +1,19 @@
package com.yihu.jw.hospital.dao.consult;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalConsultPriceDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
public interface ConsultPriceDao extends PagingAndSortingRepository<WlyyHospitalConsultPriceDO, String>, JpaSpecificationExecutor<WlyyHospitalConsultPriceDO>  {
    // 根据机构编码查询所有计费列表
    List<WlyyHospitalConsultPriceDO> findByHospital(String hospital);
    // 根据机构编码、服务科室、医生类型、服务对象,查询单条价格记录
    WlyyHospitalConsultPriceDO findByHospitalAndDeptAndDoctorJobAndServiceRange(String hospital, String dept, String doctorJob, String serviceRange);
    // 根据id 查询已有记录
    WlyyHospitalConsultPriceDO findById(String id);
}

+ 101 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/consult/ConsultPriceEndpoint.java

@ -0,0 +1,101 @@
package com.yihu.jw.hospital.endpoint.consult;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalConsultPriceDO;
import com.yihu.jw.hospital.service.consult.ConsultPriceService;
import com.yihu.jw.restmodel.hospital.consult.WlyyHospitalConsultPriceVO;
import com.yihu.jw.restmodel.web.Envelop;
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 net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
 * Created by Trick on 2019/5/16.
 */
@RestController
@RequestMapping("internet/consult/price" )
@Api(tags = "医院咨询计费价目表", description = "互联网医院")
public class ConsultPriceEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private ConsultPriceService consultPriceService;
    /**
     * 新增咨询计费信息
     * @param jsonData
     * @return
     * @throws Exception
     */
    @PostMapping(value = "/create", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "新增咨询计费信息", notes = "新增咨询计费信息")
    public Envelop createConsultPrice(
            @ApiParam(name = "json_data", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        int flag = -1;
        WlyyHospitalConsultPriceDO wlyyHospitalConsultPriceDO = new WlyyHospitalConsultPriceDO();
        Map dataDetail  = JSONObject.fromObject(jsonData);
        String hospital = dataDetail.get("hospital").toString();
        // 获取到职称及服务对象列表,拆分成json数组,再进行处理
        String data = dataDetail.get("data") == "" ? "": dataDetail.get("data") .toString();
        JSONArray array = JSONArray.fromObject(data);
        if (array.size() > 0) {
                for (int i = 0; i < array.size(); i++) {
                JSONObject jsonObject = array.getJSONObject(i);
                wlyyHospitalConsultPriceDO = consultPriceService.saveConsultPrice(jsonObject,hospital);
                if(wlyyHospitalConsultPriceDO != null){
                    flag = 0;
                }else{
                    break;
                }
            }
        }
        if(flag == 0){
            return success("新增咨费成功!");
        }else{
            return failed("新增咨费失败!");
        }
    }
    @GetMapping(value = "/search")
    @ApiOperation(value = "获取分页")
    public PageEnvelop<WlyyHospitalConsultPriceVO> 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<WlyyHospitalConsultPriceDO> wlyyHospitalConsultPriceDOS = consultPriceService.search(fields, filters, sorts, page, size);
        int count = (int) consultPriceService.getCount(filters);
        return success(wlyyHospitalConsultPriceDOS, count, page, size, WlyyHospitalConsultPriceVO.class);
    }
    @PostMapping(value = "/delete", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "删除指定ID的咨费记录", notes = "新增咨询计费信息")
    public Envelop deleteConsultPrice(
            @ApiParam(name = "id", value = "唯一标识ID")
            @RequestParam(value = "id", required = false) String id) {
        consultPriceService.deleteConsultPrice(id);
        return success("删除成功!");
    }
}

+ 73 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/service/consult/ConsultPriceService.java

@ -0,0 +1,73 @@
package com.yihu.jw.hospital.service.consult;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalConsultPriceDO;
import com.yihu.jw.hospital.dao.consult.ConsultPriceDao;
import com.yihu.mysql.query.BaseJpaService;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Map;
@Service
public class ConsultPriceService extends BaseJpaService<WlyyHospitalConsultPriceDO, ConsultPriceDao> {
    @Autowired
    private ConsultPriceDao consultPriceDao;
    /**
     * // 根据机构编码查询所有计费列表
     * @param jsonObject
     * @param hospital
     * @return
     *
     */
    public WlyyHospitalConsultPriceDO saveConsultPrice(JSONObject jsonObject, String hospital){
        /*CREATE TABLE `wlyy_hospital_consult_price` (
             `id` varchar(50) NOT NULL,
             `saas_id` varchar(50) DEFAULT NULL,
             `type` int(1) DEFAULT '1' COMMENT '0图文 1视频',
             `pay_type` int(1) DEFAULT '0' COMMENT '0按次收费 1计时收费 3固定时长收费 4',
             `dept` varchar(500) DEFAULT NULL COMMENT '服务科室',
             `doctor_job` varchar(50) DEFAULT NULL COMMENT '0专家 1主任 2医师',
             `service_range` varchar(50) DEFAULT NULL COMMENT '0帮扶医院、社区  1普通患者',
             `price` int(11) DEFAULT NULL COMMENT '价格',
             `hospital` varchar(50) DEFAULT NULL,
                   PRIMARY KEY (`id`)
           ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='医院咨询计费价目表';*/
        int flag = -1;
        WlyyHospitalConsultPriceDO wlyyHospitalConsultPriceDO = new WlyyHospitalConsultPriceDO();
        Map dataDetail  = JSONObject.fromObject(jsonObject);
        String id = dataDetail.get("id") == "" ? "":dataDetail.get("id").toString();
        // 若id为空,则为新增,否则走更新操作。
        if ("".equals(id)) {
            wlyyHospitalConsultPriceDO.setSaasId("");
            wlyyHospitalConsultPriceDO.setType(dataDetail.get("type") == "" ? 0 : Integer.parseInt(dataDetail.get("type").toString()));
            wlyyHospitalConsultPriceDO.setPayType(dataDetail.get("payType") == "" ? 0 : Integer.parseInt(dataDetail.get("payType").toString()));
            wlyyHospitalConsultPriceDO.setDept(dataDetail.get("dept") == "" ? "" : dataDetail.get("dept").toString());
            wlyyHospitalConsultPriceDO.setDoctorJob(dataDetail.get("doctorJob") == "" ? "" : dataDetail.get("doctorJob").toString());
            wlyyHospitalConsultPriceDO.setServiceRange(dataDetail.get("serviceRange") == "" ? "" : dataDetail.get("serviceRange").toString());
            wlyyHospitalConsultPriceDO.setPrice(dataDetail.get("price") == "" ? 0 : Integer.parseInt(dataDetail.get("price").toString()));
            wlyyHospitalConsultPriceDO.setHospital(hospital);
            wlyyHospitalConsultPriceDO = consultPriceDao.save(wlyyHospitalConsultPriceDO);
        }else{
            WlyyHospitalConsultPriceDO wlyyHospitalConsultPriceDOL = consultPriceDao.findById(id);
            wlyyHospitalConsultPriceDOL.setType(dataDetail.get("type") == "" ? 0 : Integer.parseInt(dataDetail.get("type").toString()));
            wlyyHospitalConsultPriceDOL.setPayType(dataDetail.get("payType") == "" ? 0 : Integer.parseInt(dataDetail.get("payType").toString()));
            wlyyHospitalConsultPriceDOL.setDept(dataDetail.get("dept") == "" ? "" : dataDetail.get("dept").toString());
            wlyyHospitalConsultPriceDOL.setDoctorJob(dataDetail.get("doctorJob") == "" ? "" : dataDetail.get("doctorJob").toString());
            wlyyHospitalConsultPriceDOL.setServiceRange(dataDetail.get("serviceRange") == "" ? "" : dataDetail.get("serviceRange").toString());
            wlyyHospitalConsultPriceDOL.setPrice(dataDetail.get("price") == "" ? 0 : Integer.parseInt(dataDetail.get("price").toString()));
            wlyyHospitalConsultPriceDO.setHospital(hospital);
            wlyyHospitalConsultPriceDO = consultPriceDao.save(wlyyHospitalConsultPriceDOL);
        }
        return wlyyHospitalConsultPriceDO;
    }
    public void deleteConsultPrice(String id){
        consultPriceDao.delete(id);
    }
}