changgou后台-day01
[TOC]
1、管理员登录
Admin
@Table(name="tb_admin")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Admin implements Serializable {
@Id
private Integer id;
@Column(name = "login_name")
private String LoginName; //用户名
private String password; //密码
private String status; //状态56
}
AdminController
@RestController
public class AdminController {
@Resource
private AdminService adminService;
@PostMapping("/access_token")
public BaseResult login(@RequestBody Admin admin) {
System.out.println(admin);
Admin loginAdmin = adminService.login(admin.getLoginName(), admin.getPassword());
if (loginAdmin != null) {
return BaseResult.ok("登录成功").append("loginAdmin", loginAdmin).append("token", "abc");
} else {
return BaseResult.error("登录用户名或密码不匹配");
}
}
}
AdminServiceImpl
@Service
@Transactional
public class AdminServiceImpl implements AdminService {
@Resource
private AdminMapper adminMapper;
@Override
public Admin login(String loginName, String password) {
//1 查询条件
Admin admin = new Admin();
admin.setLoginName(loginName);
//2 通过用户名查询
Admin queryAdmin = adminMapper.selectOne(admin);
if (queryAdmin == null) {
return null;
}
//3 密码是否匹配 (密码采用BCrypt加密)
if (!BCrypt.checkpw(password, queryAdmin.getPassword())) {
return null;
}
return queryAdmin;
}
}
2、商品规格管理(同商品参数管理)
2.1、给指定分类添加规格
Spec
/**
* @author 庭前云落
* @date 2019/11/14 16:02
* @description
*/
@Data
@Table(name = "tb_spec")
@AllArgsConstructor
@NoArgsConstructor
public class Spec {
@Id
private Integer id;
private String name;
private String options;
private Integer seq;
@Column(name = "category_id")
private Integer categoryId;
}
SpeController
/**
* @author 庭前云落
* @date 2019/11/14 16:11
* @description
*/
@RestController
@RequestMapping("/spec")
public class SpeController {
@Resource
private SpecService specServiceImpl;
@PostMapping
public BaseResult add(@RequestBody Spec spec){
BaseResult baseResult = specServiceImpl.add(spec);
return baseResult;
}
}
SpecServiceImpl
/**
* @author 庭前云落
* @date 2019/11/14 16:10
* @description
*/
@Service
@Transactional
public class SpecServiceImpl implements SpecService {
@Resource
private CategoryMapper categoryMapper;
@Resource
private SpecMapper specMapper;
@Override
public BaseResult add(Spec spec) {
Category category = categoryMapper.selectByPrimaryKey(spec.getCategoryId());
if(category==null){
return BaseResult.error("当前分类不存在");
}
Example example = new Example(Spec.class);
example.createCriteria()
.andEqualTo("name",spec.getName())
.andEqualTo("categoryId",spec.getCategoryId());
int count = specMapper.selectCountByExample(example);
if(count>0){
return BaseResult.error("【"+spec.getName()+"】参数已存在");
}
spec.setSeq(1);
specMapper.insertSelective(spec);
return BaseResult.ok("添加成功");
}
}
2.2、查询指定分类所有的规格
SpeController
/**
* @author 庭前云落
* @date 2019/11/14 16:11
* @description
*/
@RestController
@RequestMapping("/spec")
public class SpeController {
@Resource
private SpecService specServiceImpl;
@GetMapping("/category/{cid}")
public BaseResult selectAllSpecByCid(@PathVariable("cid") Integer categoryId){
List<Spec> slist = specServiceImpl.selectAllSpecByCid(categoryId);
return BaseResult.ok("查询成功",slist);
}
}
SpecServiceImpl
/**
* @author 庭前云落
* @date 2019/11/14 16:10
* @description
*/
@Service
@Transactional
public class SpecServiceImpl implements SpecService {
@Resource
private SpecMapper specMapper;
@Override
public List<Spec> selectAllSpecByCid(Integer categoryId) {
// 第一种:拼凑条件
// Example example = new Example(Spec.class);
// Example.Criteria criteria = example.createCriteria();
// criteria.andEqualTo("categoryId",categoryId);
// return specMapper.selectByExample(example);
//第二种:手写SQL
return specMapper.selectAllSpecByCid(categoryId);
}
}
SpecMapper
/**
* @author 庭前云落
* @date 2019/11/14 16:10
* @description
*/
public interface SpecMapper extends Mapper<Spec> {
//第二种:手写SQL
@Select("select * from tb_spec where category_id=#{categoryId}")
List<Spec> selectAllSpecByCid(@Param("categoryId") Integer categoryId);
}
日常学习的总结,主要是为了自己以后看,当然大家有什么好的建议,欢迎评论留言。