Java SpringBoot, DateTime,Timestamp автоматическое заполнение в БД, как сделать через Model и Controller


import com.company.blog.models.*;
import com.company.blog.repo.RequestRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.sql.Timestamp;

@Controller
public class AccountClientControllers {
   
    @Autowired
    private RequestRepository requestRepository;

    @GetMapping("/Request")
    public String Request(Model model){
        model.addAttribute("title", "Заявки");
        return "ClientHTML/request";
    }

    @PostMapping("/Request")
    public String Request( @RequestParam Timestamp createDate,
                           @RequestParam String korpus,
                           @RequestParam String myRoomId,
                           @RequestParam String textRequest,
                           @RequestParam String toWhom,
                           @RequestParam Timestamp createEndDate,
                           @RequestParam String fulfilled,
                           Model model) {
        Request post = new Request (createDate,korpus, myRoomId, textRequest,
                                    toWhom,createEndDate,fulfilled);
        requestRepository.save(post);
        return "request";
    }
}
import org.hibernate.annotations.CreationTimestamp;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.sql.Timestamp;


@Entity
public class Request {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long request_id;
    @CreationTimestamp
    private Timestamp createDate;
    private String korpus;
    private String myRoomId;
    private String textRequest;
    private String toWhom;
    @CreationTimestamp
    private Timestamp createEndDate;
    private String fulfilled;

    public Request(Timestamp createDate, String korpus, String myRoomId, String textRequest,
                    String toWhom, Timestamp createEndDate, String fulfilled) {
        this.createDate=createDate;
        this.korpus = korpus;
        this.myRoomId = myRoomId;
        this.textRequest = textRequest;
        this.toWhom = toWhom;
        this.createEndDate = createEndDate;
        this.fulfilled = fulfilled;
    }

    public Request (){

    }


    public Long getRequest_id() {
        return request_id;
    }

    public void setRequest_id(Long request_id) {
        this.request_id = request_id;
    }

    public Timestamp getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Timestamp createDate) {
        this.createDate = createDate;
    }

    public String getKorpus() {
        return korpus;
    }

    public void setKorpus(String korpus) {
        this.korpus = korpus;
    }

    public String getMyRoomId() {
        return myRoomId;
    }

    public void setMyRoomId(String myRoomId) {
        this.myRoomId = myRoomId;
    }

    public String getTextRequest() {
        return textRequest;
    }

    public void setTextRequest(String textRequest) {
        this.textRequest = textRequest;
    }

    public String getToWhom() {
        return toWhom;
    }

    public void setToWhom(String toWhom) {
        this.toWhom = toWhom;
    }

    public Timestamp getCreateEndDate() {
        return createEndDate;
    }

    public void setCreateEndDate(Timestamp createEndDate) {
        this.createEndDate = createEndDate;
    }

    public String getFulfilled() {
        return fulfilled;
    }

    public void setFulfilled(String fulfilled) {
        this.fulfilled = fulfilled;
    }
}

    import com.company.blog.models.Request;
    import org.springframework.data.repository.CrudRepository;
    
    public interface RequestRepository extends CrudRepository <Request, Long> {
    }

<section class="newRequest">
    <h3 >Написать заявку</h3>
    <br>
    <form action="/Request" method="post">
        <div class="allDivRequest">

            <div class="DivRequest">
                <input type="text" onkeyup="checkParams()" id="korpus" name="korpus" placeholder="Ваш № корпуса">
            </div>

            <div class="DivRequest">
                <input type="text" onkeyup="checkParams()" id="myRoomId" name="myRoomId" placeholder="Ваш № комнаты">
            </div>

            <div class="DivRequest">
                <textarea class="size" name="text" id="text" placeholder="Опишите проблему"></textarea>
            </div>

            <div class="DivRequest">
                <button  type="submit">Добавить</button>
            </div>

        </div>
    </form>

</section>

x

Есть таблица заявок, где первую часть (Дата и время, Корпус, Комната, Описание заявки, Кому) принадлежит

клиенту, ему все поля доступны кроме (Дата и время)

Вторую часть (уже редактирует) сотрудник (Статус, Дата и время, кто выполнил) сотруднику также эти поля доступны для редактирования кроме (Дата и время)

Я хочу чтобы когда клиент заносил (Корпус, Комната, Описание, Кому) (Дата и время) ставилась автоматически, и точно также сотруднику когда тот редактирует (добавляет записи в БД) что выполнил

Как правильно составить Model и Controller, чтобы все работало

Буду рад любой помощи и источникам информации


Ответы (0 шт):