feat 新增后台接口
This commit is contained in:
parent
2e2b5d4cdc
commit
11226f53ea
@ -0,0 +1,25 @@
|
|||||||
|
package me.xiaoyan.point.api.controller.admin;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import me.xiaoyan.point.api.pojo.vo.GoodsQueryParam;
|
||||||
|
import me.xiaoyan.point.api.pojo.vo.PageDataResult;
|
||||||
|
import me.xiaoyan.point.api.pojo.vo.PageParam;
|
||||||
|
import me.xiaoyan.point.api.service.GoodsService;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("admin/goods")
|
||||||
|
public class GoodsAdminController {
|
||||||
|
@Resource
|
||||||
|
private GoodsService goodsService;
|
||||||
|
|
||||||
|
@PostMapping("/list")
|
||||||
|
public PageDataResult list(@RequestBody GoodsQueryParam param) {
|
||||||
|
return PageDataResult.convert(goodsService.queryByPage(param));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,60 @@
|
|||||||
|
package me.xiaoyan.point.api.controller.admin;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import me.xiaoyan.point.api.error.BizException;
|
||||||
|
import me.xiaoyan.point.api.pojo.vo.UserAdminInfo;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("admin/user")
|
||||||
|
@Slf4j
|
||||||
|
public class UserAdminController {
|
||||||
|
private HashMap<String, UserAdminInfo> userStoreMap = new HashMap<>();
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
public void initUserStore() {
|
||||||
|
log.info("初始化用户数据");
|
||||||
|
userStoreMap.put("admin", UserAdminInfo.create(1, "admin", "admin"));
|
||||||
|
userStoreMap.put("test", UserAdminInfo.create(2, "test", "123123"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("login")
|
||||||
|
public UserAdminInfo login(@Validated @RequestBody UserAdminInfo user) {
|
||||||
|
// 判断是否存在账号
|
||||||
|
if (!userStoreMap.containsKey(user.getAccount())) {
|
||||||
|
throw BizException.create("账号不存在");
|
||||||
|
}
|
||||||
|
// 获取到用户数据
|
||||||
|
UserAdminInfo admin = userStoreMap.get(user.getAccount());
|
||||||
|
// 判断密码
|
||||||
|
if (!admin.getPassword().equals(user.getPassword())) {
|
||||||
|
throw BizException.create("密码不正确");
|
||||||
|
}
|
||||||
|
user.setId(admin.getId());
|
||||||
|
user.setPassword("");
|
||||||
|
StpUtil.login(user.getId(), "admin");
|
||||||
|
user.setToken(StpUtil.getTokenInfo().getTokenValue());
|
||||||
|
StpUtil.getSession().set("user", user);
|
||||||
|
return user;
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping("info")
|
||||||
|
public UserAdminInfo info() {
|
||||||
|
return (UserAdminInfo) StpUtil.getSession().get("user");
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping("logout")
|
||||||
|
public String logout() {
|
||||||
|
StpUtil.logout();
|
||||||
|
return "ok";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
package me.xiaoyan.point.api.pojo.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class GoodsQueryParam extends PageParam {
|
||||||
|
private String title;
|
||||||
|
private int category;
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
package me.xiaoyan.point.api.pojo.vo;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Builder
|
||||||
|
public class PageDataResult<T> implements Serializable {
|
||||||
|
private List<T> items;
|
||||||
|
private long total;
|
||||||
|
|
||||||
|
public static PageDataResult convert(Page result) {
|
||||||
|
return PageDataResult.builder()
|
||||||
|
.items(result.getRecords())
|
||||||
|
.total(result.getTotal())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
package me.xiaoyan.point.api.pojo.vo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Builder
|
||||||
|
public class UserAdminInfo implements Serializable {
|
||||||
|
private int id;
|
||||||
|
@NotEmpty(message = "账号不允许为空")
|
||||||
|
private String account;
|
||||||
|
@NotEmpty(message = "密码不允许为空")
|
||||||
|
private String password;
|
||||||
|
private String token;
|
||||||
|
public static UserAdminInfo create(int id,String acc,String pwd){
|
||||||
|
return new UserAdminInfo(id,acc,pwd,null);
|
||||||
|
}
|
||||||
|
}
|
@ -3,6 +3,7 @@ package me.xiaoyan.point.api.service;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import me.xiaoyan.point.api.pojo.Goods;
|
import me.xiaoyan.point.api.pojo.Goods;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import me.xiaoyan.point.api.pojo.vo.GoodsQueryParam;
|
||||||
import me.xiaoyan.point.api.pojo.vo.PageParam;
|
import me.xiaoyan.point.api.pojo.vo.PageParam;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -13,6 +14,7 @@ import java.util.List;
|
|||||||
public interface GoodsService extends IService<Goods> {
|
public interface GoodsService extends IService<Goods> {
|
||||||
|
|
||||||
Page<Goods> queryByPage(int category, Page page);
|
Page<Goods> queryByPage(int category, Page page);
|
||||||
|
Page<Goods> queryByPage(GoodsQueryParam page);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 减库存
|
* 减库存
|
||||||
|
@ -1,11 +1,14 @@
|
|||||||
package me.xiaoyan.point.api.service.impl;
|
package me.xiaoyan.point.api.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import me.xiaoyan.point.api.pojo.Goods;
|
import me.xiaoyan.point.api.pojo.Goods;
|
||||||
|
import me.xiaoyan.point.api.pojo.vo.GoodsQueryParam;
|
||||||
import me.xiaoyan.point.api.service.GoodsService;
|
import me.xiaoyan.point.api.service.GoodsService;
|
||||||
import me.xiaoyan.point.api.mapper.GoodsMapper;
|
import me.xiaoyan.point.api.mapper.GoodsMapper;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -21,9 +24,19 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods>
|
|||||||
return this.getBaseMapper().queryByCategory(category, page);
|
return this.getBaseMapper().queryByCategory(category, page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Page<Goods> queryByPage(GoodsQueryParam param) {
|
||||||
|
QueryWrapper q = new QueryWrapper();
|
||||||
|
// 查询标题
|
||||||
|
if (StringUtils.hasText(param.getTitle())) {
|
||||||
|
q.eq("title", param.getTitle().trim());
|
||||||
|
}
|
||||||
|
return getBaseMapper().selectPage(param.getPage(), q);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean deductStock(int id, int count) {
|
public boolean deductStock(int id, int count) {
|
||||||
return getBaseMapper().deductCount(id,count) == 1;
|
return getBaseMapper().deductCount(id, count) == 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user