package com.consum.base.service.impl;
|
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.CollectionUtils;
|
|
import com.consum.base.Constants;
|
import com.consum.base.core.utils.IdUtil;
|
import com.consum.base.core.utils.MapperUtil;
|
import com.consum.base.service.BaseGoodsModelsService;
|
import com.consum.model.po.BaseGoodsModels;
|
import com.walker.db.page.GenericPager;
|
import com.walker.infrastructure.utils.DateUtils;
|
import com.walker.jdbc.service.BaseServiceImpl;
|
|
/**
|
* @Description 物品模板
|
* @Author 卢庆阳
|
* @Date 2023/10/23
|
*/
|
@Service
|
public class BaseGoodsModelsServiceImpl extends BaseServiceImpl implements BaseGoodsModelsService {
|
|
/**
|
* @Description 规格列表查询(根据物品id查询规格型号)
|
* @Author 卢庆阳
|
* @Date 2023/10/25
|
*/
|
@Override
|
public GenericPager<BaseGoodsModels> queryList(Long goodsTemplatesId) {
|
StringBuilder sql = new StringBuilder("SELECT * FROM base_goods_models WHERE 1 = 1 ");
|
HashMap<String, Object> paramts = new HashMap<>();
|
|
// 物品模板id
|
sql.append(" and goods_templates_id =:goods_templates_id ");
|
paramts.put("goods_templates_id", goodsTemplatesId);
|
|
sql.append(" and states !=3 ORDER BY CREATE_TIME DESC ");
|
return selectSplit(sql.toString(), paramts, new BaseGoodsModels());
|
}
|
|
/**
|
* @Description 根据 型号名称和物品模板id 查询规格型号
|
* @Author 卢庆阳
|
* @Date 2023/10/25
|
*/
|
@Override
|
public BaseGoodsModels getByModelNameAndGoodsTemplatesId(BaseGoodsModels models) {
|
StringBuilder sql = new StringBuilder("SELECT * FROM base_goods_models WHERE 1 = 1 ");
|
HashMap<String, Object> paramts = new HashMap<>();
|
|
// 规格型号名称
|
sql.append(" and MODEL_NAME =:MODEL_NAME ");
|
paramts.put("MODEL_NAME", models.getModelName());
|
// 物品模板id
|
sql.append(" and GOODS_TEMPLATES_ID =:GOODS_TEMPLATES_ID ");
|
paramts.put("GOODS_TEMPLATES_ID", models.getGoodsTemplatesId());
|
if (models.getStates() != null) {
|
sql.append(" and STATES =:states ");
|
paramts.put("states", models.getStates());
|
}
|
|
return this.get(sql.toString(), paramts, new BaseGoodsModels());
|
}
|
|
/**
|
* @Description 新增
|
* @Author 卢庆阳
|
* @Date 2023/10/23
|
*/
|
@Override
|
public int add(BaseGoodsModels models) {
|
models.setId(IdUtil.generateId());
|
models.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
|
return this.insert(models);
|
}
|
|
/**
|
* 修改状态
|
*
|
* @author 卢庆阳
|
* @date 2023/10/25
|
*/
|
@Override
|
public int updateStatus(BaseGoodsModels models) {
|
return this.update(models);
|
}
|
|
/**
|
* @Description 根据id删除规格型号
|
* @Author 卢庆阳
|
* @Date 2023/10/25
|
*/
|
@Override
|
public int updateById(BaseGoodsModels models) {
|
models.setStates(Constants.STATES_DELETED);
|
return this.update(models);
|
}
|
|
/**
|
* @param idList
|
* @Description 根据规格型号id查询规格型号
|
* @Author 卢庆阳
|
* @Date 2023/11/2
|
*/
|
@Override
|
public List<BaseGoodsModels> selectByModelsIdList(List<Long> idList) {
|
if (CollectionUtils.isEmpty(idList)) {
|
log.error("参数错误");
|
return null;
|
}
|
StringBuilder sql = new StringBuilder("SELECT * FROM base_goods_models WHERE 1 = 1 ");
|
HashMap<String, Object> paramts = new HashMap<>();
|
|
sql.append(" and id in ( ");
|
for (int i = 0; i < idList.size(); i++) {
|
sql.append(idList.get(i));
|
if (i < idList.size() - 1) {
|
sql.append(",");
|
}
|
}
|
sql.append(" ) ");
|
|
return this.select(sql.toString(), paramts, new BaseGoodsModels());
|
}
|
|
private String QUERY_GOODS_MODEL_INFO =
|
"SELECT CLASSIFICATION type, goodsTemp.CATEGORY_ID,goodsTemp.CATEGORY_NAME,goodsTemp.id goods_Id,goodsTemp.GOODS_NAME,model.MODEL_NAME,model.id base_Goods_Models_Id,model.UNIT FROM BASE_GOODS_MODELS model LEFT JOIN BASE_GOODS_TEMPLATE goodsTemp ON model.GOODS_TEMPLATES_ID=goodsTemp.id";
|
|
/**
|
* 根据物品型号id 查询物品信息
|
*
|
* @param baseGoodsModelsId
|
* @return
|
*/
|
@Override
|
public List<Map<String, Object>> queryGoodsModelInfo(Long baseGoodsModelsId) {
|
StringBuilder sql = new StringBuilder(QUERY_GOODS_MODEL_INFO);
|
HashMap<String, Object> paramts = new HashMap<>();
|
sql.append(" where model.id=:baseGoodsModelsId");
|
paramts.put("baseGoodsModelsId", baseGoodsModelsId);
|
return select(sql.toString(), paramts, new MapperUtil());
|
}
|
|
}
|