Пример #1
0
def module_list():
    j_data = request.json
    if j_data is None:
        return Fun.class_to_JsonStr(AppReturnDTO(False, "参数有误"))
    in_ent = RequestPagesModel(j_data)
    where = []
    for search in in_ent.SearchKey:
        if search["Type"] == "like":
            where.append(
                eval("FaModule.%(Key)s.like('%%%(Value)s%%')" % search))
        else:
            where.append(eval("FaModule.%(Key)s%(Type)s%(Value)s" % search))

    criterion = []
    for search in in_ent.OrderBy:
        search["Value"] = search["Value"].lower()
        criterion.append(eval("FaModule.%(Key)s.%(Value)s()" % search))

    _modele = ModuleDal()
    re_ent, message = _modele.module_findall(in_ent.PageIndex, in_ent.PageSize,
                                             criterion, where)

    if message.IsSuccess:
        message.set_data(re_ent)
    return Fun.class_to_JsonStr(message)
Пример #2
0
def ApiUserInfoSave():

    j_data = request.json
    if j_data is None:
        return Fun.class_to_JsonStr(AppReturnDTO(False, "参数有误"))
    in_ent = RequestSaveModel(j_data)
    _modele = UserInfoDal()
    # 更新添加的用户
    if hasattr(g, "current_user"):
        # 表示添加
        if "ID" not in in_ent.Data or in_ent.Data["ID"] is None or in_ent.Data[
                "ID"] == 0:
            in_ent.Data["CREATE_USER_NAME"] = g.current_user.NAME
            if "CREATE_USER_NAME" not in in_ent.SaveKeys:
                in_ent.SaveKeys.append('CREATE_USER_NAME')

            in_ent.Data["CREATE_USER_ID"] = g.current_user.ID
            if "CREATE_USER_ID" not in in_ent.SaveKeys:
                in_ent.SaveKeys.append('CREATE_USER_ID')
    # 设置角色
    in_ent.Data["roleIdList"] = "3"
    if "roleIdList" not in in_ent.SaveKeys:
        in_ent.SaveKeys.append('roleIdList')
    re_ent, message = _modele.userInfo_Save(in_dict=in_ent.Data,
                                            saveKeys=in_ent.SaveKeys)
    if message.IsSuccess:
        message.Data = json.loads(json.dumps(re_ent, cls=AlchemyEncoder))
        # message.set_data(re_ent)
    return Fun.class_to_JsonStr(message)
Пример #3
0
def ApiPublicUpload():
    if request.method == 'POST':
        f = request.files['file']
        basepath = os.path.dirname(__file__)
        newName = "{0}{1}".format(
            str(time.time())[0:10], f.filename[f.filename.rfind("."):])
        upload_path = os.path.join(basepath, "../static/uploads", newName)
        f.save(upload_path)
        userId = 0
        if hasattr(g, "current_user"):
            userId = g.current_user.ID
        addFile = {
            "NAME": f.filename,
            "URL": 'uploads/{0}'.format(newName),
            "PATH": upload_path,
            "USER_ID": userId,
            "LENGTH": len(f.read()),
            "UPLOAD_TIME": datetime.datetime.now(),
        }
        dal = FileDal()
        re_ent, message = dal.file_Save(addFile, [])
        if message.IsSuccess:
            tmp = json.dumps(re_ent, cls=AlchemyEncoder)
            if len(tmp) < 5:
                tmp = json.dumps(re_ent, cls=AlchemyEncoder)
            msg = json.loads(tmp)
            # print(tmp)
            # print(re_ent)
            # print(msg)
            message.Data = msg
        reStr = Fun.class_to_JsonStr(message)
        return reStr
    return Fun.class_to_JsonStr(AppReturnDTO(False))
Пример #4
0
def view_export():
    """
    导出EXCEL文件
    """
    j_data = request.json
    if j_data is None:
        return Fun.class_to_JsonStr(AppReturnDTO(False, "参数有误"))
    in_ent = RequestPagesModel(j_data)

    _modele = QueryDal()
    sql, cfg, message = _modele.query_GetSqlByCode(
        in_ent.Key, in_ent.SearchKey, in_ent.OrderBy)
    if not message.IsSuccess:
        return Fun.class_to_JsonStr(message)

    _dict, message = Fun.sql_to_dict(sql)
    if not message.IsSuccess:
        return Fun.class_to_JsonStr(message)

    dirpath = os.path.join(app.root_path, 'download')
    file_name = "query_{0}.xlsx".format(in_ent.Key)

    Of.Office.ExportToXls(_dict, cfg, dirpath + "\\" + file_name)
    # directory = os.getcwd()  # 假设在当前目录
    # response = make_response(
    #     send_from_directory(directory, file_name, as_attachment=True))
    # response.headers["Content-Disposition"] = "attachment; filename={}".format(
    #     file_name.encode().decode('latin-1'))

    return Fun.class_to_JsonStr(
        AppReturnDTO(True, "{0}/{1}".format('download', file_name)))
