Selaa lähdekoodia

获取默认地址

skyfffire 1 viikko sitten
vanhempi
commit
f2a54b861d

+ 1 - 0
src/main/java/common/utils/http/MyRet.java

@@ -8,6 +8,7 @@ public class MyRet extends Ret {
     public static final int CODE_NO_POWER = 2;          // 没有权限
     public static final int CODE_FAILED = 3;            // 一般错误
     public static final int CODE_NO_AUTH = 4;           // 未实名认证
+    public static final int CODE_NO_ADDR = 5;           // 未设置默认地址
 
     public static MyRet fail(String msg) {
         return new MyRet().setState(false).setCode(CODE_FAILED).setMsg(msg);

+ 11 - 0
src/main/java/modules/address/AddressController.java

@@ -25,6 +25,17 @@ public class AddressController extends MyController {
     public void hello() {
         renderText("Hello, Address!");
     }
+    
+    public void getDefaultAddress() {
+        User user = userService.findUserByMobileNumber(getSessionAttr("mobile_number"));
+        Long userId = user.getId();
+        Address address = service.findDefaultByUserId(userId);
+        if (address == null) {
+            renderJson(MyRet.fail("默认地址不存在,请添加").setCode(MyRet.CODE_NO_ADDR));
+            return;
+        }
+        renderJson(MyRet.ok("获取成功").setData(address));
+    }
 
     /**
      * 获取用户的收货地址列表

+ 6 - 0
src/main/java/modules/address/AddressService.java

@@ -18,6 +18,8 @@ public class AddressService {
     }
 
     public boolean save(Address address) {
+        address.setIsDeleted(0);
+        
         if (address.getIsDefault() == 1) {
             // 如果将当前地址设为默认,则将该用户其他地址设为非默认
             Db.update("update t_address set is_default = 0 where user_id = ?", address.getUserId());
@@ -43,6 +45,10 @@ public class AddressService {
         return address.update();
     }
 
+    public Address findDefaultByUserId(Long userId) {
+        return dao.findFirst("select * from t_address where user_id = ? and is_default = 1 and is_deleted = 0", userId);
+    }
+
     public boolean setDefault(int id, Long userId) {
         // 开启事务
         return Db.tx(() -> {

+ 8 - 1
src/test/rest/AddressControllerTest.http

@@ -59,4 +59,11 @@ dl-token: {{dl_token_var}}
 
 {
   "id": 2
-}
+}
+
+### 获取默认地址
+POST {{ baseUrl }}/address/getDefaultAddress
+Content-Type: application/json
+dl-token: {{dl_token_var}}
+
+{}