148 lines
4.9 KiB
Plaintext
148 lines
4.9 KiB
Plaintext
package ${packageName}.service.impl;
|
|
|
|
import java.util.List;
|
|
import java.util.Arrays;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import cn.hutool.core.util.IdUtil;
|
|
import javax.annotation.Resource;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
#if($table.sub)
|
|
import java.util.ArrayList;
|
|
|
|
import com.starry.common.utils.StringUtils;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import ${packageName}.entity.${subClassName};
|
|
#end
|
|
import ${packageName}.mapper.${ClassName}Mapper;
|
|
import ${packageName}.entity.${ClassName};
|
|
import ${packageName}.service.I${ClassName}Service;
|
|
|
|
/**
|
|
* ${functionName}Service业务层处理
|
|
*
|
|
* @author ${author}
|
|
* @since ${datetime}
|
|
*/
|
|
@Service
|
|
public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${ClassName}Entity> implements I${ClassName}Service {
|
|
@Resource
|
|
private ${ClassName}Mapper ${className}Mapper;
|
|
|
|
/**
|
|
* 查询${functionName}
|
|
* @param ${pkColumn.javaField} ${functionName}主键
|
|
* @return ${functionName}
|
|
*/
|
|
@Override
|
|
public ${ClassName}Entity select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}) {
|
|
return this.baseMapper.selectById(id);
|
|
}
|
|
|
|
/**
|
|
* 查询${functionName}列表
|
|
* @param ${className} ${functionName}
|
|
* @return ${functionName}
|
|
*/
|
|
@Override
|
|
public IPage<${ClassName}Entity> select${ClassName}ByPage(${ClassName}Entity ${className}) {
|
|
Page<${ClassName}Entity> page = new Page<>(1, 10);
|
|
return this.baseMapper.selectPage(page, new LambdaQueryWrapper<${ClassName}Entity>());
|
|
}
|
|
|
|
/**
|
|
* 新增${functionName}
|
|
* @param ${className} ${functionName}
|
|
* @return 结果
|
|
*/
|
|
#if($table.sub)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
#end
|
|
@Override
|
|
public boolean create(${ClassName}Entity ${className}) {
|
|
#if($table.sub)
|
|
int rows = ${className}Mapper.insert${ClassName}(${className});
|
|
insert${subClassName}(${className});
|
|
return rows;
|
|
#else
|
|
if (StrUtil.isBlankIfStr(${className}.getId())) {
|
|
${className}.setId(IdUtil.fastSimpleUUID());
|
|
}
|
|
return save(${className});
|
|
#end
|
|
}
|
|
|
|
/**
|
|
* 修改${functionName}
|
|
* @param ${className} ${functionName}
|
|
* @return 结果
|
|
*/
|
|
#if($table.sub)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
#end
|
|
@Override
|
|
public boolean update(${ClassName}Entity ${className}) {
|
|
#if($table.sub)
|
|
${className}Mapper.delete${subClassName}By${subTableFkClassName}(${className}.get${pkColumn.capJavaField}())
|
|
;
|
|
insert${subClassName}(${className});
|
|
#end
|
|
return updateById(${className});
|
|
}
|
|
|
|
/**
|
|
* 批量删除${functionName}
|
|
* @param ${pkColumn.javaField}s 需要删除的${functionName}主键
|
|
* @return 结果
|
|
*/
|
|
#if($table.sub)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
#end
|
|
@Override
|
|
public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s) {
|
|
#if($table.sub)
|
|
${className}Mapper.delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaField}s);
|
|
#end
|
|
return ${className}Mapper.deleteBatchIds(Arrays.asList(${pkColumn.javaField}s));
|
|
}
|
|
|
|
/**
|
|
* 删除${functionName}信息
|
|
* @param ${pkColumn.javaField} ${functionName}主键
|
|
* @return 结果
|
|
*/
|
|
#if($table.sub)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
#end
|
|
@Override
|
|
public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}) {
|
|
#if($table.sub)
|
|
${className}Mapper.delete${subClassName}By${subTableFkClassName}(${pkColumn.javaField});
|
|
#end
|
|
return ${className}Mapper.deleteById(${pkColumn.javaField});
|
|
}
|
|
#if($table.sub)
|
|
|
|
/**
|
|
* 新增${subTable.functionName}信息
|
|
* @param ${className} ${functionName}对象
|
|
*/
|
|
public void insert${subClassName}(${ClassName}Entity ${className}) {
|
|
List<${subClassName}> ${subclassName}List = ${className}.get${subClassName}List();
|
|
${pkColumn.javaType} ${pkColumn.javaField} = ${className}.get${pkColumn.capJavaField}();
|
|
if (StringUtils.isNotNull(${subclassName}List)) {
|
|
List<${subClassName}> list = new ArrayList<${subClassName}>();
|
|
for (${subClassName} ${subclassName} :${subclassName}List)
|
|
{
|
|
${subclassName}.set${subTableFkClassName}(${pkColumn.javaField});
|
|
list.add(${subclassName});
|
|
}
|
|
if (!list.isEmpty()) {
|
|
${className}Mapper.batch${subClassName}(list);
|
|
}
|
|
}
|
|
}
|
|
#end
|
|
}
|