Пример #5
0
def module_delete():
    j_data = request.json
    if j_data is None:
        return Fun.class_to_JsonStr(AppReturnDTO(False, "参数有误"))
    in_ent = PostBaseModel(j_data)
    _modele = ModuleDal()
    message = _modele.module_delete(in_ent.Key)
    return Fun.class_to_JsonStr(message)
Пример #6
0
def auth_UserLogin():
    '''手机用户登录'''
    j_data = request.json
    if j_data is None:
        return Fun.class_to_JsonStr(AppReturnDTO(False, "参数有误"))
    _model = UserDal()

    ent = _model.user_login(j_data)
    return Fun.class_to_JsonStr(ent)
Пример #7
0
def query_single_code():
    j_data = request.json
    if j_data is None:
        return Fun.class_to_JsonStr(AppReturnDTO(False, "参数有误"))
    in_ent = PostBaseModel(j_data)
    _modele = QueryDal()
    re_ent, message = _modele.query_singleByCode(in_ent.Key)
    if message.IsSuccess:
        message.set_data(re_ent)
    return Fun.class_to_JsonStr(message)
Пример #8
0
def module_save():
    j_data = request.json
    if j_data is None:
        return Fun.class_to_JsonStr(AppReturnDTO(False, "参数有误"))
    in_ent = RequestSaveModel(j_data)
    _modele = ModuleDal()
    re_ent, message = _modele.module_Save(in_dict=in_ent.Data,
                                          saveKeys=in_ent.SaveKeys)
    if message.IsSuccess:
        message.set_data(re_ent)
    return Fun.class_to_JsonStr(message)
Пример #9
0
def UserInfo_Register():
    '''
    用于手机端注册用户
    '''
    j_data, message = Fun.post_to_dict(request)
    if j_data is None:
        return Fun.class_to_JsonStr(message)
    postEnt = RequestSaveModel(j_data)
    if postEnt is None or postEnt.Data is None:
        return Fun.class_to_JsonStr(AppReturnDTO(False, "参数有问题"))
    dal = UserInfoDal()
    postEnt = dal.userInfo_register(postEnt.Data)
    return Fun.class_to_JsonStr(postEnt)
Пример #10
0
def ApiPublicGetSolarDate():
    j_data, msg = Fun.post_to_dict(request)
    if j_data is None:
        return Fun.class_to_JsonStr(msg)
    postEnt = RequestSaveModel(j_data)
    if postEnt is None or postEnt.Data is None:
        return Fun.class_to_JsonStr(AppReturnDTO(False, "参数有问题"))

    t = time.strptime(postEnt.Data["Data"], "%Y-%m-%d")
    y, m, d = t[0:3]
    reStr = iSoft.core.LunarDate.LunarDate.fromSolarDate(y, m, d)
    reStr = "{0}-{1}-{2}".format(reStr.year, reStr.month, reStr.day)
    return Fun.class_to_JsonStr(AppReturnDTO(True, reStr))
Пример #11
0
def query_query():
    j_data = request.json
    if j_data is None:
        return Fun.class_to_JsonStr(AppReturnDTO(False, "参数有误"))
    in_ent = RequestPagesModel(j_data)

    _modele = QueryDal()
    re_ent, message = _modele.query_queryByCode(in_ent.Key, in_ent.PageIndex,
                                                in_ent.PageSize,
                                                in_ent.OrderBy,
                                                in_ent.SearchKey)

    if message.IsSuccess:
        message.set_dict_data(re_ent)
    return Fun.class_to_JsonStr(message)
Пример #12
0
def ApiPublicGetLunarDate():
    '获取阴历'
    j_data, msg = Fun.post_to_dict(request)
    if j_data is None:
        return Fun.class_to_JsonStr(msg)
    postEnt = RequestSaveModel(j_data)
    if postEnt is None or postEnt.Data is None:
        return Fun.class_to_JsonStr(AppReturnDTO(False, "参数有问题"))

    t = time.strptime(postEnt.Data["Data"], "%Y-%m-%dT%H:%M")
    y, m, d, h = t[0:4]
    converter = LunarSolarConverter()
    solar = Solar(y, m, d)
    lunar = converter.SolarToLunar(solar)
    reStr = "%d年%02d月%02d日%02d时" % (lunar.lunarYear, lunar.lunarMonth,
                                    lunar.lunarDay, h)
    return Fun.class_to_JsonStr(AppReturnDTO(True, reStr))
Пример #13
0
def user_module():
    '''
    获取用户的所有模块
    '''
    j_data = request.json
    if j_data is None:
        return Fun.class_to_JsonStr(AppReturnDTO(False, "参数有误"))
    in_ent = PostBaseModel(j_data)
    _mod = UserDal()
    if g == None:
        return Fun.class_to_JsonStr(AppReturnDTO(False, "没有登录"))

    re_ent, message = _mod.user_all_module(g.current_user['ID'])
    if message.IsSuccess:
        message.set_data(re_ent)

    return Fun.class_to_JsonStr(message)
