mirror of
https://gitea.gofwd.group/Forward_Group/ballistic-builder-spring.git
synced 2025-12-06 11:06:45 -05:00
running finally..
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
package group.goforward.ballistic.controllers;
|
||||
|
||||
import group.goforward.ballistic.repos.PartCategoryRepository;
|
||||
import group.goforward.ballistic.web.dto.admin.PartCategoryDto;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/categories")
|
||||
@CrossOrigin // you can tighten origins later
|
||||
public class CategoryController {
|
||||
|
||||
private final PartCategoryRepository partCategories;
|
||||
|
||||
public CategoryController(PartCategoryRepository partCategories) {
|
||||
this.partCategories = partCategories;
|
||||
}
|
||||
|
||||
@GetMapping
|
||||
public List<PartCategoryDto> list() {
|
||||
return partCategories.findAllByOrderByGroupNameAscSortOrderAscNameAsc()
|
||||
.stream()
|
||||
.map(pc -> new PartCategoryDto(
|
||||
pc.getId(),
|
||||
pc.getSlug(),
|
||||
pc.getName(),
|
||||
pc.getDescription(),
|
||||
pc.getGroupName(),
|
||||
pc.getSortOrder()
|
||||
))
|
||||
.toList();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
// src/main/java/group/goforward/ballistic/model/CategoryMapping.java
|
||||
package group.goforward.ballistic.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
@Entity
|
||||
@Table(name = "category_mappings")
|
||||
public class CategoryMapping {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "id", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY, optional = false)
|
||||
@JoinColumn(name = "merchant_id", nullable = false)
|
||||
private Merchant merchant;
|
||||
|
||||
@Column(name = "raw_category_path", nullable = false)
|
||||
private String rawCategoryPath;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "part_category_id")
|
||||
private PartCategory partCategory;
|
||||
|
||||
@Column(name = "created_at", nullable = false)
|
||||
private OffsetDateTime createdAt = OffsetDateTime.now();
|
||||
|
||||
@Column(name = "updated_at", nullable = false)
|
||||
private OffsetDateTime updatedAt = OffsetDateTime.now();
|
||||
|
||||
@PrePersist
|
||||
public void onCreate() {
|
||||
OffsetDateTime now = OffsetDateTime.now();
|
||||
if (createdAt == null) {
|
||||
createdAt = now;
|
||||
}
|
||||
if (updatedAt == null) {
|
||||
updatedAt = now;
|
||||
}
|
||||
}
|
||||
|
||||
@PreUpdate
|
||||
public void onUpdate() {
|
||||
this.updatedAt = OffsetDateTime.now();
|
||||
}
|
||||
|
||||
// --- getters & setters ---
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Merchant getMerchant() {
|
||||
return merchant;
|
||||
}
|
||||
|
||||
public void setMerchant(Merchant merchant) {
|
||||
this.merchant = merchant;
|
||||
}
|
||||
|
||||
public String getRawCategoryPath() {
|
||||
return rawCategoryPath;
|
||||
}
|
||||
|
||||
public void setRawCategoryPath(String rawCategoryPath) {
|
||||
this.rawCategoryPath = rawCategoryPath;
|
||||
}
|
||||
|
||||
public PartCategory getPartCategory() {
|
||||
return partCategory;
|
||||
}
|
||||
|
||||
public void setPartCategory(PartCategory partCategory) {
|
||||
this.partCategory = partCategory;
|
||||
}
|
||||
|
||||
public OffsetDateTime getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(OffsetDateTime createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public OffsetDateTime getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(OffsetDateTime updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
// src/main/java/group/goforward/ballistic/web/dto/admin/MerchantCategoryMappingDto.java
|
||||
package group.goforward.ballistic.web.dto.admin;
|
||||
|
||||
public record MerchantCategoryMappingDto(
|
||||
Integer id,
|
||||
Integer merchantId,
|
||||
String merchantName,
|
||||
String rawCategoryPath,
|
||||
Integer partCategoryId,
|
||||
String partCategoryName
|
||||
) {}
|
||||
@@ -0,0 +1,6 @@
|
||||
package group.goforward.ballistic.web.dto.admin;
|
||||
|
||||
public record SimpleMerchantDto(
|
||||
Integer id,
|
||||
String name
|
||||
) { }
|
||||
@@ -0,0 +1,5 @@
|
||||
package group.goforward.ballistic.web.dto.admin;
|
||||
|
||||
public record UpdateMerchantCategoryMappingRequest(
|
||||
Integer partCategoryId
|
||||
) {}
|
||||
Reference in New Issue
Block a user