from sqlalchemy import or_ from models.entity import * from statusCode.responseEntity import SuccessResponse, BadResponse from statusCode.resultCode import ResultCode from utils.PageHepler import db_page_entity def GetList(entity, entityId, name, code, data, length=6, is_all=False): filterItem = entity.query.order_by(entityId.desc()) if data.get('query') is not None: filterItem = entity.query.filter( or_(name.contains(data['query']), code.contains(data['query']))) \ .order_by(entityId.desc()) if is_all: length = filterItem.count() return SuccessResponse(ResultCode.SUCCESS, {'totalNumber': filterItem.count(), 'list': db_page_entity(filterItem, data, length)}, None) def StatusChange(entity, dataId, data, entityId, stockNameLeft, stockNameRight): filterItem = entity.query.filter(entityId == dataId).first() if len(ReagtStock.query.filter(stockNameLeft == stockNameRight).all()) != 0: return SuccessResponse(ResultCode.DATA_OCCUPATION, None, None) using = data['Using'] != 'false' if filterItem.Using == using: return BadResponse(ResultCode.PARAM_IS_INVALID, None, None) filterItem.Using = using db.session.commit() return SuccessResponse(ResultCode.SUCCESS, None, None) def DictionaryAdd(existEntity, newEntity): if existEntity is not None: return SuccessResponse(ResultCode.DATA_ALREADY_EXISTED, None, None) db.session.add(newEntity) db.session.commit() return SuccessResponse(ResultCode.SUCCESS, None, None)