| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- const d_product = require('../database/d_product');
- const {searchHandle} = require('../tools/searchSql');
- const {handle} = require('../tools/handle_cjs');
- const codeMap = require("../map/rcodeMap");
- const log = require("../logger").logger("c_product","info")
- const time = require("../tools/time_cjs")
- /**
- * 加载产品
- * @param key 产品类别
- * @param p 页码
- * @param l 每页数量
- * @returns {Promise<*[]>} [err,res]
- */
- async function loadProduct(key,p,l)
- {
- p = p || 1;
- l = l || 10;
- let [err,res] = await handle(d_product.loadProducts(key, p, l));
- if(err){
- return [err,null];
- }
- return [null,res];
- }
- /**
- * 获取产品信息
- * @param id 产品id
- * @returns {Promise<*[]>}
- */
- async function getProductInfo(id)
- {
- let [err,res] = await handle(d_product.getProductInfo(id));
- if(err){
- return [err,null];
- }
- let data = {};
- if(res.length){
- data = res[0];
- }else{
- return [
- {
- eCode:codeMap.NotFound,
- eMsg:`无法找到对应产品`
- },null]
- }
- // console.log(data);
- return [null,data];
- }
- async function searchProduct(type, key, p, l)
- {
- p = p || 1;
- l = l || 10;
- let _params = {
- }
- if(type !== 'all'){
- _params.type = type;
- }
- if(key){
- _params.key = key
- }
- return searchHandle(
- '搜索产品失败',
- d_product.searchProducts,
- _params,
- null,
- p,
- l);
- }
- async function searchProductByMini(type, key, p, l){
- p = p || 1;
- l = l || 10;
- let _params = {
- }
- if(type !== 'all'){
- _params.type = type;
- }
- if(key){
- _params.key = key
- }
- return searchHandle(
- '搜索产品失败',
- d_product.searchProductsByMini,
- _params,
- null,
- p,
- l);
- }
- // 获取产品类型
- async function getProductTypes()
- {
- let [err,res] = await handle(d_product.getProductTypeList());
- if(err){
- return [err,null];
- }
- return [null,res];
- }
- async function editType( id, productType)
- {
- let [err,res] = await handle(d_product.editProductType(id, productType));
- if(err){
- return [err,null];
- }
- return [null,res];
- }
- async function addType( id, productType)
- {
- // 数据校验
- let [err,res] = await handle(d_product.addProductType(id, productType));
- if(err){
- return [err,null];
- }
- return [null,res];
- }
- // 删除产品类型
- async function deleteType(id) {
- let err, res;
- // 检索产品类型下是否有产品
- [err, res] = await handle(d_product.getProductByTypeId(id));
- if (err) {
- // 删除失败
- log.error('无法找到对应产品' + err.message);
- return [err, null];
- }
- if (res.length > 0) {
- // 存在产品
- return [
- {
- eCode: codeMap.NotPermission,
- eMsg: `该类型下存在产品,无法删除, 请先移除对应产品`
- }, null];
- }
- [err, res] = await handle(d_product.deleteProductType(id));
- if (err) {
- log.error('删除失败' + err.message);
- return [err, null];
- }
- return [null,res];
- }
- module.exports = {
- loadProduct,
- getProductInfo,
- searchProduct,
- searchProductByMini,
- getProductTypes,
- editType,
- addType,
- deleteType
- };
|