已完成用户APP首期功能开发

交付用户端首期页面、配套接口、后台资源及测试文档。用户APP构建、静态分析和三个管理后台构建通过;完整测试仍有2项失败,后端模型注释检查未通过,详见交付记录。
This commit is contained in:
czl231
2026-09-13 00:57:32 +08:00
parent a0a4bb1218
commit 3ef33b531d
793 changed files with 40959 additions and 1204 deletions

View File

@@ -19,12 +19,13 @@ func ticketQueryWithDB(databaseService *gorm.DB, gasID uint64) *gorm.DB {
return common.ActiveRecords(databaseService.Model(&models.CsTicket{})).
Joins("JOIN user_service_relation ON user_service_relation.user_account_id = cs_ticket.user_account_id AND user_service_relation.status <> ?",
common.StatusArchived).
Where("user_service_relation.gas_basic_id = ?", gasID)
Where("((cs_ticket.gasorder_contract_id = 0 AND user_service_relation.gas_basic_id = ?) OR (cs_ticket.gasorder_contract_id <> 0 AND cs_ticket.gas_basic_id = ?))", gasID, gasID)
}
// ticketDetailDisplay 为工单详情附加当前记录所引用关系的可读名称,不修改工单归属数据。
type ticketDetailDisplay struct {
models.CsTicket
ContractRequestOpen int `gorm:"column:contract_request_open" json:"contract_request_open"`
UserAccountDisplayName string `gorm:"column:user_account_display_name" json:"user_account_display_name"`
DeliveryBasicDisplayName string `gorm:"column:delivery_basic_display_name" json:"delivery_basic_display_name"`
StaffAccountDisplayName string `gorm:"column:staff_account_display_name" json:"staff_account_display_name"`
@@ -40,6 +41,7 @@ func ticketDetailQuery(gasID uint64) *gorm.DB {
func ticketDetailQueryWithDB(databaseService *gorm.DB, gasID uint64) *gorm.DB {
return ticketQueryWithDB(databaseService, gasID).
Select(`cs_ticket.*,
CASE WHEN cs_ticket.gasorder_contract_id <> 0 AND cs_ticket.category = 'contract_change' AND cs_ticket.ticket_status IN (32, 11) THEN 1 ELSE 0 END AS contract_request_open,
COALESCE(NULLIF(ticket_user.name, ''), NULLIF(ticket_user.real_name, ''), NULLIF(ticket_user.username, ''), '用户记录已失效') AS user_account_display_name,
CASE WHEN cs_ticket.delivery_basic_id = 0 THEN '' ELSE COALESCE(NULLIF(ticket_delivery.name, ''), '配送点记录已失效') END AS delivery_basic_display_name,
CASE WHEN cs_ticket.staff_account_id = 0 THEN '' ELSE COALESCE(NULLIF(ticket_staff.name, ''), NULLIF(ticket_staff.username, ''), '工作人员记录已失效') END AS staff_account_display_name,
@@ -122,6 +124,10 @@ func UpdateTicket(ctx *gin.Context) {
if !ok {
return
}
if ticket.GasorderContractID != 0 && (user.ID != ticket.UserAccountID || request.Category != "contract_change") {
infra.Response.Error(ctx, errcode.ErrInvalidArgument)
return
}
if err := impl.DBService.Model(&ticket).Updates(map[string]any{
"user_account_id": user.ID, "ticket_no": request.TicketNo, "category": request.Category, "priority": request.Priority,
}).Error; err != nil {