예제 #1
0
def getAcountInfo():
    type = request.args.get('type')
    if type:
        type = string.atoi(type)  #医生:1 病人:2
    else:
        type = 2
    userId = None
    if session.has_key('userId'):
        userId = session['userId']
    #userId='5'
    if userId is None:
        return redirect(LOGIN_URL)
    user = User.getById(userId)
    if user:
        userDict = object2dict.to_json(user, user.__class__)
        userDict['mobile'] = userDict.get('phone')
        if type == 2:
            result = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg,
                                     userDict)
            return json.dumps(result.__dict__, ensure_ascii=False)
        elif type == 1:
            userDict = dataChangeService.getAccountInfo(userDict)
            userDict['userName'] = userDict.get('name')
            result = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg,
                                     userDict)
            return json.dumps(result.__dict__, ensure_ascii=False)
        else:
            return json.dumps(rs.PARAM_ERROR.__dict__, ensure_ascii=False)

    return json.dumps(rs.NO_LOGIN.__dict__, ensure_ascii=False)
예제 #2
0
def AlipayCallbackUrl():

    params = AlipayCallBackInfo(request.args)
    if params.diagnoseSeriesNumber is None:
        LOG.error("支付回调出错,无法拿到diagnoseSeriesNumber")
        return redirect(ERROR_URL)
    if (not params.trade_no) or (not params.out_trade_no) or (
            not params.trade_status):
        LOG.error("支付回调出错,tradeNo")
        return redirect(ERROR_URL)

    diagnose = Diagnose.getDiagnoseByDiagnoseSeriesNo(
        params.diagnoseSeriesNumber)
    if diagnose is None or (not hasattr(
            diagnose, "patient")) or diagnose.patient.userID is None:
        LOG.error("支付回调出错,无法拿到诊断[diagnoseSeriesNumber%s]" %
                  params.diagnoseSeriesNumber)
    #跳过验证,以后再测试,必须传入notify_id
    # verfyParams={}
    # verfyParams['out_trade_no']=params.out_trade_no
    # verfyParams['trade_status']='TRADE_SUCCESS'
    # verfyParams['trade_no']=params.trade_no
    # verfyParams['sign']= params.sign
    # veryResult=alipay.notify_verify(request.args)
    # if not veryResult:
    #     LOG.error("支付交易出错,无法拿到诊断[diagnoseSeriesNumber%s]"%params.diagnoseSeriesNumber)
    userId = diagnose.patient.userID
    payRecord = AlipayChargeRecord(params.diagnoseSeriesNumber,
                                   params.buyer_email, params.buyer_id,
                                   params.is_success, params.notify_time,
                                   params.notify_type, params.total_fee,
                                   params.trade_no, params.trade_status,
                                   params.out_trade_no)
    AlipayChargeRecord.save(payRecord)
    if params.is_success == 'T' and params.trade_status == 'TRADE_SUCCESS':
        diagnose = Diagnose.getDiagnoseByDiagnoseSeriesNo(
            params.diagnoseSeriesNumber)
        if diagnose:
            diagnoseId = diagnose.id
            alipayLog = AlipayLog(userId, diagnoseId,
                                  constant.AlipayLogAction.PayFilished)
            AlipayLog.save(alipayLog)
            diagnose.status = constant.DiagnoseStatus.NeedTriage
            Diagnose.save(diagnose)
            result = rs.ResultStatus(rs.SUCCESS.status, '支付成功')
            return json.dumps(result.__dict__, ensure_ascii=False)
        else:
            # alipayLog=AlipayLog(userId,params.diagnoseSeriesNumber,constant.AlipayLogAction.PayFilished)
            # AlipayLog.save(alipayLog)
            LOG.error("支付成功,但系统诊断已经取消(诊断序列号:%s)", params.diagnoseSeriesNumber)
            result = rs.ResultStatus(rs.SUCCESS.status, '支付成功,但系统诊断已经取消')
            return json.dumps(result.__dict__, ensure_ascii=False)
    # alipayLog=AlipayLog(userId,params.diagnoseSeriesNumber,constant.AlipayLogAction.PayFailure)
    # AlipayLog.save(alipayLog)
    LOG.error("支付失败(诊断序列号:%s)", params.diagnoseSeriesNumber)
    result = rs.ResultStatus(rs.FAILURE.status, '支付失败')
    return json.dumps(result.__dict__, ensure_ascii=False)