Пример #14
0
def ApiUserInfoSingle():
    '''
    重置密码:RequestSaveModel对象,其中Data里包括VerifyCode,LoginName、NewPwd
    '''
    j_data, message = Fun.post_to_dict(request)
    if j_data is None:
        return Fun.class_to_JsonStr(message)
    in_ent = PostBaseModel(j_data)

    if Fun.IsNullOrEmpty(in_ent.Key):
        return Fun.class_to_JsonStr(AppReturnDTO(False, "参数有问题"))

    dal = UserInfoDal()
    delMode, message = dal.userInfo_single(in_ent.Key)
    if message.IsSuccess:
        message.set_data(delMode)
    return Fun.class_to_JsonStr(message)
Пример #15
0
def ApiFamilyUserInfoRelative():

    j_data, message = Fun.post_to_dict(request)
    if j_data is None:
        return Fun.class_to_JsonStr(message)
    in_ent = PostBaseModel(j_data)
    if in_ent is None:
        return Fun.class_to_JsonStr(AppReturnDTO(False, "参数有问题"))

    dal = FamilyDal()
    # 如果没有传值,则显示当前用户的ID
    if Fun.IsNullOrEmpty(in_ent.Key):
        in_ent.Key = 1

    re_ent, message = dal.UserInfoRelative(in_ent.Key)
    if message.IsSuccess:
        message.Data = re_ent.__dict__
    return Fun.class_to_JsonStr(message)
Пример #16
0
def CheckUpdate():
    '获取最新版本'
    j_data, msg = Fun.post_to_dict(request)
    if j_data is None:
        return Fun.class_to_JsonStr(msg)
    postEnt = RequestSaveModel(j_data)

    dirpath = os.path.join(app.root_path, '../static/')
    #设置以utf-8解码模式读取文件,encoding参数必须设置,否则默认以gbk模式读取文件,当文件中包含中文时,会报错
    f = open("{0}update/wjbjp/wjbjp.json".format(dirpath), encoding='utf-8')
    setting = json.load(f)
    reJson = None
    for item in setting:
        if item["CODE"] > postEnt.Key:
            reJson = item
            print(item["CODE"])
            break
    return Fun.class_to_JsonStr(AppReturnDTO(True, "", reJson))
Пример #17
0
def UserInfo_SingleByName():
    '''
    根据用户名查询用户:RequestSaveModel对象,其中Data里包括name
    '''
    j_data, message = Fun.post_to_dict(request)
    if j_data is None:
        return Fun.class_to_JsonStr(message)

    postEnt = RequestSaveModel(j_data)
    if postEnt is None or postEnt.Data is None:
        return Fun.class_to_JsonStr(AppReturnDTO(False, "参数有问题"))

    if "name" not in postEnt.Data or Fun.IsNullOrEmpty(postEnt.Data["name"]):
        return Fun.class_to_JsonStr(AppReturnDTO(False, "没有值"))

    dal = UserInfoDal()
    re_ent, message = dal.userInfo_SingleByName(postEnt.Data["name"])
    if message.IsSuccess:
        message.set_data(re_ent)
    return json.dumps(Fun.convert_to_dict(message))
Пример #18
0
def ApiResetPassword():
    '''
    重置密码:RequestSaveModel对象,其中Data里包括VerifyCode,LoginName、NewPwd
    '''
    j_data, message = Fun.post_to_dict(request)
    if j_data is None:
        return Fun.class_to_JsonStr(message)

    postEnt = RequestSaveModel(j_data)
    if postEnt is None or postEnt.Data is None:
        return Fun.class_to_JsonStr(AppReturnDTO(False, "参数有问题"))

    dal = LoginDal()
    re_ent, message = dal.ResetPassword(postEnt.Data["VerifyCode"],
                                        postEnt.Data["LoginName"],
                                        postEnt.Data["NewPwd"])

    if message.IsSuccess:
        message.set_data(re_ent)
    return json.dumps(Fun.convert_to_dict(message))
Пример #19
0
def user_reg():
    '''用户注册'''
    j_data = request.json 
    if j_data is None:
        return Fun.class_to_JsonStr(AppReturnDTO(False, "参数有误"))

    ent = AuthDal.login_reg(j_data)

    print(ent.__dict__)
    # return json.dumps(ent, cls=AlchemyEncoder)
    return json.dumps(Fun.convert_to_dict(ent), ensure_ascii=False)
Пример #20
0
def ApiPublicSendCode():
    '''
    发送短信:RequestSaveModel对象,其中Data里包括phone
    '''
    j_data, msg = Fun.post_to_dict(request)
    if j_data is None:
        return Fun.class_to_JsonStr(msg)

    postEnt = RequestSaveModel(j_data)
    if postEnt is None or postEnt.Data is None:
        return Fun.class_to_JsonStr(AppReturnDTO(False, "参数有问题"))

    if "phoneNum" not in postEnt.Data or postEnt.Data[
            "phoneNum"] is None or postEnt.Data["phoneNum"] == "":
        return Fun.class_to_JsonStr(AppReturnDTO(False, "没有获取phoneNum的值"))

    # 生成随机代码
    code = random.randint(1000, 9999)
    dal = LoginDal()
    re_ent = dal.UpdateCode(postEnt.Data["phoneNum"], code)
    return json.dumps(Fun.convert_to_dict(re_ent))