|  | @@ -1,13 +1,17 @@
 | 
	
		
			
				|  |  |  package com.zanxiang.game.data.serve.service.impl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import com.zanxiang.game.data.serve.pojo.dto.GameDTO;
 | 
	
		
			
				|  |  | +import com.zanxiang.game.data.serve.pojo.dto.GameUserConfigCreateOrUpdateDTO;
 | 
	
		
			
				|  |  |  import com.zanxiang.game.data.serve.pojo.dto.GameUserConfigListDTO;
 | 
	
		
			
				|  |  | +import com.zanxiang.game.data.serve.pojo.entity.GameUserConfig;
 | 
	
		
			
				|  |  |  import com.zanxiang.game.data.serve.pojo.vo.GameUserConfigListVO;
 | 
	
		
			
				|  |  |  import com.zanxiang.game.data.serve.service.IGameUserConfigService;
 | 
	
		
			
				|  |  |  import com.zanxiang.game.data.serve.utils.Page;
 | 
	
		
			
				|  |  | +import com.zanxiang.module.util.exception.BaseException;
 | 
	
		
			
				|  |  |  import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  |  import org.nutz.dao.Cnd;
 | 
	
		
			
				|  |  |  import org.nutz.dao.Dao;
 | 
	
		
			
				|  |  | +import org.nutz.dao.FieldFilter;
 | 
	
		
			
				|  |  |  import org.nutz.dao.Sqls;
 | 
	
		
			
				|  |  |  import org.nutz.dao.pager.Pager;
 | 
	
		
			
				|  |  |  import org.nutz.dao.sql.Criteria;
 | 
	
	
		
			
				|  | @@ -15,6 +19,7 @@ import org.nutz.dao.sql.Sql;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import java.time.LocalDateTime;
 | 
	
		
			
				|  |  |  import java.util.List;
 | 
	
		
			
				|  |  |  import java.util.Map;
 | 
	
		
			
				|  |  |  import java.util.function.Function;
 | 
	
	
		
			
				|  | @@ -25,7 +30,7 @@ import java.util.stream.Collectors;
 | 
	
		
			
				|  |  |   *
 | 
	
		
			
				|  |  |   * @author ZhangXianyu
 | 
	
		
			
				|  |  |   * @date 2024/4/18
 | 
	
		
			
				|  |  | - * @description TODO
 | 
	
		
			
				|  |  | + * @description 创角配置
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  |  @Service
 | 
	
		
			
				|  |  |  public class GameUserConfigServiceImpl implements IGameUserConfigService {
 | 
	
	
		
			
				|  | @@ -68,6 +73,48 @@ public class GameUserConfigServiceImpl implements IGameUserConfigService {
 | 
	
		
			
				|  |  |          return new Page<>(list, pager);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public Boolean create(GameUserConfigCreateOrUpdateDTO dto) {
 | 
	
		
			
				|  |  | +        int gameId = dao.count(GameUserConfig.class, Cnd.where("game_id", "=", dto.getGameId()));
 | 
	
		
			
				|  |  | +        if (gameId > 0) {
 | 
	
		
			
				|  |  | +           throw new BaseException("该游戏已存在创角配置");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        GameUserConfig gameUserConfig = new GameUserConfig();
 | 
	
		
			
				|  |  | +        gameUserConfig.setSourceSystem("ZX_ONE");
 | 
	
		
			
				|  |  | +        gameUserConfig.setGameId(dto.getGameId());
 | 
	
		
			
				|  |  | +        gameUserConfig.setRoleLevel(dto.getRoleLevel());
 | 
	
		
			
				|  |  | +        gameUserConfig.setCreateTime(LocalDateTime.now());
 | 
	
		
			
				|  |  | +        gameUserConfig.setUpdateTime(LocalDateTime.now());
 | 
	
		
			
				|  |  | +        dao.insert(gameUserConfig);
 | 
	
		
			
				|  |  | +        return true;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public Boolean delete(Long id) {
 | 
	
		
			
				|  |  | +        dao.delete(GameUserConfig.class, id);
 | 
	
		
			
				|  |  | +        return true;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public Boolean update(GameUserConfigCreateOrUpdateDTO dto) {
 | 
	
		
			
				|  |  | +        if(dto.getId()==null){
 | 
	
		
			
				|  |  | +            throw new BaseException("id不能为空");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        int count = dao.count(GameUserConfig.class, Cnd.where("game_id", "=", dto.getGameId()).and("id", "!=", dto.getId()));
 | 
	
		
			
				|  |  | +        if (count > 0) {
 | 
	
		
			
				|  |  | +            throw new BaseException("该游戏已存在创角配置");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        GameUserConfig old = dao.fetch(GameUserConfig.class, Cnd.where("id", "=", dto.getId()));
 | 
	
		
			
				|  |  | +        if (old == null) {
 | 
	
		
			
				|  |  | +            throw new BaseException("创角配置不存在");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        old.setUpdateTime(LocalDateTime.now());
 | 
	
		
			
				|  |  | +        old.setGameId(dto.getGameId());
 | 
	
		
			
				|  |  | +        old.setRoleLevel(dto.getRoleLevel());
 | 
	
		
			
				|  |  | +        dao.update(old, FieldFilter.create(GameUserConfig.class, "gameId|roleLevel|updateTime"));
 | 
	
		
			
				|  |  | +        return true;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      public String getGameUserConfigSql(Criteria criA) {
 | 
	
		
			
				|  |  |          String sql = """
 | 
	
		
			
				|  |  |                  select 
 |