@ -0,0 +1,59 @@ | |||||
package org.jeecg.modules.applet.service; | |||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | |||||
import com.baomidou.mybatisplus.core.metadata.IPage; | |||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | |||||
import org.jeecg.modules.demo.appletShippingAddress.entity.AppletShippingAddress; | |||||
public interface AppletApiAddressService { | |||||
/** | |||||
* 分页查询地址 | |||||
* | |||||
* @param page | |||||
* @return | |||||
*/ | |||||
IPage<AppletShippingAddress> page(Page<AppletShippingAddress> page, AppletShippingAddress appletShippingAddress); | |||||
/** | |||||
* 添加地址 | |||||
* | |||||
* @param appletShippingAddress | |||||
*/ | |||||
void save(AppletShippingAddress appletShippingAddress); | |||||
/** | |||||
* 通过id查询 | |||||
* | |||||
* @param id | |||||
* @return | |||||
*/ | |||||
AppletShippingAddress getById(String id); | |||||
/** | |||||
* 修改地址 | |||||
* | |||||
* @param appletShippingAddress | |||||
*/ | |||||
void updateById(AppletShippingAddress appletShippingAddress); | |||||
// /** | |||||
// * 通过id删除 | |||||
// * | |||||
// * @param id | |||||
// */ | |||||
// void removeById(String id); | |||||
// | |||||
// /** | |||||
// * 批量删除 | |||||
// * | |||||
// * @param list | |||||
// */ | |||||
// | |||||
// void removeByIds(List<String> list); | |||||
// | |||||
} |
@ -0,0 +1,54 @@ | |||||
package org.jeecg.modules.applet.service; | |||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | |||||
import com.baomidou.mybatisplus.core.metadata.IPage; | |||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | |||||
import org.jeecg.modules.demo.appletCar.entity.AppletCar; | |||||
import java.util.List; | |||||
public interface AppletApiCarService { | |||||
/** | |||||
* 查询购物车列表 | |||||
* | |||||
* @param page | |||||
* @param queryWrapper | |||||
* @return | |||||
*/ | |||||
IPage<AppletCar> page(Page<AppletCar> page, AppletCar appletCar); | |||||
/** | |||||
* 添加购物车 | |||||
* | |||||
* @param appletCar | |||||
*/ | |||||
void save(AppletCar appletCar); | |||||
/** | |||||
* 根据id查询购物车 | |||||
* | |||||
* @param id | |||||
* @return | |||||
*/ | |||||
AppletCar getById(String id); | |||||
/** | |||||
* 修改购物车 | |||||
* | |||||
* @param appletCar | |||||
*/ | |||||
void updateById(AppletCar appletCar); | |||||
/** | |||||
* 批量删除购物车 | |||||
* | |||||
* @param list | |||||
*/ | |||||
void removeByIds(List<String> list); | |||||
} |
@ -0,0 +1,108 @@ | |||||
package org.jeecg.modules.applet.service.impl; | |||||
import cn.hutool.core.util.StrUtil; | |||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | |||||
import com.baomidou.mybatisplus.core.metadata.IPage; | |||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | |||||
import lombok.extern.slf4j.Slf4j; | |||||
import org.jeecg.common.system.util.AppletUserUtil; | |||||
import org.jeecg.modules.applet.service.AppletApiAddressService; | |||||
import org.jeecg.modules.demo.appletShippingAddress.entity.AppletShippingAddress; | |||||
import org.jeecg.modules.demo.appletShippingAddress.service.IAppletShippingAddressService; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.stereotype.Service; | |||||
@Service | |||||
@Slf4j | |||||
public class AppletApiAddressServiceImpl implements AppletApiAddressService { | |||||
@Autowired | |||||
private IAppletShippingAddressService appletShippingAddressService; | |||||
/** | |||||
* 查询地址列表 | |||||
* | |||||
* @param page | |||||
* @param address | |||||
* @return | |||||
*/ | |||||
@Override | |||||
public IPage<AppletShippingAddress> page(Page<AppletShippingAddress> page, AppletShippingAddress address) { | |||||
String userId = AppletUserUtil.getCurrentAppletUserId(); | |||||
Page<AppletShippingAddress> page1 = appletShippingAddressService | |||||
.lambdaQuery() | |||||
.eq(AppletShippingAddress::getUserId, userId)//getId -> getUserId | |||||
.orderByDesc(AppletShippingAddress::getDefaultFlag) | |||||
//如果你要写查询条件,这样写 | |||||
//.eq(AppletShippingAddress::getCity, address.getCity())//这个是 等于 | |||||
//.eq(StrUtil.isNotBlank((address.getCity()), AppletShippingAddress::getCity, address.getCity())//这样加条件不为空 | |||||
.page(page); | |||||
return page1; | |||||
} | |||||
/** | |||||
* 新增地址 | |||||
* | |||||
* @param appletShippingAddress | |||||
*/ | |||||
@Override | |||||
public void save(AppletShippingAddress appletShippingAddress) { | |||||
if (appletShippingAddress == null) { | |||||
throw new IllegalArgumentException("地址信息不能为空"); | |||||
} | |||||
if (StrUtil.isBlank(appletShippingAddress.getName())) { | |||||
throw new IllegalArgumentException("收货人不能为空"); | |||||
} | |||||
if (StrUtil.isBlank(appletShippingAddress.getPhone())) { | |||||
throw new IllegalArgumentException("联系电话不能为空"); | |||||
} | |||||
if (StrUtil.isBlank(appletShippingAddress.getDetail())) { | |||||
throw new IllegalArgumentException("详细地址不能为空"); | |||||
} | |||||
String userId = AppletUserUtil.getCurrentAppletUserId(); | |||||
appletShippingAddress.setUserId(userId); | |||||
appletShippingAddressService.save(appletShippingAddress); | |||||
} | |||||
/** | |||||
* 根据id查询地址 | |||||
* | |||||
* @param id | |||||
* @return | |||||
*/ | |||||
@Override | |||||
public AppletShippingAddress getById(String id) { | |||||
AppletShippingAddress byId = appletShippingAddressService.getById(id); | |||||
return byId; | |||||
} | |||||
/** | |||||
* 修改地址 | |||||
* | |||||
* @param appletShippingAddress | |||||
*/ | |||||
@Override | |||||
public void updateById(AppletShippingAddress appletShippingAddress) { | |||||
if (appletShippingAddress == null || StrUtil.isBlank(appletShippingAddress.getId())) { | |||||
throw new IllegalArgumentException("地址信息或ID不能为空"); | |||||
} | |||||
if (StrUtil.isBlank(appletShippingAddress.getName())) { | |||||
throw new IllegalArgumentException("收货人不能为空"); | |||||
} | |||||
if (StrUtil.isBlank(appletShippingAddress.getPhone())) { | |||||
throw new IllegalArgumentException("联系电话不能为空"); | |||||
} | |||||
if (StrUtil.isBlank(appletShippingAddress.getDetail())) { | |||||
throw new IllegalArgumentException("详细地址不能为空"); | |||||
} | |||||
appletShippingAddressService.updateById(appletShippingAddress); | |||||
} | |||||
} |
@ -0,0 +1,113 @@ | |||||
package org.jeecg.modules.applet.service.impl; | |||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | |||||
import com.baomidou.mybatisplus.core.metadata.IPage; | |||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | |||||
import org.jeecg.common.system.util.AppletUserUtil; | |||||
import org.jeecg.modules.applet.service.AppletApiCarService; | |||||
import org.jeecg.modules.demo.appletCar.entity.AppletCar; | |||||
import org.jeecg.modules.demo.appletCar.service.IAppletCarService; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.stereotype.Service; | |||||
import java.util.List; | |||||
import java.util.stream.Collectors; | |||||
@Service | |||||
public class AppletApiCarServiceImpl implements AppletApiCarService { | |||||
@Autowired | |||||
private IAppletCarService appletCarService; | |||||
/** | |||||
* 购物车列表查询 | |||||
* | |||||
* @param page | |||||
* @param appletCar | |||||
* @return | |||||
*/ | |||||
@Override | |||||
public IPage<AppletCar> page(Page<AppletCar> page, AppletCar appletCar) { | |||||
String userId = AppletUserUtil.getCurrentAppletUserId(); | |||||
Page<AppletCar> page1 = appletCarService | |||||
.lambdaQuery() | |||||
.eq(AppletCar::getUserId, userId) | |||||
.page(page); | |||||
return page1; | |||||
} | |||||
/** | |||||
* 添加购物车 | |||||
* | |||||
* @param appletCar | |||||
*/ | |||||
@Override | |||||
public void save(AppletCar appletCar) { | |||||
appletCarService.save(appletCar); | |||||
} | |||||
/** | |||||
* 根据id查询购物车 | |||||
* | |||||
* @param id 购物车id | |||||
* @return 购物车对象 | |||||
*/ | |||||
@Override | |||||
public AppletCar getById(String id) { | |||||
// 获取当前登录的小程序用户ID | |||||
String userId = AppletUserUtil.getCurrentAppletUserId(); | |||||
// 使用LambdaQuery构造查询条件,同时匹配购物车ID和用户ID,确保数据隔离 | |||||
AppletCar appletCar = appletCarService | |||||
.lambdaQuery() | |||||
.eq(AppletCar::getId, id) // 匹配购物车ID | |||||
.eq(AppletCar::getUserId, userId) // 匹配用户ID | |||||
.one(); // 查询单个结果 | |||||
return appletCar; | |||||
} | |||||
/** | |||||
* 修改购物车 | |||||
* | |||||
* @param appletCar | |||||
*/ | |||||
@Override | |||||
public void updateById(AppletCar appletCar) { | |||||
// 获取当前登录的小程序用户ID | |||||
String userId = AppletUserUtil.getCurrentAppletUserId(); | |||||
// 验证该购物车是否属于当前用户 | |||||
AppletCar existingCar = appletCarService | |||||
.lambdaQuery() | |||||
.eq(AppletCar::getId, appletCar.getId()) // 匹配购物车ID | |||||
.eq(AppletCar::getUserId, userId) // 匹配用户ID | |||||
.one(); | |||||
// 如果购物车存在且属于当前用户,则执行更新操作 | |||||
if (existingCar != null) { | |||||
appletCarService.updateById(appletCar); | |||||
} | |||||
} | |||||
/** | |||||
* 批量删除购物车 | |||||
* | |||||
* @param ids 购物车ID列表 | |||||
*/ | |||||
@Override | |||||
public void removeByIds(List<String> ids) { | |||||
// 获取当前登录的小程序用户ID | |||||
String userId = AppletUserUtil.getCurrentAppletUserId(); | |||||
// 查询这些ID中属于当前用户的购物车项 | |||||
List<AppletCar> appletCars = appletCarService | |||||
.lambdaQuery() | |||||
.in(AppletCar::getId, ids) // 匹配购物车ID列表 | |||||
.eq(AppletCar::getUserId, userId) // 匹配用户ID | |||||
.list(); | |||||
// 提取属于当前用户的购物车ID列表 | |||||
List<String> userCarIds = appletCars.stream() | |||||
.map(AppletCar::getId) | |||||
.collect(Collectors.toList()); | |||||
// 执行删除操作(只会删除属于当前用户的购物车项) | |||||
if (!userCarIds.isEmpty()) { | |||||
appletCarService.removeByIds(userCarIds); | |||||
} | |||||
} | |||||
} |