You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package com.example.demo.serviceImpl.coin;
import com.example.demo.domain.entity.Translation;import com.example.demo.mapper.coin.TranslationMapper;import com.example.demo.service.coin.TranslationService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;
import java.util.HashMap;import java.util.List;import java.util.Map;
@Servicepublic class TranslationServiceImpl implements TranslationService {
@Autowired private TranslationMapper translationMapper;
@Override public List<Translation> findAll() { return translationMapper.findAll(); }
@Override public boolean add(Translation translation) { // 使用精确匹配检查是否存在相同的 chineseSimplified
Translation existingTranslation = translationMapper.findByChineseSimplified(translation.getChineseSimplified()); if (existingTranslation != null) { throw new RuntimeException("简体中文已存在"); } return translationMapper.insert(translation) > 0; }
@Override public boolean update(Translation translation) { return translationMapper.update(translation) > 0; }
@Override public boolean deleteById(Integer id) { return translationMapper.deleteById(id) > 0; }
@Override public List<Translation> findByChineseSimplifiedLike(String chineseSimplified) { return translationMapper.findByChineseSimplifiedLike(chineseSimplified); }
@Override public Translation findByChineseSimplified(String chineseSimplified) { return translationMapper.findByChineseSimplified(chineseSimplified); }
@Override public List<Translation> findByLanguageAndTranslationStatus(String language, boolean isTranslated) { // 语言字段映射关系
Map<String, String> languageColumnMap = new HashMap<>(); languageColumnMap.put("en", "english"); // 英语
languageColumnMap.put("th", "thai"); // 泰语
languageColumnMap.put("zh_TW", "chinese_traditional"); // 繁体中文
languageColumnMap.put("ms", "malay"); // 马来语
languageColumnMap.put("vi", "vietnamese"); // 越南语
String columnName = languageColumnMap.get(language.toLowerCase()); if (columnName == null) { throw new IllegalArgumentException("不支持的语言类型: " + language); }
return translationMapper.findByLanguageAndTranslationStatus(columnName, isTranslated); }
@Override public List<Translation> findByChineseSimplifiedAndLanguageStatus( String chineseSimplified, String language, boolean isTranslated) { // 语言字段映射关系
Map<String, String> languageColumnMap = new HashMap<>(); languageColumnMap.put("en", "english"); // 英语
languageColumnMap.put("th", "thai"); // 泰语
languageColumnMap.put("zh_TW", "chinese_traditional"); // 繁体中文
languageColumnMap.put("ms", "malay"); // 马来语
languageColumnMap.put("vi", "vietnamese"); // 越南语
String columnName = languageColumnMap.get(language.toLowerCase()); if (columnName == null) { throw new IllegalArgumentException("不支持的语言类型: " + language); } return translationMapper.findByChineseSimplifiedAndLanguageStatus( chineseSimplified, columnName, isTranslated); }
@Override public Translation findById(Integer id) { return translationMapper.findById(id); }}
|