Skip to content
This repository has been archived by the owner on May 31, 2024. It is now read-only.

Release version 0.9.0 #180

Merged
merged 46 commits into from
Mar 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
5483afb
up to 0.8.0
hardingadonis Mar 3, 2024
53ee21c
optimize code of order detail page
bakaqc Mar 5, 2024
a833d60
add method `disableOnlyFullGroupBy`method in `OrderDAOImpl`
hardingadonis Mar 5, 2024
f1723b3
update format `created_at` in sql statement
hardingadonis Mar 5, 2024
5805ef5
Fix error getting parameter in front-end
htnghia1423 Mar 6, 2024
14f025b
Fix error check product quantity
htnghia1423 Mar 6, 2024
2847994
fixed bug 143 & 144
bakaqc Mar 6, 2024
510c139
Fix bug #141 display footer
htnghia1423 Mar 6, 2024
48214f5
edit logic for update-product page
bakaqc Mar 6, 2024
e000fc5
Thúy- fix bug 154 (Completed)
yuhtnguyen Mar 6, 2024
26e70c4
Update CustomerServlet.java
yuhtnguyen Mar 7, 2024
8e56dd2
Update add-customer.jsp
yuhtnguyen Mar 7, 2024
5a5de06
fix button Quay lại
bakaqc Mar 7, 2024
15ac9f0
Merge pull request #146 from hardingadonis/chuong-fix-bug-145
hardingadonis Mar 7, 2024
a625894
fix logic for name product input
bakaqc Mar 7, 2024
e5f56e4
Merge pull request #155 from hardingadonis/chuong-fix-bug-143-144
hardingadonis Mar 7, 2024
3ad7528
Merge pull request #151 from hardingadonis/nghia-fix-error-getting-pa…
bakaqc Mar 7, 2024
23b3c46
Merge pull request #153 from hardingadonis/nghia-fix-bug-152
hardingadonis Mar 7, 2024
d016d0a
Merge pull request #148 from hardingadonis/vuong-fix-147
hardingadonis Mar 7, 2024
ccbf8b2
Merge pull request #150 from hardingadonis/vuong-fix-149
hardingadonis Mar 7, 2024
8ebb155
Fix bug #161
htnghia1423 Mar 7, 2024
a75ec2d
Update time out alert
htnghia1423 Mar 7, 2024
010184c
Merge pull request #157 from hardingadonis/Thuy-fix-bug154
bakaqc Mar 7, 2024
bb409f1
Merge pull request #159 from hardingadonis/Thuy-fix-bug-158
bakaqc Mar 7, 2024
4829ac7
Fix unchecked positive product quantity
htnghia1423 Mar 7, 2024
e0b901f
Merge pull request #162 from hardingadonis/nghia-fix-bug-161
bakaqc Mar 7, 2024
47e3dd8
Merge pull request #163 from hardingadonis/nghia-fix-bug-152
bakaqc Mar 7, 2024
49b011e
Add status order in list order
htnghia1423 Mar 7, 2024
445b3f3
fix ghi chu
thson58 Mar 7, 2024
ec12186
fix mo tả 2
thson58 Mar 7, 2024
ff8887b
fix add customer
thson58 Mar 7, 2024
413dae6
linh-update-customer-field-null
linhlm0210 Mar 8, 2024
411b22b
linh-fix-update-order-note-and-switch-apter-update
linhlm0210 Mar 8, 2024
929adad
linh fix add customer page when duplicate code and email
linhlm0210 Mar 8, 2024
a6691bc
Update paging order
htnghia1423 Mar 9, 2024
8882979
Merge pull request #173 from hardingadonis/linh-fix-update-order
hardingadonis Mar 10, 2024
1807ecf
Merge pull request #167 from hardingadonis/nghia-add-status-order-in-…
hardingadonis Mar 10, 2024
b98eb2d
Merge pull request #178 from hardingadonis/nghia-update-paging-for-or…
hardingadonis Mar 10, 2024
5e106aa
Merge pull request #176 from hardingadonis/linh-fix-add-customer
hardingadonis Mar 10, 2024
c79e35c
địa chỉ
thson58 Mar 10, 2024
7596231
email
thson58 Mar 10, 2024
6e3c6fd
Merge branch 'dev' into sơn-error-when-add-customer-with-field-null
hardingadonis Mar 10, 2024
e4f1438
Merge pull request #168 from hardingadonis/fix-error-when-update-prod…
hardingadonis Mar 10, 2024
a6cd857
sửa thông báo null : địa chỉ , email
thson58 Mar 10, 2024
c21438f
Merge pull request #170 from hardingadonis/sơn-error-when-add-custome…
hardingadonis Mar 10, 2024
c1eca0d
prepare for release
hardingadonis Mar 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion get_version.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

