package com.ks.app.service;
|
|
import com.ks.app.entity.AppInfo;
|
import com.ks.app.exception.AppException;
|
import com.ks.app.mapper.AppInfoMapper;
|
import com.ks.app.query.AppQuery;
|
import org.springframework.stereotype.Component;
|
import org.springframework.validation.annotation.Validated;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
@Component
|
public class AppInfoManager {
|
|
@Resource
|
private AppInfoMapper appInfoMapper;
|
|
public AppInfo selectByAppKey(String appKey) {
|
return appInfoMapper.selectByAppKey(appKey);
|
}
|
|
|
public AppInfo selectByPrimaryKey(Long id) {
|
return appInfoMapper.selectByPrimaryKey(id);
|
}
|
|
/**
|
* 通过名称查询
|
*
|
* @param name
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
public List<AppInfo> searchByName(String name, int page, int pageSize) {
|
AppQuery query = new AppQuery();
|
query.setNameKey(name);
|
query.setStart((page - 1) * pageSize);
|
query.setCount(pageSize);
|
|
List<String> sortList = new ArrayList<>();
|
sortList.add("create_time desc");
|
query.setSortList(sortList);
|
return appInfoMapper.list(query);
|
}
|
|
/**
|
* 通过名称计数
|
*
|
* @param name
|
* @return
|
*/
|
public long countSearchByName(String name) {
|
AppQuery query = new AppQuery();
|
query.setNameKey(name);
|
return appInfoMapper.count(query);
|
}
|
|
/**
|
* 添加APP
|
*
|
* @param appInfo
|
* @throws AppException
|
*/
|
@Validated
|
public void addApp(AppInfo appInfo) throws AppException {
|
AppInfo app = selectByAppKey(appInfo.getAppKey());
|
if (app != null) {
|
throw new AppException(AppException.CODE_EXIST, "appKey已经存在");
|
}
|
|
if (appInfo.getCreateTime() == null) {
|
appInfo.setCreateTime(new Date());
|
}
|
appInfo.setId(null);
|
appInfoMapper.insertSelective(appInfo);
|
}
|
|
|
}
|