Sfoglia il codice sorgente

8.2 一级市场购物车添加身份验证

Mechrevo 1 anno fa
parent
commit
57c8485ad5

+ 11 - 12
sp-service/level-one-server/src/main/java/com/pj/tb_goods_cart/TbGoodsCartService.java

@@ -4,8 +4,6 @@ import java.util.Date;
 import java.util.List;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.pj.api.client.admin.AdminInterface;
-import com.pj.api.dto.AppUserDto;
 import com.pj.common.core.exception.ServiceException;
 import com.pj.current.dto.APPLoginUserInfo;
 import com.pj.current.satoken.StpAPPUserUtil;
@@ -13,6 +11,8 @@ import com.pj.enummj.DeleteStatus;
 import com.pj.tb_goods_cart.dto.GoodsCartInfoDto;
 import com.pj.tb_goods_transit.TbGoodsTransit;
 import com.pj.tb_goods_transit.TbGoodsTransitMapper;
+import com.pj.tb_group.TbGroup;
+import com.pj.tb_group.TbGroupMapper;
 import com.pj.utils.so.SoMap;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -35,7 +35,7 @@ public class TbGoodsCartService extends ServiceImpl<TbGoodsCartMapper, TbGoodsCa
 	TbGoodsCartMapper tbGoodsCartMapper;
 
 	@Autowired
-	private AdminInterface adminInterface;
+	private TbGroupMapper tbGroupMapper;
 	/** 已过审的商品 */
 	@Autowired
 	private TbGoodsTransitMapper tbGoodsTransitMapper;
@@ -68,15 +68,14 @@ public class TbGoodsCartService extends ServiceImpl<TbGoodsCartMapper, TbGoodsCa
 	/** 添加商品进购物车 */
 	public AjaxJson addGoodsInShopCart(GoodsCartInfoDto goodsCartInfoDto){
 		//检查登录 todo: 前端完成后需释放该检查登陆验证
-//		StpUserUtil.checkLogin();
-		//验证购买者
-		Long id = goodsCartInfoDto.getBuyUserId();
-		//获取购买者对象
-		AppUserDto appUser = adminInterface.getAppUserById(id);
-		if(appUser == null || appUser.getId() == null)return AjaxJson.getError("购买者账号异常");
+		APPLoginUserInfo appUser = StpAPPUserUtil.getAPPLoginInfo();
+		if(appUser == null || appUser.getLoginId() == null)return AjaxJson.getError("购买者账号异常");
+		//判断当前用户是否为一级市场边民组长
+		int leader = tbGroupMapper.selectList(new LambdaQueryWrapper<TbGroup>().eq(TbGroup::getLeaderId, appUser.getLoginId())).size();
+		if(leader == 0)throw new ServiceException("您当前的身份不是互市组组长,无法添加购物车!");
 		//购物车查重
 		int size = tbGoodsCartMapper.selectList(new LambdaQueryWrapper<TbGoodsCart>()
-				.eq(TbGoodsCart::getBuyUserId, id).eq(TbGoodsCart::getSaleGoodsInfoId,
+				.eq(TbGoodsCart::getBuyUserId, appUser.getLoginId()).eq(TbGoodsCart::getSaleGoodsInfoId,
 						goodsCartInfoDto.getSaleGoodsInfoId()).eq(TbGoodsCart::getDeleteStatus,
 						DeleteStatus.DELETE_STATUS_ON.getCode())).size();
 		if(size != 0)
@@ -101,8 +100,8 @@ public class TbGoodsCartService extends ServiceImpl<TbGoodsCartMapper, TbGoodsCa
 		//设置基本属性
 		tbGoodsCart.setCreateTime(new Date());
 		tbGoodsCart.setDeleteStatus(DeleteStatus.DELETE_STATUS_ON.getCode());
-		tbGoodsCart.setCreateBy(appUser.getId().toString());
-		tbGoodsCart.setCreateName(appUser.getName());
+		tbGoodsCart.setCreateBy(appUser.getLoginId().toString());
+		tbGoodsCart.setCreateName(appUser.getLoginName());
 		//执行保存
 		int insert = tbGoodsCartMapper.insert(tbGoodsCart);
 		//判断保存结果

+ 2 - 2
sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserApiController.java

@@ -40,8 +40,8 @@ public class AppUserApiController {
 	}
 	/** 用户退出 */
 	@RequestMapping("logout")
-	public AjaxJson logout(Object loginInfoId) {
-		String logout = appUserService.logout(loginInfoId);
+	public AjaxJson logout(@RequestParam("appUserId") Object appUserId) {
+		String logout = appUserService.logout(appUserId);
 		return AjaxJson.getSuccessData(logout);
 	}
 

+ 10 - 11
sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserService.java

@@ -7,6 +7,7 @@ import java.util.stream.Collectors;
 import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.pj.api.dto.AppUserDto;
+import com.pj.common.core.exception.ServiceException;
 import com.pj.current.dto.APPLoginUserInfo;
 import com.pj.current.satoken.StpAPPUserUtil;
 import com.pj.current.satoken.StpUserUtil;
@@ -119,13 +120,9 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
 			throw new RuntimeException("当前手机号已被注册!");
 		//开始进行实际注册
 		//1. 查询数据库内是否存在逻辑删除
-		List<AppUser> appUserList = appUserMapper.selectList(new LambdaQueryWrapper<AppUser>().eq(AppUser::getPhone, phone).eq(AppUser::getDeleteStatus, 0));
-		if(appUserList.size() != 0){
-			//删除旧数据
-			appUserList.forEach(item -> {
-				appUserMapper.deleteById(item);
-			});
-		}
+		List<Long> collect = appUserMapper.selectList(new LambdaQueryWrapper<AppUser>().eq(AppUser::getPhone, phone).eq(AppUser::getDeleteStatus, 0)).stream().map(AppUser::getId).collect(Collectors.toList());
+		//删除旧数据
+		if(collect.size() > 0)appUserMapper.deleteBatchIds(collect);
 		//2.校验密码
 		if(!registerDto.getPassword().equals(registerDto.getRePassword()))throw new RuntimeException("两次密码校验不通过!");
 		//3.todo:手机验证码
@@ -291,12 +288,14 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
 
 	/**
 	 * 退出登录
-	 * @param loginInfoId
+	 * @param appUserId appUser表主键
 	 * @return
 	 */
-	public String logout(Object loginInfoId){
-		StpAPPUserUtil.logout(loginInfoId);
-		return "推出登录成功!";
+	public String logout(Object appUserId){
+		if(appUserId == null || appUserId.toString().trim().equals(""))
+			throw new ServiceException("退出信息异常!");
+		StpAPPUserUtil.logout(appUserId);
+		return "退出登录成功!";
 	}