예제 #3
0
def getList(user, list):
    if user is None:
        result = rs.ResultStatus(rs.FAILURE.status, rs.FAILURE.msg)
        return json.dumps(result.__dict__, ensure_ascii=False)
    if (list and len(list) > 0):
        resultLogs = object2dict.objects2dicts(list)
        result = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg, resultLogs)
        return json.dumps(result.__dict__, ensure_ascii=False)
    return json.dumps(rs.SUCCESS.__dict__, ensure_ascii=False)
예제 #4
0
def pay(statsOldStatus, statsNewStatus, logStatus):
    user = session['user_id']
    if user is None:
        result = rs.ResultStatus(rs.FAILURE.status, rs.FAILURE.msg)
        return json.dumps(result.__dict__, ensure_ascii=False)
    result = DiagnosePayStats.updatePaidStatsStatus(user, statsOldStatus,
                                                    statsNewStatus)
    log = DiagnosePayStatsLog.insertNewItem(logStatus, user, result[0])
    DiagnosePayStatsLogRel.insertNewItem(result[1], log)
    dict = {}
    dict['money'] = float(result[0])
    resultJson = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg, dict)
    return json.dumps(resultJson.__dict__, ensure_ascii=False)
예제 #5
0
def getDiagnoseActions():
    try:
        diagnoseId = request.args.get('diagnoseId')

        userId = session['userId']
        if userId is None:
            return json.dumps(rs.NO_LOGIN.__dict__, ensure_ascii=False)
        userId = string.atoi(userId)

        diagnose = Diagnose.getDiagnoseById(diagnoseId)
        if diagnose is None:
            return json.dumps(rs.NO_DATA.__dict__, ensure_ascii=False)
        if hasattr(
                diagnose, 'patient'
        ) and diagnose.patient and diagnose.patient.userID and diagnose.uploadUserId:
            if userId != diagnose.patient.userID and userId != diagnose.uploadUserId:
                return json.dumps(rs.PERMISSION_DENY.__dict__,
                                  ensure_ascii=False)
            diagDict = dataChangeService.getDiagnoseDetailInfoByPatient(
                db_session, diagnose)
        resultStatus = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg,
                                       diagDict)
        resultDict = resultStatus.__dict__
        return json.dumps(resultDict, ensure_ascii=False)

    except Exception, e:
        print e.message
        print e
        resultDict = rs.SUCCESS.__dict__
        json.dumps(resultDict, ensure_ascii=False)
예제 #6
0
def getPatients(doctorId):
    patients = Diagnose.getPatientListByDoctorId(doctorId)
    patientsDict = object2dict.objects2dicts(patients)
    resultStatus = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg,
                                   patientsDict)
    resultDict = resultStatus.__dict__
    return json.dumps(resultDict, ensure_ascii=False)
예제 #7
0
파일: front.py 프로젝트: LichuanLu/redberry
def getPatientFile(patientId):
    userId = None
    if session.has_key('userId'):
        userId = session['userId']
    if userId is None:
        return redirect(LOGIN_URL)

    if patientId is None or patientId < 0:
        return jsonify(FAILURE)
    patient = Patient.get_patient_by_id(patientId)
    if patient is None or patient.userID != string.atoi(userId):
        return jsonify(FAILURE)

    pathologs = Pathology.getByPatientId(patientId)
    files = []
    if pathologs and len(pathologs) > 0:
        for patholog in pathologs:
            files.extend(File.getFilebypathologyId(patholog.id),
                         constant.FileType.FileAboutDiagnose)
    fileResults = None
    if len(files) > 0:
        fileResults = dataChangeService.getFilesResult(files)
    resultStatus = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg,
                                   fileResults)
    return jsonify(resultStatus.__dict__)