major_version=0
minor_version=7
minor_version=8
path_version=0

echo "$major_version.$minor_version.$path_version"
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<groupId>io.hardingadonis</groupId>
<artifactId>saledock</artifactId>
<version>0.7.0</version>
<version>0.8.0</version>
<packaging>war</packaging>

<name>Sale Dock - v${project.version}</name>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import jakarta.servlet.*;
import jakarta.servlet.annotation.*;
import jakarta.servlet.http.*;
import java.sql.SQLException;

@WebServlet(name = "AddCustomerServlet", urlPatterns = {"/add-customer"})
public class AddCustomerServlet extends HttpServlet {
Expand All @@ -30,18 +31,35 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)
String address = request.getParameter("address");
String email = request.getParameter("email");

if (name.length() > 0 && code.length() > 0 && address.length() > 0 && email.length() > 0) {
try {
if (name.length() > 0 && code.length() > 0 && address.length() > 0 && email.length() > 0) {
Customer customer = new Customer();
customer.setName(name);
customer.setCode(code);
customer.setAddress(address);
customer.setEmail(email);
Singleton.customerDAO.save(customer);

response.sendRedirect(request.getContextPath() + "/customer");
return;
}
} catch (Exception e) {
Customer customer = new Customer();
customer.setName(name);
customer.setCode(code);
customer.setAddress(address);
customer.setEmail(email);
Singleton.customerDAO.save(customer);
StringBuilder message = new StringBuilder("Tạo khách hàng không thành công: ");
if (e.getMessage().contains(code)) {
message.append("Không được trùng mã khách hàng.");
}
if (e.getMessage().contains(email)) {
message.append("Không được trùng email.");
}
request.setAttribute("error", message.toString());
request.setAttribute("appendCustomer", customer);
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/view/jsp/management/customer/add-customer.jsp");
requestDispatcher.forward(request, response);

response.sendRedirect(request.getContextPath() + "/customer");
return;
}

response.sendRedirect(request.getContextPath() + "/add-customer");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,13 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response)
int pageNumber = 1;
int pageSize = 10;

// Get the requested page number
String pageStr = request.getParameter("page");
if (pageStr != null) {
pageNumber = Integer.parseInt(pageStr);
if (request.getParameter("page") != null) {
try {
pageNumber = Integer.parseInt(request.getParameter("page"));
} catch (Exception e) {
response.sendRedirect("./error-404");
return;
}
}

List<Customer> customers = Singleton.customerDAO.pagination((pageNumber - 1) * pageSize, pageSize);
Expand All @@ -38,7 +41,6 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response)
request.setAttribute("totalPages", totalPages);
request.setAttribute("pageSize", pageSize);
request.setAttribute("page", "customer");


request.getRequestDispatcher("/view/jsp/management/customer/customer.jsp").forward(request, response);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,11 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)

Integer id_customer = Integer.valueOf(id);
Customer customer = Singleton.customerDAO.getByID(id_customer).get();
if (!name.isEmpty()) {
customer.setName(name);
if (!name.trim().isEmpty()) {
customer.setName(name.trim());
}
if (!address.isEmpty()) {
customer.setAddress(address);
if (!address.trim().isEmpty()) {
customer.setAddress(address.trim());
}
Singleton.customerDAO.save(customer);
response.sendRedirect(request.getContextPath() + "/customer-detail?id="+id);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,24 +37,39 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)
}

String productIdParam = request.getParameter("productId");
String productQuantityParam = request.getParameter("productQuantity");

if (productIdParam == null || productIdParam.isEmpty()) {
request.setAttribute("message", "productNotExist");
request.setAttribute("message", "notInputProduct");
this.doGet(request, response);
return;
}

Integer productId = Integer.parseInt(productIdParam);
Integer productQuantity = Integer.parseInt(request.getParameter("productQuantity"));

