Procházet zdrojové kódy

基础CURD功能完成

skyfffire před 1 týdnem
rodič
revize
7dabf20dcf

+ 1 - 1
src/main/java/common/jfinal/AppConfig.java

@@ -118,8 +118,8 @@ public class AppConfig extends JFinalConfig {
         if (DEV_MODE.equals("0")) {
             TaskScheduler.submit(new OrderStatusMaintenanceTask(new OrderService(), new UserService()));
             TaskScheduler.submit(new NfttStatusMaintenanceTask());
+            TaskScheduler.submit(new WithdrawMaintenanceTask());
         }
-        TaskScheduler.submit(new WithdrawMaintenanceTask());
     }
 
     @Override

+ 7 - 0
src/main/java/common/model/base/BaseAddress.java

@@ -100,6 +100,13 @@ public abstract class BaseAddress<M extends BaseAddress<M>> extends Model<M> imp
 	public java.lang.Long getUpdateTime() {
 		return getLong("update_time");
 	}
+	public void setIsDeleted(java.lang.Integer isDeleted) {
+		set("is_deleted", isDeleted);
+	}
+	
+	public java.lang.Integer getIsDeleted() {
+		return getInt("is_deleted");
+	}
 	
 	public boolean save() {
 		set("create_time", System.currentTimeMillis());

+ 58 - 9
src/main/java/modules/address/AddressController.java

@@ -3,7 +3,9 @@ package modules.address;
 import com.alibaba.fastjson.JSONObject;
 import com.jfinal.aop.Before;
 import com.jfinal.aop.Inject;
+import com.jfinal.kit.StrKit;
 import common.interceptor.LoginInterceptor;
+import common.interceptor.empty.EmptyInterface;
 import common.model.Address;
 import common.model.User;
 import common.utils.http.MyController;
@@ -20,7 +22,7 @@ public class AddressController extends MyController {
     @Inject
     private UserService userService;
 
-    public void index() {
+    public void hello() {
         renderText("Hello, Address!");
     }
 
@@ -62,24 +64,71 @@ public class AddressController extends MyController {
     /**
      * 新增或修改收货地址
      */
+    @EmptyInterface({"recipient_name", "phone_number", "detailed_address"})
     public void save() {
         User user = userService.findUserByMobileNumber(getSessionAttr("mobile_number"));
-        Address address = getModel(Address.class, "");
+        JSONObject json = MyController.getJsonModelByRequestAndType(getRequest(), JSONObject.class);
+
+        Address address = new Address();
+        Integer id = json.getInteger("id");
+        if (id != null) {
+            address = service.findById(id, user.getId());
+            if (address == null) {
+                renderJson(MyRet.fail("地址不存在"));
+                return;
+            }
+        }
+
+        String recipientName = json.getString("recipient_name");
+        if (StrKit.isBlank(recipientName)) {
+            renderJson(MyRet.fail("收货人姓名不能为空"));
+            return;
+        }
+        address.setRecipientName(recipientName);
+
+        String phoneNumber = json.getString("phone_number");
+        if (StrKit.isBlank(phoneNumber)) {
+            renderJson(MyRet.fail("手机号码不能为空"));
+            return;
+        }
+        address.setPhoneNumber(phoneNumber);
+
+        String detailedAddress = json.getString("detailed_address");
+        if (StrKit.isBlank(detailedAddress)) {
+            renderJson(MyRet.fail("详细地址不能为空"));
+            return;
+        }
+        address.setDetailedAddress(detailedAddress);
+
+        Object isDefaultObj = json.get("is_default");
+        if (isDefaultObj != null) {
+            try {
+                int isDefaultValue = com.alibaba.fastjson.util.TypeUtils.castToInt(isDefaultObj);
+                if (isDefaultValue == 0 || isDefaultValue == 1) {
+                    address.setIsDefault(isDefaultValue);
+                } else {
+                    renderJson(MyRet.fail("is_default 字段的值必须是 0 或 1"));
+                    return;
+                }
+            } catch (Exception e) {
+                renderJson(MyRet.fail("is_default 字段格式不正确,必须是数字 0 或 1"));
+                return;
+            }
+        }
+
         address.setUserId(user.getId().intValue());
 
-        if (address.getId() == null) {
-            // 新增
+        if (id == null) {
             if (service.save(address)) {
-                renderJson(MyRet.ok("添加成功").setData(address));
+                renderJson(MyRet.ok("保存成功").setData(address));
             } else {
-                renderJson(MyRet.fail("添加失败"));
+                renderJson(MyRet.fail("保存失败"));
             }
         } else {
-            // 修改
             if (service.update(address)) {
-                renderJson(MyRet.ok("修改成功").setData(address));
+                renderJson(MyRet.ok("更新成功").setData(address));
             } else {
-                renderJson(MyRet.fail("修改失败"));
+                renderJson(MyRet.fail("更新失败"));
             }
         }
     }

+ 7 - 1
src/main/java/modules/address/AddressService.java

@@ -34,7 +34,13 @@ public class AddressService {
     }
 
     public boolean delete(int id, Long userId) {
-        return Db.update("delete from t_address where id = ? and user_id = ?", id, userId) > 0;
+        Address address = findById(id, userId);
+        if (address == null) {
+            return false;
+        }
+        
+        address.setIsDeleted(1);
+        return address.update();
     }
 
     public boolean setDefault(int id, Long userId) {

+ 0 - 1
src/main/java/modules/order/OrderStatusMaintenanceTask.java

@@ -3,7 +3,6 @@ package modules.order;
 import com.alibaba.fastjson.JSONObject;
 import com.jfinal.kit.StrKit;
 import com.jfinal.plugin.activerecord.Db;
-import com.sun.org.apache.xpath.internal.operations.Or;
 import common.jfinal.AppConfig;
 import common.model.Nftt;
 import common.model.Order;

+ 62 - 0
src/test/rest/AddressControllerTest.http

@@ -0,0 +1,62 @@
+### Hello World
+POST {{ baseUrl }}/address/hello
+dl-token: {{dl_token_var}}
+
+### 获取地址列表
+POST {{ baseUrl }}/address/list
+Content-Type: application/json
+dl-token: {{dl_token_var}}
+
+{}
+
+### 获取单个地址
+POST {{ baseUrl }}/address/get
+Content-Type: application/json
+dl-token: {{dl_token_var}}
+
+{
+  "id": 1
+}
+
+### 新增地址
+POST {{ baseUrl }}/address/save
+Content-Type: application/json
+dl-token: {{dl_token_var}}
+
+{
+  "recipient_name": "张三爹",
+  "phone_number": "13800138000",
+  "detailed_address": "四川省广元市科技路科技园路1号",
+  "is_default": 1
+}
+
+### 修改地址
+POST {{ baseUrl }}/address/save
+Content-Type: application/json
+dl-token: {{dl_token_var}}
+
+{
+  "id": 1,
+  "recipient_name": "张三爹",
+  "phone_number": "13900139000",
+  "detailed_address": "中关村大街1号",
+  "is_default": 0
+}
+
+### 删除地址
+POST {{ baseUrl }}/address/delete
+Content-Type: application/json
+dl-token: {{dl_token_var}}
+
+{
+  "id": 1
+}
+
+### 设置默认地址
+POST {{ baseUrl }}/address/setDefault
+Content-Type: application/json
+dl-token: {{dl_token_var}}
+
+{
+  "id": 2
+}