예제 #8
0
def getPostionList():
    diagnoseMethod = request.args.get('diagnoseMethod')
    diagnosePositions = DiagnoseTemplate.getDiagnosePostion(diagnoseMethod)
    resultStatus = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg,
                                   diagnosePositions)
    resultDict = resultStatus.__dict__
    return json.dumps(resultDict, ensure_ascii=False)
예제 #9
0
def getConsultsByDoctor(doctorId):
    sourceId = request.args.get('source_id')
    status = request.args.get('status')
    if status is None:
        status = -1
    else:
        status = string.atoi(status)
    if doctorId:
        consuts = None
        if sourceId:
            consuts = Consult.getConsultsByDoctorId(doctorId,
                                                    string.atoi(sourceId),
                                                    status)
        else:
            consuts = Consult.getConsultsByDoctorId(doctorId, status=status)

        consutsDict = object2dict.objects2dicts(consuts)
        dataChangeService.setConsultsResult(consutsDict,
                                            long(session["userId"]))

        resultStatus = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg,
                                       consutsDict)
        resultDict = resultStatus.__dict__
        return json.dumps(resultDict, ensure_ascii=False)
    return json.dumps(rs.PARAM_ERROR, ensure_ascii=False)
예제 #10
0
def getDiagnoseListByHospitalUser2():

    userId = session['userId']

    status = request.args.get('status')
    if status:
        import string
        status = string.atoi(status)

    startDateStr = request.args.get('startDate')
    startDate = None
    if startDateStr:
        startDate = datetime.strptime(startDateStr, "%Y-%m-%d")
    else:
        startDate = constant.SystemTimeLimiter.startTime

    endDateStr = request.args.get('endDate')
    endDate = None
    if endDateStr:
        endDate = datetime.strptime(endDateStr, "%Y-%m-%d")
    else:
        endDate = constant.SystemTimeLimiter.endTime

    patientName = request.args.get('patientName')
    pageNo = request.args.get('pageNumber')
    pageSize = request.args.get('pageSize')
    pager = Pagger(pageNo, pageSize)
    diagnoses = Diagnose.getDealedDiagnoseByHospitalUser(
        db_session, userId, patientName, status, startDate, endDate, pager)
    diagnosesDict = dataChangeService.userCenterDiagnoses(diagnoses)

    resultStatus = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg,
                                   diagnosesDict)
    resultDict = resultStatus.__dict__
    return json.dumps(resultDict, ensure_ascii=False)
예제 #11
0
def avatarfileUpload():
    userId = None
    userId = request.form.get("userId")
    if session.has_key('userId') and userId is None:
        userId = session['userId']
    if userId is None:
        return redirect(LOGIN_URL)
    userId = string.atoi(userId)
    user = User.getById(userId, None)
    if user is None:
        return json.dumps(rs.ResultStatus(rs.FAILURE.status, "账户不存在"),
                          ensure_ascii=False)

    try:
        if request.method == 'POST':
            file_infos = []
            files = request.files
            for key, file in files.iteritems():
                if file and isPicture(file.filename):
                    filename = file.filename
                    # file_url = oss_util.uploadFile(diagnoseId, filename)
                    from DoctorSpring.util.oss_util import uploadAvatarFromFileStorage
                    fileurl = uploadAvatarFromFileStorage(
                        userId, filename, file, '', {})
                    if fileurl:
                        user.imagePath = fileurl
                        User.update(userId, imagePath=fileurl)
                        file_infos.append(dict(name=filename, url=fileurl))
                        return jsonify(files=file_infos)
                else:
                    return json.dumps(rs.FAILURE.__dict__, ensure_ascii=False)
        return json.dumps(rs.FAILURE.__dict__, ensure_ascii=False)
    except Exception, e:
        print e.message
        return json.dumps(rs.FAILURE.__dict__, ensure_ascii=False)
