Explorar o código

Merge remote-tracking branch 'origin/yxp' into text

# Conflicts:
#	src/main/java/com/futu/course/user/controller/UserController.java
#	src/main/java/com/futu/course/user/service/impl/UserServiceImpl.java
lzy hai 1 semana
pai
achega
24103b35c7

+ 45 - 0
src/main/java/com/futu/course/user/controller/UserAddressController.java

@@ -0,0 +1,45 @@
+package com.futu.course.user.controller;
+
+import com.futu.course.user.domain.UserAddress;
+import com.futu.course.user.service.impl.UserAddressServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author "杨旭朋"
+ * @ClassName: UserAddressController
+ * @date 2025年05月12日 08:44
+ */
+@RestController
+@RequestMapping("userAddress")
+public class UserAddressController {
+    @Autowired
+    UserAddressServiceImpl userAddressService;
+    @GetMapping("UserAddressList")
+    public List<UserAddress> userArrayList(){
+        return userAddressService.UserAddressList();
+    }
+    @GetMapping("selUserDefault")
+    public UserAddress selUserDefault(){
+        return userAddressService.selUserDefault();
+    }
+    @PostMapping("addUserAddress")
+    public String  addUserAddress(@RequestBody UserAddress userAddress){
+        return userAddressService.addUserAddress(userAddress);
+    }
+    @PostMapping("AltUserAddress")
+    public String updateUserAddress(@RequestBody UserAddress userAddress) {
+       return userAddressService.updateUserAddress(userAddress);
+    }
+    @PostMapping("DelUserAddress")
+    public String DelUserAddress(@RequestParam("id") Long id) {
+        return userAddressService.DelUserAddress(id);
+    }
+    @PostMapping("AltUserAddressDefault")
+    public String AltUserAddressDefault(@RequestParam("id") Long id) {
+        return userAddressService.AltUserAddressDefault(id);
+    }
+}

+ 102 - 6
src/main/java/com/futu/course/user/service/impl/UserAddressServiceImpl.java

@@ -1,20 +1,116 @@
 package com.futu.course.user.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.futu.course.common.utils.SnowflakeIdWorker;
 import com.futu.course.user.domain.UserAddress;
 import com.futu.course.user.service.UserAddressService;
 import com.futu.course.user.mapper.UserAddressMapper;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
-* @author yuu
-* @description 针对表【user_address(收货地址表)】的数据库操作Service实现
-* @createDate 2025-05-05 18:52:53
-*/
+ * @author yuu
+ * @description 针对表【user_address(收货地址表)】的数据库操作Service实现
+ * @createDate 2025-05-05 18:52:53
+ */
 @Service
-public class UserAddressServiceImpl extends ServiceImpl<UserAddressMapper, UserAddress>
-    implements UserAddressService{
+public class UserAddressServiceImpl extends ServiceImpl<UserAddressMapper, UserAddress> implements UserAddressService {
+    private final Long uid = 1919928855523627008L;
+
+    /**
+     * @title: UserAddressList
+     * @desc: 查询用户所有地址
+     * @params 无
+     * @return: List<UserAddress>
+     * @author: 杨旭朋
+     * @date: 2025/5/12 8:47
+     */
+    public List<UserAddress> UserAddressList() {
+        LambdaQueryWrapper<UserAddress> eq = Wrappers.<UserAddress>lambdaQuery().eq(UserAddress::getUserId, uid);
+        return this.list(eq);
+    }
+
+    /**
+     * @title: selUserDefault
+     * @desc: 查询用户的默认地址如果只有一条数据则默认
+     * @params
+     * @return: UserAddress
+     * @author: 杨旭朋
+     * @date: 2025/5/12 9:06
+     */
+    public UserAddress selUserDefault() {
+        List<UserAddress> userAddresses = this.UserAddressList();
+        UserAddress userAddressDefault = new UserAddress();
+        // 判断用户地址数量如果为1则设为默认地址
+        if (userAddresses.size() == 1) {
+            userAddresses.get(0).setIsDefault(1);
+            this.updateById(userAddresses.get(0));
+            userAddressDefault = userAddresses.get(0);
+        } else {
+            for (UserAddress userAddress : userAddresses) {
+                if (userAddress.getIsDefault() == 1) {
+                    userAddressDefault = userAddress;
+                }
+            }
+        }
+        return userAddressDefault;
+    }
+
+    /**
+     * @title: addUserAddress
+     * @desc: “添加地址”
+     * @params “UserAddress”
+     * @return: String
+     * @author: 杨旭朋
+     * @date: 2025/5/12 9:41
+     */
+    public String addUserAddress(UserAddress userAddress) {
+        userAddress.setUserId(uid);
+        SnowflakeIdWorker snowflakeIdWorker = new SnowflakeIdWorker(1, 1);
+        long l = snowflakeIdWorker.nextId();
+        userAddress.setId(l);
+        boolean save = this.save(userAddress);
+        return save ? "添加成功" : "添加失败";
+    }
+
+    public String updateUserAddress(UserAddress userAddress) {
+        boolean b = this.updateById(userAddress);
+        return b ? "修改成功" : "修改失败";
+    }
+
+    /**
+     * @title: DelUserAddress
+     * @desc: "删除用户地址"
+     * @params Long
+     * @return: String
+     * @author: 杨旭朋
+     * @date: 2025/5/12 10:54
+     */
+    public String DelUserAddress(Long id) {
+        return this.removeById(id) ? "删除成功" : "删除失败";
+    }
 
+    /**
+     * @title: AltUserAddressDefault
+     * @desc: 修改用户默认地址
+     * @params Long
+     * @return: String
+     * @author: 杨旭朋
+     * @date: 2025/5/12 10:53
+     */
+    public String AltUserAddressDefault(Long id) {
+//        取消原有地址的默认状态
+        UserAddress userAddress = this.selUserDefault();
+        userAddress.setIsDefault(0);
+        this.updateById(userAddress);
+        UserAddress byId = this.getById(id);
+        byId.setIsDefault(1);
+        return this.updateById(byId) ? "修改成功" : "修改失败";
+    }
 }
 
 

+ 0 - 10
src/main/java/com/futu/course/user/service/impl/UserServiceImpl.java

@@ -38,19 +38,9 @@ import org.redisson.api.RedissonClient;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.multipart.MultipartFile;
 
-import javax.crypto.Cipher;
-import javax.crypto.SecretKey;
-import javax.crypto.spec.IvParameterSpec;
-import javax.crypto.spec.SecretKeySpec;
 import java.io.IOException;
-import java.nio.charset.StandardCharsets;
 import java.security.InvalidKeyException;
 import java.security.NoSuchAlgorithmException;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-import org.springframework.util.DigestUtils;
-
 
 /**
 * @author yuu