(no commit message provided)

Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
This commit is contained in:
dxc
2026-02-09 12:11:01 +08:00
parent 164988ab62
commit 6131b474a1
4 changed files with 163 additions and 10 deletions

View File

@ -6,6 +6,22 @@ from app.services.inbound.service_service import ServiceService
from app.utils.decorators import role_required
@inbound_bp.route('/service/search-base', methods=['GET'])
@jwt_required()
def search_base():
"""搜索基础物料"""
keyword = request.args.get('keyword', '')
try:
data = ServiceService.search_base_material(keyword)
return jsonify({
'code': 200,
'msg': 'success',
'data': data
})
except Exception as e:
current_app.logger.error(f'搜索基础物料失败: {str(e)}')
return jsonify({'code': 500, 'msg': '内部服务器错误'}), 500
@inbound_bp.route('/service', methods=['GET'])
@jwt_required()
def get_service_list():

View File

@ -33,6 +33,35 @@ class ServiceService:
suffix = str(suffix_num).zfill(cls.SKU_SUFFIX_LEN)
return f'{prefix}{suffix}'
@classmethod
def search_base_material(cls, keyword):
"""搜索基础物料,供前端远程选择"""
try:
query = MaterialBase.query.filter(MaterialBase.is_enabled == True)
if keyword:
query = query.filter(
db.or_(
MaterialBase.name.ilike(f'%{keyword}%'),
MaterialBase.spec_model.ilike(f'%{keyword}%'),
)
)
query = query.order_by(MaterialBase.id.desc()).limit(20)
results = []
for item in query.all():
results.append({
'id': item.id,
'name': item.name,
'spec': item.spec_model,
'category': item.category,
'unit': item.unit,
'type': item.material_type,
})
return results
except Exception as e:
import traceback
traceback.print_exc()
return []
@classmethod
def create_service(cls, data):
"""创建服务权益记录"""