예제 #12
0
def checkVerifyCodePwd(phoneNumber=None):
    code = request.form.get('verifyCode')
    mobile = phoneNumber
    verifyCode = session.get('verifyCode')
    user_id = User.get_id_by_phone(mobile)[0]
    userId = str(int(user_id))

    if verifyCode is None:
        result = rs.ResultStatus(rs.FAILURE.status, "请重新产生验证码")
        return json.dumps(result.__dict__, ensure_ascii=False)
    if code is None:
        result = rs.ResultStatus(rs.FAILURE.status, "验证码不能为空,请输入验证码")
        return json.dumps(result.__dict__, ensure_ascii=False)
    if code == verifyCode:
        return json.dumps(rs.SUCCESS.__dict__, ensure_ascii=False)
    else:
        result = rs.ResultStatus(rs.FAILURE.status, "验证码错误,请重新输入验证码")
        return json.dumps(result.__dict__, ensure_ascii=False)
예제 #13
0
파일: front.py 프로젝트: LichuanLu/redberry
def get_pathology():
    if 'pathologyId' in request.args.keys():
        new_pathology = Pathology.getById(request.args['pathologyId'])
        if new_pathology is not None:
            pathologyDict = dataChangeService.get_pathology(new_pathology)
            result = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg,
                                     pathologyDict)
            return jsonify(result.__dict__, ensure_ascii=False)
    return jsonify(rs.SUCCESS.__dict__, ensure_ascii=False)
예제 #14
0
def getReport(reportId):
    report = Report.getReportById(reportId)
    if report:
        reportDict = object2dict.to_json(report, report.__class__)
        resultStatus = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg,
                                       reportDict)
        resultDict = resultStatus.__dict__
        return json.dumps(resultDict, ensure_ascii=False)
    return json.dumps(rs.NO_DATA, ensure_ascii=False)
예제 #15
0
def diagnoseCommentsByDiagnose(diagnoseId):

    diagnoseComments = Comment.getCommentBydiagnose(diagnoseId)
    if diagnoseComments is None or len(diagnoseComments) < 1:
        return jsonify(rs.SUCCESS.__dict__)
    diagnoseCommentsDict = object2dict.objects2dicts(diagnoseComments)
    resultStatus = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg,
                                   diagnoseCommentsDict)
    resultDict = resultStatus.__dict__
    return jsonify(resultDict)
예제 #16
0
def remarkMessage(messageId):
    status = request.args.get('status')
    result = None
    if status:
        result = Message.remarkMessage(db_session, messageId, status)
    else:
        result = Message.remarkMessage(db_session, messageId)
    resultStatus = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg, result)
    resultDict = resultStatus.__dict__
    return jsonify(resultDict)
예제 #17
0
파일: front.py 프로젝트: LichuanLu/redberry
def pathlogy_list():
    if 'patientId' in request.args.keys():
        patientId = request.args['patientId']
        pathlogys = Pathology.getByPatientId(patientId)
        if pathlogys is None or len(pathlogys) < 1:
            return jsonify(rs.SUCCESS.__dict__, ensure_ascii=False)
        pathlogysDict = dataChangeService.get_pathology_list(pathlogys)
        resultStatus = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg,
                                       pathlogysDict)
        return jsonify(resultStatus.__dict__, ensure_ascii=False)
    return jsonify(SUCCESS.__dict__)
예제 #18
0
def getDiagnoseAndImageDescList():
    diagnoseMethod = request.args.get('diagnoseMethod')
    diagnosePostion = request.args.get('diagnosePostion')
    if diagnosePostion:
        diagnosePostion += '\n'
    diagnoseAndImageDescs = DiagnoseTemplate.getDiagnoseAndImageDescs(
        diagnoseMethod, diagnosePostion)
    resultStatus = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg,
                                   diagnoseAndImageDescs)
    resultDict = resultStatus.__dict__
    return json.dumps(resultDict, ensure_ascii=False)
예제 #19
0
파일: front.py 프로젝트: LichuanLu/redberry
def patient_profile():
    if 'patientId' in request.args.keys():
        patientId = request.args['patientId']
        patient = Patient.get_patient_by_id(patientId)
        resultStatus = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg,
                                       patient.__dict__)
        if patient is None:
            return jsonify(resultStatus.__dict__)
        resultStatus.data = dataChangeService.get_patient(patient)
        return jsonify(resultStatus.__dict__)
    return jsonify(SUCCESS.__dict__)
