|
@@ -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) ? "修改成功" : "修改失败";
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|