zoukankan      html  css  js  c++  java
  • 男神鹏:使用golang gin 框架 实现 个人信息完善度

    今天遇到一个根据信息表单的修改实时性的修改完善度的需求,一开始是百思不得其解。

    后来,沉下心来想了想,发现逻辑非常的简单,就那么一个小点把我当时给误住了。

    实现逻辑就是 

    首先用一个变量 = 有值的字段/总字段

    因有值的字段是随时都变的,因此要设置为n

    然后遍历表中的值,看看那些有那些没有(可以对数据判空或者判0)

    得到之后再将它更新便可以了

    以下代码详解

    var n float64

    var datas []string
    datas = []string{contactsrelationship, countries, idpostcode, marriage, national, nowaddresspostcode, professional, workunitspostcode}

    for _, value := range datas {
    if value != "0" {
    n++

    }
    }

    var datass []string
    datass = []string{birthaddress, contactsaddress, contactsname, contactstelphone, healthcardnum, idaddress, iddetailedaddress, nativeplace, nowaddress,
    nowdetailedaddress, nowtelphone, workunits, workunitsaddress, workunitstelphone}

    for _, value := range datass {
    if value != "" {
    n++

    }
    }
    var nums float64
    nums = (6 + n) / 28
    perfect, err := strconv.ParseFloat(fmt.Sprintf("%.2f", nums), 64)

    idd := c.Param("id")
    IntID, errr := strconv.Atoi(idd)
    if errr != nil {
    appG.Response(http.StatusOK, consts.INVALID_PARAMS, nil)
    return
    }
    var patientPersonalFiless model.PatientPersonalFile
    err = patientPersonalFiless.GetPatientPersonalFile(IntID)
    if err != nil {
    appG.Response(http.StatusOK, consts.ERROR_NOT_ID, nil)
    return
    }

    value := model.Values{
    "id": patientPersonalFiless.PatientID,
    "perfect": perfect,
    }

    var patient model.Patient
    successs, errs := patient.UpdatePatientPerfect(value)
    if errs != nil || successs == false {
    appG.Response(http.StatusOK, consts.ERROR_EDIT_CONTENT, nil)
    return
    }

    appG.Response(http.StatusOK, consts.SUCCESS, "修改成功")
    return
    }
  • 相关阅读:
    0316-复利计算更新
    实验一 了解和掌握操作系统
    复利计划1.0
    0916 词法分析(2)
    0916词法分析
    0909 编译原理 第1次上机
    单元测试代码
    单元测试
    实验一:命令解释程序
    《构建之法》现代软件工程第1、2、3章读后感
  • 原文地址:https://www.cnblogs.com/lyp0626/p/12056092.html
Copyright © 2011-2022 走看看