예제 #20
0
def getPayStatsSummary():
    user = session['user_id']
    summary = DiagnosePayStats.getSummaryPayStats(user)
    dict = {}
    dict['ongoing'] = float(summary[0])
    dict['payable'] = float(summary[1])
    dict['paid'] = float(summary[2])
    dict['lastMonthRevenue'] = float(summary[3])

    resultJson = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg, dict)
    return json.dumps(resultJson.__dict__, default=json_encode_decimal)
예제 #21
0
def getUserFavorties(userId):
    type = request.args.get('type')
    if type is None:
        json.dumps(rs.PARAM_ERROR.__dict__, ensure_ascii=False)

    type = string.atoi(type)
    userFavorites = UserFavorites.getUserFavorties(userId, type)
    userFavoritesDict = dataChangeService.getUserFavoritiesDict(userFavorites)
    resultStatus = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg,
                                   userFavoritesDict)
    return json.dumps(resultStatus.__dict__, ensure_ascii=False)
예제 #22
0
def diagnoseCommentsByObserver(userId):

    diagnoseComments = Comment.getCommentByUser(userId,
                                                type=constant.CommentType)
    if diagnoseComments is None or len(diagnoseComments) < 1:
        return json.dumps(rs.SUCCESS.__dict__, ensure_ascii=False)
    diagnoseCommentsDict = object2dict.objects2dicts(diagnoseComments)
    resultStatus = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg,
                                   diagnoseCommentsDict)
    resultDict = resultStatus.__dict__
    return json.dumps(resultDict, ensure_ascii=False)
예제 #23
0
def getDiagnoseLog():
    if session.has_key('userId'):
        userId = session['userId']
    if userId is None:
        return redirect(LOGIN_URL)

    diagnoseLogs = AlipayLog.getAlipayLogsByUserId(userId)
    if diagnoseLogs and len(diagnoseLogs) > 0:
        resultLogs = object2dict.objects2dicts(diagnoseLogs)
        result = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg, resultLogs)
        return json.dumps(result.__dict__, ensure_ascii=False)
    return json.dumps(rs.SUCCESS.__dict__, ensure_ascii=False)
예제 #24
0
def diagnoseFinish(diagnoseId):
    diagnosePayStats = DiagnosePayStats()
    diagnose = Diagnose.getDiagnoseById(diagnoseId)
    diagnosePayStats.diagnoseId = diagnoseId
    diagnosePayStats.diagnoseSeriesNumber = diagnose.diagnoseSeriesNumber
    diagnosePayStats.userId = session["user_id"]
    diagnosePayStats.finishDate = datetime.now()
    diagnosePayStats.money = diagnose.money
    diagnosePayStats.status = constant.DiagnosePayStatsConstant.Ongoing
    DiagnosePayStats.save(diagnosePayStats)
    resultJson = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg)
    return json.dumps(resultJson.__dict__, ensure_ascii=False)
예제 #25
0
def checkVerifyCode():
    code = request.form.get('verifyCode')
    mobile = request.form.get('mobile')
    verifyCode = session.get('verifyCode')
    userId = session.get('userId')

    if verifyCode is None:
        result = rs.ResultStatus(rs.FAILURE.status, "请重新产生验证码")
        return json.dumps(result.__dict__, ensure_ascii=False)
    if code is None:
        result = rs.ResultStatus(rs.FAILURE.status, "验证码不能为空,请输入验证码")
        return json.dumps(result.__dict__, ensure_ascii=False)
    if code == verifyCode:
        if mobile:
            import re
            #p = re.compile(r"((13|14|15|18)d{9}$)")
            if len(mobile) == 11:
                user = User.update(userId,
                                   mobile=mobile,
                                   isBindPhone=constant.UserPhoneBind.Binded)
                if user:
                    return json.dumps(rs.SUCCESS.__dict__, ensure_ascii=False)
                else:
                    result = rs.ResultStatus(rs.FAILURE.status, "更新失败")
                    return json.dumps(result.__dict__, ensure_ascii=False)
            else:
                result = rs.ResultStatus(rs.FAILURE.status, "输入的电话号码格式有问题")
                return json.dumps(result.__dict__, ensure_ascii=False)
        else:
            result = rs.ResultStatus(rs.FAILURE.status, "请输入电话号码")
            return json.dumps(result.__dict__, ensure_ascii=False)
    else:
        result = rs.ResultStatus(rs.FAILURE.status, "验证码错误,请重新输入验证码")
        return json.dumps(result.__dict__, ensure_ascii=False)
