Prechádzať zdrojové kódy

Merge branch 'dev' of trick9191/patient-co-management into dev

trick9191 7 rokov pred
rodič
commit
3ba25a3e03

+ 1 - 1
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/common/account/CustomerController.java

@ -266,7 +266,7 @@ public class CustomerController extends BaseController {
                                 @ApiParam(name="page",value="第几页,从1开始")@RequestParam(required = true)Integer page,
                                 @ApiParam(name="size",value="页码大小")@RequestParam(required = true)Integer size){
        try {
            return write(200,"查询成功","data",customerService.getCallRecords(callerNumber,recipientNumber,answerStatus,serviceType,userName,jobNo,startDate,endDate,page,size));
            return write(200,"查询成功","data",customerService.getCallRecords(callerNumber,recipientNumber,seat,answerStatus,serviceType,userName,jobNo,startDate,endDate,page,size));
        }catch (Exception e){
            error(e);
            return error(-1,"查询失败");

+ 2 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/repository/UserDao.java

@ -34,6 +34,8 @@ public interface UserDao extends PagingAndSortingRepository<User, Long>, JpaSpec
    @Query("from User a where a.name like ?1 order by code")
    Page<User> searchUsersByName(String name, Pageable pageRequest);
	List<User> findBySeat(String seat);
	User findByJobNo(String jobNo);
}

+ 11 - 4
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/account/CustomerService.java

@ -274,7 +274,7 @@ public class CustomerService extends BaseService{
		return "1";
	}
	public Map<String,Object> getCallRecords(String callerNumber,String recipientNumber, Integer answerStatus,Integer serviceType ,String userName,String jobNo,String startDate,String endDate,Integer page,Integer size){
	public Map<String,Object> getCallRecords(String callerNumber,String recipientNumber,String seat, Integer answerStatus,Integer serviceType ,String userName,String jobNo,String startDate,String endDate,Integer page,Integer size){
		Map<String,Object> map = new HashedMap();
@ -283,7 +283,7 @@ public class CustomerService extends BaseService{
				" manage_call_record r " +
				" WHERE " +
				" 1 = 1 ";
		sqltotal = setCallRecordSql( sqltotal, callerNumber,recipientNumber, answerStatus, serviceType ,userName,jobNo, startDate, endDate);
		sqltotal = setCallRecordSql( sqltotal, callerNumber,seat,recipientNumber, answerStatus, serviceType ,userName,jobNo, startDate, endDate);
		List<Map<String,Object>> rsTotal = jdbcTemplate.queryForList(sqltotal);
		Long total = (Long)rsTotal.get(0).get("total");
@ -311,7 +311,7 @@ public class CustomerService extends BaseService{
				" manage_call_record r " +
				" WHERE " +
				" 1 = 1 ";
		sql = setCallRecordSql( sql, callerNumber,recipientNumber, answerStatus, serviceType ,userName,jobNo, startDate, endDate);
		sql = setCallRecordSql( sql, callerNumber,seat,recipientNumber, answerStatus, serviceType ,userName,jobNo, startDate, endDate);
		sql += " ORDER BY r.call_time DESC LIMIT "+(page-1)*size+","+size;
		List<Map<String,Object>> rs = jdbcTemplate.queryForList(sql);
@ -324,13 +324,20 @@ public class CustomerService extends BaseService{
		return map;
	}
	public String setCallRecordSql(String sql,String callerNumber,String recipientNumber,Integer answerStatus,Integer serviceType ,String userName,String jobNo,String startDate,String endDate){
	public String setCallRecordSql(String sql,String callerNumber,String seat,String recipientNumber,Integer answerStatus,Integer serviceType ,String userName,String jobNo,String startDate,String endDate){
		if(StringUtils.isNotBlank(callerNumber)){
			sql +=" AND r.caller_number = '"+callerNumber+"'";
		}
		if(answerStatus!=null){
			sql += " AND r.answer_status = "+answerStatus ;
		}
		if(StringUtils.isNotBlank(seat)){
			List<User> us = userDao.findBySeat(seat);
			if(us!=null&&us.size()>0){
				User u = us.get(0);
				sql += " AND r.user_code = '"+u.getCode()+"'";
			}
		}
		if(serviceType!=null){
			sql += " AND r.service_type = " +serviceType;
		}

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/message/MessageDao.java

@ -101,7 +101,7 @@ public interface MessageDao extends PagingAndSortingRepository<Message, Long>, J
    @Query("from Message a where a.type = 12 and a.del='1' and a.over='1' and receiver = ?1  order by a.createTime desc")
    List<Message> findByReceiverCallService(String doctor);
    @Query("select a from Message a where a.receiver = ?1 and a.type=?2 ")
    @Query("select a from Message a where a.receiver = ?1 and a.type=?2 and a.over='1' and a.read=1 order by a.createTime desc")
    List<Message> getMessageByType(String doctor, Integer type, Pageable pageRequest);
    @Query("from Message a where a.type = 12 and a.del='1' and a.over='1' and relationCode = ?1  ")

+ 3 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/call/CustomerService.java

@ -18,11 +18,13 @@ import org.springframework.data.domain.Sort;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Service
@Transactional
public class CustomerService extends BaseService{
	@Autowired
@ -59,7 +61,7 @@ public class CustomerService extends BaseService{
			sql +=" AND (s.patient_name = '"+keyword+"' OR s.ssc ='"+keyword+"' OR s.Idcard ='"+keyword+"')";
		}
		if(serverType!=null){
			sql += " AND s.server_type ='"+serverType+"' " ;
			sql += " AND s.type ='"+serverType+"' " ;
		}
		if(state != null){
			sql +=" AND s.state ='"+state+"'";

+ 15 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/common/account/PatientService.java

@ -1082,4 +1082,19 @@ public class PatientService extends TokenService {
        return patientDao.findAllSignPatientTeamcode(teamcode,doctorcode);
    }
    public boolean checkOpenidCount(String openid){
        String sql = "SELECT count(1) as total FROM wlyy_patient p WHERE p.openid = '"+openid+"' ";
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        if(list!=null&&list.size()>0){
            Map<String,Object> map = list.get(0);
            Long count = (Long)map.get("total");
            if(count>10){
                return false;
            }else{
                return true;
            }
        }
        return true;
    }
}

+ 50 - 5
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/account/WechatController.java

@ -322,7 +322,7 @@ public class WechatController extends WeixinBaseController {
            @RequestParam(required = false) String captcha,
            @RequestParam(required = false) String password,
            String openid) {
        System.out.println("login openid : " + openid);
        //System.out.println("login openid : " + openid);
        String errorMessage;
        LoginLog loginLog = new LoginLog();
        loginLog.setCreateTime(new Date());
@ -381,9 +381,29 @@ public class WechatController extends WeixinBaseController {
                //判断d登录密码是否正确
                if (loginPassword.equals(p.getPassword())) {
                    // 绑定用户手机号和openid
                    if (!StringUtils.equals(p.getOpenid(), openid) && !"undefined".equals(openid)) {//undefined不更新数据库
                    if (StringUtils.isNotBlank(openid) && !"undefined".equals(openid)) {//undefined不更新数据库
                        //patient.setOpenid(openid);
                        patientService.updatePatient(p, openid);
                        //1.判斷居民OPenid是不是空
                        if(StringUtils.isNotBlank(p.getOpenid())){
                            //如果OPenid与原来用户不相等,则判断登录的openids是否被大于10人登录
                            if(!p.getOpenid().equals(openid)){
                                //判断登录的openids是否被大于10人登录
                                if(!patientService.checkOpenidCount(openid)){
                                    errorMessage ="您已超过系统允许登录的最大居民账号数量,当前不再允许使用该微信登录新的居民账号,请使用其他微信号进行登录";
                                    return error(-2, errorMessage);
                                }
                            }
                            patientService.updatePatient(p, openid);
                        }else{
                            // 判断登录的openids是否被大于10人登录
                            if(!patientService.checkOpenidCount(openid)){
                                errorMessage ="您已超过系统允许登录的最大居民账号数量,当前不再允许使用该微信登录新的居民账号,请使用其他微信号进行登录";
                                return error(-2, errorMessage);
                            }else{
                                //未达到上限更新用户openid
                                patientService.updatePatient(p, openid);
                            }
                        }
                    }
                    // 用户校验通过,生成token
@ -485,10 +505,35 @@ public class WechatController extends WeixinBaseController {
                    }
                    loginLog.setUserCode(p.getCode());
                    // 绑定用户手机号和openid
                    if (!StringUtils.equals(p.getOpenid(), openid) && !"undefined".equals(openid)) {//undefined不更新数据库
//                    if (!StringUtils.equals(p.getOpenid(), openid) && !"undefined".equals(openid)) {//undefined不更新数据库
//                        //patient.setOpenid(openid);
//                        patientService.updatePatient(p, openid);
//                    }
                    if (StringUtils.isNotBlank(openid) && !"undefined".equals(openid)) {//undefined不更新数据库
                        //patient.setOpenid(openid);
                        patientService.updatePatient(p, openid);
                        //1.判斷居民OPenid是不是空
                        if(StringUtils.isNotBlank(p.getOpenid())){
                            //如果OPenid与原来用户不相等,则判断登录的openids是否被大于10人登录
                            if(!p.getOpenid().equals(openid)){
                                //判断登录的openids是否被大于10人登录
                                if(!patientService.checkOpenidCount(openid)){
                                    errorMessage ="您已超过系统允许登录的最大居民账号数量,当前不再允许使用该微信登录新的居民账号,请使用其他微信号进行登录";
                                    return error(-2, errorMessage);
                                }
                            }
                            patientService.updatePatient(p, openid);
                        }else{
                            // 判断登录的openids是否被大于10人登录
                            if(!patientService.checkOpenidCount(openid)){
                                errorMessage ="您已超过系统允许登录的最大居民账号数量,当前不再允许使用该微信登录新的居民账号,请使用其他微信号进行登录";
                                return error(-2, errorMessage);
                            }else{
                                //未达到上限更新用户openid
                                patientService.updatePatient(p, openid);
                            }
                        }
                    }
                    // 用户校验通过,生成token
                    Token token = tokenService.newTxToken(p.getCode(), openid);
                    Map<Object, Object> map = new HashMap<Object, Object>();