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)
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)
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))
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)))
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)
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)
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)
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)
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)
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))
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)
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))
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)
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)
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)
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))
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))
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))
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)
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))