|
@ -4,16 +4,31 @@ import com.yihu.jw.entity.hospital.family.WlyyPatientFamilyMemberDO;
|
|
|
import com.yihu.jw.entity.hospital.httplog.WlyyHttpLogDO;
|
|
|
import com.yihu.jw.hospital.family.dao.WlyyPatientFamilyMemberDao;
|
|
|
import com.yihu.jw.hospital.httplog.dao.WlyyHttpLogDao;
|
|
|
import com.yihu.jw.restmodel.web.MixEnvelop;
|
|
|
import com.yihu.jw.utils.hibernate.HibenateUtils;
|
|
|
import com.yihu.mysql.query.BaseJpaService;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.sound.sampled.Mixer;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
@Service
|
|
|
public class WlyyHttpLogService extends BaseJpaService<WlyyHttpLogDO, WlyyHttpLogDao> {
|
|
|
@Autowired
|
|
|
private WlyyHttpLogDao wlyyHttpLogDao;
|
|
|
@Value("${wechat.id}")
|
|
|
private String wxId;
|
|
|
@Autowired
|
|
|
private HibenateUtils hibenateUtils;
|
|
|
|
|
|
|
|
|
@Value("${wechat.flag}")
|
|
|
private boolean flag;
|
|
|
//保存http日志接口
|
|
|
public void saveHttpLog(String code,String name,String patient,String doctor,String request,String response,String status ){
|
|
|
WlyyHttpLogDO wlyyHttpLogDO = new WlyyHttpLogDO();
|
|
@ -27,4 +42,72 @@ public class WlyyHttpLogService extends BaseJpaService<WlyyHttpLogDO, WlyyHttpL
|
|
|
wlyyHttpLogDO.setCreateTime(new Date());
|
|
|
wlyyHttpLogDao.save(wlyyHttpLogDO);
|
|
|
}
|
|
|
public MixEnvelop findLog(String startTime, String endTime, String faceName, String patient, String doctor, Integer page, Integer pageSize){
|
|
|
MixEnvelop mixEnvelop = new MixEnvelop();
|
|
|
String sql = "select t.id as \"id\"," +
|
|
|
"t.code as \"code\"," +
|
|
|
"t.name as \"name\"," +
|
|
|
"t.patient as \"patient\"," +
|
|
|
"t.doctor as \"doctor\"," +
|
|
|
"t.request as \"request\"," +
|
|
|
"t.response as \"response\"," +
|
|
|
"t.status as \"status\",";
|
|
|
if("xm_ykyy_wx".equals(wxId)){
|
|
|
if (flag){
|
|
|
sql+="date_format(t.create_time, '%Y-%m-%d %H:%i:%s') as \"createTime\",";
|
|
|
}else {
|
|
|
sql+=" to_char(t.create_time,'yyyy-MM-dd HH24:mi:ss') as \"createTime\",";
|
|
|
}
|
|
|
}else{
|
|
|
sql+="date_format(t.create_time, '%Y-%m-%d %H:%i:%s') as \"createTime\",";
|
|
|
}
|
|
|
sql+=" a.name as \"patientName\"," +
|
|
|
"b.name as \"doctorName\"" +
|
|
|
" from wlyy_http_log t left join base_patient a on t.patient = a.id " +
|
|
|
" left join base_doctor b on t.doctor = b.id where 1=1 ";
|
|
|
if (StringUtils.isNotBlank(endTime)){
|
|
|
if("xm_ykyy_wx".equals(wxId)){
|
|
|
if (flag){
|
|
|
sql+=" and t.create_time > '"+startTime+"'";
|
|
|
}else {
|
|
|
sql+=" and t.create_time > to_date('" + startTime + "', 'yyyy-mm-dd hh24:mi:ss') ";
|
|
|
}
|
|
|
}else{
|
|
|
sql+=" and t.create_time > '"+startTime+"'";
|
|
|
}
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(endTime)){
|
|
|
if("xm_ykyy_wx".equals(wxId)){
|
|
|
if (flag){
|
|
|
sql+=" and t.create_time<'" + endTime + "'";
|
|
|
}else {
|
|
|
sql+=" and t.create_time< to_date('" + endTime + "','yyyy-mm-dd hh24:mi:ss')";
|
|
|
}
|
|
|
}else{
|
|
|
sql+=" and t.create_time<'" + endTime + "'";
|
|
|
}
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(faceName)){
|
|
|
sql+=" and t.name like '%"+faceName+"%'";
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(patient)){
|
|
|
sql+=" and a.name like '%"+patient+"%'";
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(doctor)){
|
|
|
sql+=" and b.name like '%"+doctor+"%'";
|
|
|
}
|
|
|
List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql,page,pageSize);
|
|
|
String sqlcount = "SELECT COUNT(1) AS \"total\" FROM ("+sql+") q";
|
|
|
Long count = 0L;
|
|
|
List<Map<String,Object>> total = hibenateUtils.createSQLQuery(sqlcount);
|
|
|
if(total!=null){
|
|
|
//mysql 与 Oracle 聚合函数返回类型不一致,需要判断装换
|
|
|
count = hibenateUtils.objTransformLong(total.get(0).get("total"));
|
|
|
}
|
|
|
mixEnvelop.setTotalCount(count.intValue());
|
|
|
mixEnvelop.setDetailModelList(list);
|
|
|
mixEnvelop.setPageSize(pageSize);
|
|
|
mixEnvelop.setCurrPage(page);
|
|
|
return mixEnvelop;
|
|
|
}
|
|
|
}
|