|
@ -0,0 +1,142 @@
|
|
|
package com.yihu.jw.hospital.endpoint.consult;
|
|
|
|
|
|
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
|
|
|
import com.yihu.jw.hospital.service.consult.SysDictService;
|
|
|
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.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.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* Created by Trick on 2019/5/16.
|
|
|
*/
|
|
|
@RestController
|
|
|
@RequestMapping("internet/consult/sysdict" )
|
|
|
@Api(tags = "互联网医院功能业务字典及开关设置表", description = "互联网医院")
|
|
|
public class SysDictEndpoint extends EnvelopRestEndpoint {
|
|
|
|
|
|
@Autowired
|
|
|
private SysDictService sysDictService;
|
|
|
|
|
|
/**
|
|
|
* 新增功能业务字典
|
|
|
* @param jsonData
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
@PostMapping(value = "/create", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
|
|
|
@ApiOperation(value = "新增&修改功能业务字典", notes = "互联网医院功能业务字典及开关设置表")
|
|
|
public Envelop createSysDict(
|
|
|
@ApiParam(name = "json_data", value = "Json数据", required = true)
|
|
|
@RequestBody String jsonData) throws Exception {
|
|
|
|
|
|
int flag = -1;
|
|
|
Envelop envelop = new Envelop();
|
|
|
WlyyHospitalSysDictDO wlyyHospitalSysDictDO = new WlyyHospitalSysDictDO();
|
|
|
|
|
|
Map dataDetail = JSONObject.fromObject(jsonData);
|
|
|
String hospital = dataDetail.get("hospital") == "" ? "": dataDetail.get("hospital") .toString();
|
|
|
String dictName = dataDetail.get("dictName") == "" ? "": dataDetail.get("dictName") .toString();
|
|
|
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);
|
|
|
wlyyHospitalSysDictDO = sysDictService.saveConsultSetting(jsonObject, hospital, dictName);
|
|
|
if (wlyyHospitalSysDictDO != null) {
|
|
|
flag = 0;
|
|
|
continue;
|
|
|
} else {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (flag < 0) {
|
|
|
return failed("配置新增失败!");
|
|
|
} else {
|
|
|
return success("配置新增成功!", wlyyHospitalSysDictDO);
|
|
|
}
|
|
|
}else{
|
|
|
return failed("获取待更新配置项失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 该接口实现按医院编号、字典名称、字典项编码进行查询的功能
|
|
|
* 字典及项值约定:
|
|
|
* dictName( 候诊延时: WaitingDelay ) dictCode ( 等待时长:WaitingTime 过号延时保号: OverdueDelay 过号延时时长: OverdueTime 延时退费规则: DelayedRefundRule )
|
|
|
* dictName( 邀请专家配置: InvitedConfig ) dictCode ( 支付配置:PayType 邀请确认:InvitedValid 退费规则:RefundRule )
|
|
|
*/
|
|
|
@PostMapping(value = "/findByHosAndDn", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
|
|
|
@ApiOperation(value = "基于医院编号及字典名称,查询配置列表", notes = "互联网医院功能业务字典及开关设置表")
|
|
|
public Envelop findByHosAndDn(
|
|
|
@ApiParam(name = "hospital", value = "医院编码", required = true)
|
|
|
@RequestParam(value = "hospital", required = true) String hospital,
|
|
|
@ApiParam(name = "dictName", value = "字典名称", defaultValue = "")
|
|
|
@RequestParam(value = "dictName", required = false) String dictName ) throws Exception {
|
|
|
|
|
|
ListEnvelop listEnvelop = new ListEnvelop();
|
|
|
List<WlyyHospitalSysDictDO> wlyyHospitalSysDictDOS = new ArrayList<WlyyHospitalSysDictDO>();
|
|
|
wlyyHospitalSysDictDOS = sysDictService.findByHospitalAndDictName(hospital,dictName);
|
|
|
Map res = new HashMap();
|
|
|
res.put("hospital",hospital);
|
|
|
res.put("dictName",dictName);
|
|
|
if(wlyyHospitalSysDictDOS != null){
|
|
|
for(WlyyHospitalSysDictDO wlyyHospitalSysDictDO : wlyyHospitalSysDictDOS){
|
|
|
res.put(wlyyHospitalSysDictDO.getDictCode().toString(),wlyyHospitalSysDictDO.getDictValue().toString());
|
|
|
}
|
|
|
return success("查询配置信息成功!",res);
|
|
|
}else{
|
|
|
return failed("配置信息未存储,请先保存!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 根据医院编号及字典编码,获取配置界面中某一配置项的值信息
|
|
|
* dictName( 候诊延时: WaitingDelay ) dictCode ( 等待时长:WaitingTime 过号延时保号: OverdueDelay 过号延时时长: OverdueTime 延时退费规则: DelayedRefundRule )
|
|
|
* dictName( 邀请专家配置: InvitedConfig ) dictCode ( 支付配置:PayType 邀请确认:InvitedValid 退费规则:RefundRule )
|
|
|
* @param hospital
|
|
|
* @param dictCode
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
@PostMapping(value = "/findByHosAndDc", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
|
|
|
@ApiOperation(value = "基于医院编号、字典名称及字典项编码,查询指定配置", notes = "互联网医院功能业务字典及开关设置表")
|
|
|
public ObjEnvelop findByHosAndDc(
|
|
|
@ApiParam(name = "hospital", value = "医院编码", required = true)
|
|
|
@RequestParam(value = "hospital", required = true) String hospital,
|
|
|
@ApiParam(name = "dictCode", value = "字典项编码", defaultValue = "")
|
|
|
@RequestParam(value = "dictCode", required = false) String dictCode ) throws Exception {
|
|
|
|
|
|
ObjEnvelop objEnvelop = new ObjEnvelop();
|
|
|
WlyyHospitalSysDictDO wlyyHospitalSysDictDO = new WlyyHospitalSysDictDO();
|
|
|
|
|
|
wlyyHospitalSysDictDO = sysDictService.findByHospitalAndDictCode(hospital,dictCode);
|
|
|
if(wlyyHospitalSysDictDO != null){
|
|
|
objEnvelop.setObj(wlyyHospitalSysDictDO);
|
|
|
objEnvelop.setStatus(200);
|
|
|
objEnvelop.setMessage("查询配置信息成功!");
|
|
|
}else{
|
|
|
objEnvelop.setStatus(-1);
|
|
|
objEnvelop.setMessage("对不起,未查询到相关的配置信息!");
|
|
|
}
|
|
|
return objEnvelop;
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|