futian.liu
2023-12-01 b3dc06734af35528496c192368586d5d8a61b42a
consum-base/src/main/java/com/consum/base/service/BaseGoodsModelsServiceImpl.java
@@ -1,7 +1,18 @@
package com.consum.base.service;
import com.consum.base.Constants;
import com.consum.base.core.utils.IdUtil;
import com.consum.base.core.utils.MapperUtil;
import com.consum.model.po.BaseGoodsModels;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.DateUtils;
import com.walker.jdbc.service.BaseServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * @Description 物品模板
@@ -11,4 +22,128 @@
@Service
public class BaseGoodsModelsServiceImpl extends BaseServiceImpl {
    /**
     * @Description 规格列表查询(根据物品id查询规格型号)
     * @Author 卢庆阳
     * @Date 2023/10/25
     */
    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
     */
    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
     */
    public int add(BaseGoodsModels models) {
        models.setId(IdUtil.generateId());
        models.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
        return this.insert(models);
    }
    /**
     * 修改状态
     *
     * @author 卢庆阳
     * @date 2023/10/25
     */
    public int updateStatus(BaseGoodsModels models) {
        return this.update(models);
    }
    /**
     * @Description 根据id删除规格型号
     * @Author 卢庆阳
     * @Date 2023/10/25
     */
    public int updateById(BaseGoodsModels models) {
        models.setStates(Constants.STATES_DELETED);
        return this.update(models);
    }
    /**
     * @param idList
     * @Description 根据规格型号id查询规格型号
     * @Author 卢庆阳
     * @Date 2023/11/2
     */
    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());
    }
    /**
     * @Description 根据物品id查询规格型号
     * @Author 卢庆阳
     * @Date 2023/10/30
     */
    public List<BaseGoodsModels> queryByGoodsTemplatesId(Long goodsTemplatesId) {
        BaseGoodsModels baseGoodsModels = new BaseGoodsModels();
        baseGoodsModels.setGoodsTemplatesId(goodsTemplatesId);
        return this.select(baseGoodsModels);
    }
    /**
     * 根据物品型号id 查询物品信息
     *
     * @param baseGoodsModelsId
     * @return
     */
    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";
    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());
    }
}