예제 #26
0
def needCallBySupportStaff():
    pageNo = request.args.get('pageNumber')
    pageSize = request.args.get('pageSize')
    pager = Pagger(pageNo, pageSize)
    diagnoses = Diagnose.getDiagnosesBySupportStaff(pager)
    diagnosesDict = dataChangeService.getDiagnoseListByKefu(diagnoses)
    data = {}
    data['amount'] = 0
    if diagnosesDict:
        data['amount'] = len(diagnosesDict)
    data['list'] = diagnosesDict
    resultStatus = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg, data)
    resultDict = resultStatus.__dict__
    return json.dumps(resultDict, ensure_ascii=False)
예제 #27
0
def getMobileVerifyPhone(phoneNumber=None):
    try:
        telPhoneNo = str(phoneNumber)
        if User.is_existing_phone(telPhoneNo):
            LOG.info("verify success:" + phoneNumber)
            return json.dumps(rs.SUCCESS.__dict__, ensure_ascii=False)
        else:
            result = rs.ResultStatus(rs.FAILURE.status, "电话号码不存在")
            #LOG.info("!!!!" + str(result.__dict__) + "!!!!")
            return json.dumps(result.__dict__, ensure_ascii=False)

    except Exception, e:
        LOG.error(e.message)
        return json.dumps(rs.FAILURE.__dict__, ensure_ascii=False)
예제 #28
0
def getDiagnoseDetailInfo():
    diagnoseId = request.args.get('diagnoseId')
    if diagnoseId:
        diagnoseId = string.atoi(diagnoseId)
    else:
        return json.dumps(rs.PARAM_ERROR, ensure_ascii=False)

    diagnose = Diagnose.getDiagnoseById(diagnoseId)
    if diagnose:
        diagnoseResult = dataChangeService.getDiagnoseDetailInfo(diagnose)
        resultStatus = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg,
                                       diagnoseResult)
        resultDict = resultStatus.__dict__
        return json.dumps(resultDict, ensure_ascii=False)
    return json.dumps(rs.NO_DATA, ensure_ascii=False)
예제 #29
0
def messagesBySender(senderId):
    status = request.args.get('status')

    messages = None
    if status:
        messages = Message.getMessageByReceiver(senderId, status)
    else:
        messages = Message.getMessageByReceiver(senderId)
    if messages is None or len(messages) < 1:
        return jsonify(rs.SUCCESS.__dict__)
    messagesDict = object2dict.objects2dicts(messages)
    resultStatus = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg,
                                   messagesDict)
    resultDict = resultStatus.__dict__
    return jsonify(resultDict)
예제 #30
0
def getThanksNotes(userid):
    #status=request.args.get('status')

    pageNo = request.args.get('pageNo')
    pageSize = request.args.get('pageSize')
    pager = Pagger(pageNo, pageSize)

    thanksNotes = ThanksNote.getThanksNoteByReceiver(db_session, userid)
    if thanksNotes is None or len(thanksNotes) < 1:
        return json.dumps(rs.SUCCESS.__dict__, ensure_ascii=False)
    thanksNotesDict = object2dict.objects2dicts(thanksNotes)
    dataChangeService.setThanksNoteDetail(thanksNotesDict)
    resultStatus = rs.ResultStatus(rs.SUCCESS.status, rs.SUCCESS.msg,
                                   thanksNotesDict)
    resultDict = resultStatus.__dict__
    return json.dumps(resultDict, ensure_ascii=False)