master
RIceWqy 2 years ago
parent 934efe6cb2
commit 3b1987591a

@ -28,6 +28,7 @@ public class WebApplication extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(WebApplication.class, args);
System.out.println("ヾ(◍°∇°◍)ノ゙金桐商户管理平台启动啦,ヾ(◍°∇°◍)ノ゙");
}
@Override

@ -99,20 +99,22 @@ public class AdminLoginController {
userInfoInToken.setUserId(String.valueOf(sysUser.getUserId()));
userInfoInToken.setSysType(SysTypeEnum.ADMIN.value());
userInfoInToken.setEnabled(sysUser.getStatus() == 1);
userInfoInToken.setPerms(getUserPermissions(sysUser.getUserId()));
userInfoInToken.setPerms(getUserPermissions(sysUser.getUserId(),sysUser.getIsAdmin()));
userInfoInToken.setNickName(sysUser.getUsername());
userInfoInToken.setShopId(sysUser.getShopId());
userInfoInToken.setIsAdmin(sysUser.getIsAdmin());
// 存储token返回vo
TokenInfoVO tokenInfoVO = tokenStore.storeAndGetVo(userInfoInToken);
return ServerResponseEntity.success(tokenInfoVO);
}
private Set<String> getUserPermissions(Long userId) {
private Set<String> getUserPermissions(Long userId,Integer isAdmin) {
List<String> permsList;
//系统管理员,拥有最高权限
if(userId == Constant.SUPER_ADMIN_ID){
if (userId == Constant.SUPER_ADMIN_ID || isAdmin == 1) {
List<SysMenu> menuList = sysMenuService.list(Wrappers.emptyWrapper());
permsList = menuList.stream().map(SysMenu::getPerms).collect(Collectors.toList());
} else {
@ -126,4 +128,7 @@ public class AdminLoginController {
}
).collect(Collectors.toSet());
}
}

@ -15,6 +15,7 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yami.shop.bean.model.Product;
import com.yami.shop.bean.model.ShopDetail;
import com.yami.shop.bean.model.Sku;
import com.yami.shop.bean.param.ProductParam;
import com.yami.shop.common.exception.YamiShopBindException;
@ -22,19 +23,19 @@ import com.yami.shop.common.response.ServerResponseEntity;
import com.yami.shop.common.util.Json;
import com.yami.shop.common.util.PageParam;
import com.yami.shop.security.admin.util.SecurityUtils;
import com.yami.shop.service.BasketService;
import com.yami.shop.service.ProdTagReferenceService;
import com.yami.shop.service.ProductService;
import com.yami.shop.service.SkuService;
import com.yami.shop.service.*;
import cn.hutool.core.bean.BeanUtil;
import jodd.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import jakarta.validation.Valid;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@ -58,6 +59,8 @@ public class ProductController {
@Autowired
private BasketService basketService;
@Autowired
private ShopDetailService shopDetailService;
/**
*
@ -65,13 +68,34 @@ public class ProductController {
@GetMapping("/page")
@PreAuthorize("@pms.hasPermission('prod:prod:page')")
public ServerResponseEntity<IPage<Product>> page(ProductParam product, PageParam<Product> page) {
List<ShopDetail> shopList = null;
List<Long> shopIdList = null;
if (!StringUtil.isEmpty(product.getShopName())) {
shopList = shopDetailService.list(new LambdaQueryWrapper<ShopDetail>().like(ShopDetail::getShopName, product.getShopName()));
// 将 shopList 转换为包含 shopId 的列表
if (shopList != null && !shopList.isEmpty()) {
shopIdList = shopList.stream()
.map(ShopDetail::getShopId)
.collect(Collectors.toList());
}
}
IPage<Product> products = productService.page(page,
new LambdaQueryWrapper<Product>()
.like(StrUtil.isNotBlank(product.getProdName()), Product::getProdName, product.getProdName())
.eq(Product::getShopId, SecurityUtils.getSysUser().getShopId())
.eq(!SecurityUtils.getSysUser().checkAdmin(), Product::getShopId, SecurityUtils.getSysUser().getShopId())
.eq(product.getStatus() != null, Product::getStatus, product.getStatus())
.eq(product.getProductType() != null, Product::getProductType, product.getProductType())
.in(shopIdList != null && !shopIdList.isEmpty(),Product::getShopId,shopIdList)
.orderByDesc(Product::getPutawayTime));
List<Product> records = products.getRecords();
records.forEach(prod->{
ShopDetail shop = shopDetailService.getById(prod.getShopId());
if (shop != null) {
prod.setShopName(shop.getShopName());
}
});
products.setRecords(records);
return ServerResponseEntity.success(products);
}
@ -91,6 +115,10 @@ public class ProductController {
//获取分组标签
List<Long> listTagId = prodTagReferenceService.listTagIdByProdId(prodId);
prod.setTagList(listTagId);
ShopDetail shopDetail = shopDetailService.getById(prod.getShopId());
prod.setShopName(shopDetail.getShopName());
return ServerResponseEntity.success(prod);
}
@ -210,6 +238,22 @@ public class ProductController {
}
return ServerResponseEntity.success();
}
/**
*
*/
@PostMapping("/prodZone")
@PreAuthorize("@pms.hasPermission('prod:prod:updateZone')")
public ServerResponseEntity<Void> setZone(@RequestBody Product product) {
productService.updateById(product);
productService.removeProductCacheByProdId(product.getProdId());
List<String> userIds = basketService.listUserIdByProdId(product.getProdId());
for (String userId : userIds) {
basketService.removeShopCartItemsCacheByUserId(userId);
}
return ServerResponseEntity.success();
}
private void checkParam(ProductParam productParam) {
if (CollectionUtil.isEmpty(productParam.getTagList())) {

@ -26,6 +26,7 @@ public class ApiApplication extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(ApiApplication.class, args);
System.out.println("(*¯︶¯*)金桐手机api启动啦,(*¯︶¯*)");
}
@Override

@ -42,6 +42,8 @@ public class ProductParam {
@Size(max = 200, message = "商品名称长度应该小于{max}")
private String prodName;
private String shopName;
/**
*
@ -110,5 +112,12 @@ public class ProductParam {
*
*/
private Integer productType;
/**
*
*/
private Integer payScore;
/**
*
*/
private Integer giveScore;
}

@ -33,4 +33,15 @@ public class YamiSysUser {
private String username;
private Long shopId;
private Integer isAdmin;
public boolean checkAdmin() {
if (this.isAdmin == null) {
this.isAdmin = 0;
}
if (this.isAdmin == 1) {
return true;
}
return false;
}
}

@ -32,6 +32,7 @@ public class SecurityUtils {
details.setUsername(userInfoInTokenBO.getNickName());
details.setAuthorities(userInfoInTokenBO.getPerms());
details.setShopId(userInfoInTokenBO.getShopId());
details.setIsAdmin(userInfoInTokenBO.getIsAdmin());
return details;
}
}

@ -15,19 +15,20 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
*
*
* @author lanhai
*/
@Data
@ -37,7 +38,6 @@ public class SysUser implements Serializable {
/**
* ID
*
*/
@TableId
private Long userId;
@ -89,5 +89,8 @@ public class SysUser implements Serializable {
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@TableField(value = "is_admin")
private Integer isAdmin;
}

Loading…
Cancel
Save