2019.12.17笔记

拟墨画扇 提交于 2019-12-21 05:01:33

规格管理的增删改查

SpecificationService

public interface SpecificationService {
    //高级查询
    public PageResult findPage(Specification spec, Integer page, Integer rows);
    // 新建
    public void add(SpecEntity specEntity);
    //查询实体
    public  SpecEntity findOne(Long id);
    //保存
    public void update(SpecEntity specEntity);
    //删除
    public  void  delete(Long[] ids);
    //下拉框
    public List<Map> selectOptionList();
}

SpecificationServiceImpl

@Service
@Transactional
public class SpecificationServiceImpl implements SpecificationService {
    @Autowired
    private SpecificationDao specDao;
    @Autowired
    private SpecificationOptionDao optionDao;
    //高级查询
    @Override
    public PageResult findPage(Specification spec, Integer page, Integer rows) {
        PageHelper.startPage(page,rows);
        SpecificationQuery query = new SpecificationQuery();
        SpecificationQuery.Criteria criteria = query.createCriteria();
        if(spec!=null){
            if(spec.getSpecName()!=null&&!"".equals(spec.getSpecName())){
                criteria.andSpecNameLike("%"+spec.getSpecName()+"%");
            }

        }
        Page<Specification> specList = (Page<Specification>)specDao.selectByExample(query);
        return new PageResult(specList.getTotal(),specList.getResult());
    }
//添加
    @Override
    public void add(SpecEntity specEntity) {
        // 1 添加规格对象
        specDao.insertSelective(specEntity.getSpecification());
        // 2 添加规格选项对象
        if(specEntity.getSpecificationOptionList()!=null){
            for(SpecificationOption option:specEntity.getSpecificationOptionList()){
                option.setSpecId(specEntity.getSpecification().getId());
                optionDao.insertSelective(option);
            }
        }
    }
	// 数据回显
    @Override
    public SpecEntity findOne(Long id) {
        //1 根据id  回显规格数据
        Specification spec = specDao.selectByPrimaryKey(id);
        //2   根据规格id查询规格选项集合对象  外键就必须组装道查询的条件中  形成查询对象
        SpecificationOptionQuery query = new SpecificationOptionQuery();
        SpecificationOptionQuery.Criteria criteria = query.createCriteria();
        criteria.andSpecIdEqualTo(id);
        List<SpecificationOption> optionList = optionDao.selectByExample(query);

        //3将 规格对象和规格选项对象集合   封装并且返回实体对象中
        SpecEntity specEntity = new SpecEntity();
        specEntity.setSpecification(spec);  // 将规格封装进去
        specEntity.setSpecificationOptionList(optionList);// 将选项集合封装进去
        return specEntity;
    }
	//修改
    @Override
    public void update(SpecEntity specEntity) {
        // 1 根据规格对象更新
        specDao.updateByPrimaryKeySelective(specEntity.getSpecification());
        //2  根据规格id 删除对应的规格选项集合数据
        SpecificationOptionQuery query = new SpecificationOptionQuery();
        SpecificationOptionQuery.Criteria criteria = query.createCriteria();
        criteria.andSpecIdEqualTo(specEntity.getSpecification().getId());
        optionDao.deleteByExample(query);
        //3 将新的规格选项集合对象那个插入到规格选项集合表中
        if(specEntity.getSpecificationOptionList()!=null){
            for(SpecificationOption option:specEntity.getSpecificationOptionList()){
                // 设置外键
                option.setSpecId(specEntity.getSpecification().getId());
                optionDao.insertSelective(option);
            }
        }
    }
	//批量删除
    @Override
    public void delete(Long[] ids) {
        if(ids!=null){
            for(Long id:ids){
                // 1 根据规格id   删除规格对象
                specDao.deleteByPrimaryKey(id);
                //2 根据规格的id  删除 规格选项集合对象
                SpecificationOptionQuery query = new SpecificationOptionQuery();
                SpecificationOptionQuery.Criteria criteria = query.createCriteria();
                criteria.andSpecIdEqualTo(id);
                optionDao.deleteByExample(query);
            }
        }

    }
}

SpecificationController

@RestController
@RequestMapping("/specification")
public class SpecController {
    @Reference
    private SpecificationService specService;

    // 规格的高级查询
    @RequestMapping("/search")
    public PageResult search(@RequestBody Specification spec,Integer page,Integer rows){
        PageResult result = specService.findPage(spec, page, rows);
        return result;
    }
    // 新建
    @RequestMapping("/add")
    public Result add(@RequestBody SpecEntity specEntity){
        try{
            specService.add(specEntity);
            return new Result(true,"保存成功");
        }catch (Exception e){
            e.printStackTrace();
            return new Result(false,"保存失败");
        }
    }
    // 回显数据
    @RequestMapping("/findOne")
    public SpecEntity findOne(Long id){
        SpecEntity one = specService.findOne(id);
        return one;
    }
    // 更新 保存
    @RequestMapping("/update")
    public Result update(@RequestBody SpecEntity specEntity){
        try{
            specService.update(specEntity);
            return new Result(true,"修改成功");
        }catch (Exception e){
            e.printStackTrace();
            return new Result(false,"修改失败");
        }
    }
    // 批量删除
    @RequestMapping("/delete")
    public Result delete(Long[] ids){
        try{
            specService.delete(ids);
            return new Result(true,"删除成功");
        }catch (Exception e){
            e.printStackTrace();
            return new Result(false,"删除失败");
        }
    }
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!