if (productId == null) {
request.setAttribute("message", "notInputProduct");

if (productQuantityParam == null || productQuantityParam.isEmpty()) {
request.setAttribute("message", "notInputProductQuantity");
this.doGet(request, response);
return;
}

if (productQuantity == null) {
request.setAttribute("message", "notInputProduct");
if (!isInteger(productIdParam)) {
request.setAttribute("message", "productNotExist");
this.doGet(request, response);
return;
}

if (!isInteger(productQuantityParam)) {
request.setAttribute("message", "productQuantityNotExist");
this.doGet(request, response);
return;
}

Integer productId = Integer.parseInt(productIdParam);
Integer productQuantity = Integer.parseInt(productQuantityParam);

if(productQuantity <= 0){
request.setAttribute("message", "productQuantityNotPositive");
this.doGet(request, response);
return;
}

Optional<Product> product = Singleton.productDAO.getByID(productId);
Expand Down Expand Up @@ -96,4 +111,13 @@ private boolean checkCusIdParam(String customerIdParam) {
}
return true;
}

private boolean isInteger(String param){
try {
Integer.parseInt(param);
return true;
} catch (NumberFormatException e) {
return false;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,10 @@
import jakarta.servlet.http.*;
import java.io.*;
import java.util.*;
import java.util.stream.*;

@WebServlet(name = "OrderServlet", urlPatterns = {"/order"})
public class OrderServlet extends HttpServlet {

final static int LIMIT = 10;

@Override
Expand All @@ -22,20 +21,37 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response)

List<Order> orders = Singleton.orderDAO.getAll();
int count = Singleton.orderDAO.count();

int pageNum = getInteger(request.getParameter("page"));

String pageNumParam = request.getParameter("page");
int pageNum = 0;

if (pageNumParam == null || pageNumParam.isEmpty()) {
pageNum = 1;
} else {
try {
pageNum = Integer.parseInt(pageNumParam);
} catch (NumberFormatException e) {
response.sendRedirect("./error-404");
return;
}
}

if (pageNum < 0) {
response.sendRedirect("./error-404");
return;
}

int offset = pageNum;

if (offset == -1){
offset = 0;

if (offset == 0) {
pageNum = 1;
} else {
offset = (offset - 1)*LIMIT;
offset = (offset - 1) * LIMIT;
}
List<Order> orderPaging = Singleton.orderDAO.pagination(offset, LIMIT);

List<Order> orderPaging = Singleton.orderDAO.pagination(offset, LIMIT);
int total = Singleton.orderDAO.totalPages(LIMIT);

request.setAttribute("numOfOrder", count);
request.setAttribute("currentPage", pageNum);
request.setAttribute("totalPage", total);
Expand All @@ -50,15 +66,4 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response)
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}

private static int getInteger(String parameter){
if (parameter == null) {
return -1;
}
try {
return Integer.parseInt(parameter);
} catch (NumberFormatException e) {
return -1;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

@WebServlet(name = "UpdateOrderServlet", urlPatterns = {"/update-order"})
public class UpdateOrderServlet extends HttpServlet {

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Expand Down Expand Up @@ -43,26 +44,27 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)
String ID = request.getParameter("id");
Order order = Singleton.orderDAO.getByID(Integer.valueOf(ID)).orElse(null);


String status = request.getParameter("status");


if (status != null && !status.equals(order.getStatus()) ) {

order.setStatus(Order.Status.valueOf(status));
Singleton.orderDAO.save(order);
String note = request.getParameter("note");

response.sendRedirect("./order");
return;
}
else {
response.sendRedirect("./order");
return;
if (status != null && !status.equals(order.getStatus())) {

order.setStatus(Order.Status.valueOf(status));

}
if(!note.trim().isEmpty()){
order.setNote(note.trim());
}
Singleton.orderDAO.save(order);

response.sendRedirect(request.getContextPath() + "/order-detail?id=" + ID);

// else {
// response.sendRedirect(request.getContextPath() + "/order-detail?id=" + ID);
// return;
// }

}





}
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,10 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)
return;
}
Integer idP = Integer.valueOf(pId);
String productName = request.getParameter("productName");
String productName = request.getParameter("productName").trim();
String productDescription = request.getParameter("productDescription");
double price = Double.parseDouble(request.getParameter("price"));
String productPrice = request.getParameter("price");

Part part = request.getPart("imageUpload");
String imgURL = null;
if (part.getSize() > 0) {
Expand All @@ -88,16 +88,28 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)
part.write(realPath + "/" + fileName);
}


Product product = Singleton.productDAO.getByID(idP).get();
product.setPrice(price);
product.setName(productName);
product.setImageURL(imgURL);
product.setDescription(productDescription);
if (!productName.isEmpty()) {
product.setName(productName);
}
if (!productPrice.isEmpty()) {
product.setPrice(Double.parseDouble(productPrice));
}
if (imgURL != null) {
product.setImageURL(imgURL);
}
if (!productDescription.isEmpty()) {
product.setDescription(productDescription);
}

if (productDescription.trim().length() > 0) {
product.setDescription(productDescription.trim());

}

Singleton.productDAO.save(product);

response.sendRedirect("./product");
response.sendRedirect("./product-detail?id=" + idP);
}

}
Loading
Loading