using System; using System.Collections.Generic; using System.Data; using System.Web.Http; using System.Web.Http.Description; using ESCom = EShang.Common; using HZQR.Common; namespace YFBusinessApi.Controllers { /// /// 商品数据相关接口 /// public class CommodityController : BaseController { #region 方法 -> 获取商家商品信息 /// /// 获取商家商品信息 /// /// 商家会员内码 /// 服务区编码集合 /// 自定义类别内码 /// 商品名称 /// 上架状态 /// [Route("Commodity/GetShopGoodsInfo")] [AcceptVerbs("GET", "POST")] [ResponseType(typeof(Models.JsonMsg>))] public IHttpActionResult GetShopGoodsInfo(int memberShipId, string ServerpartShopCodes = "", string UserDefinedType_Id = "", string Commodity_Name = "", string Upper_State = "") { try { if (memberShipId == 0 && string.IsNullOrEmpty(ServerpartShopCodes)) { return Ok(Models.JsonMsg.Fail(200, "缺失参数Membership_Id或者ServerpartShopCodes")); } DataTable dtShopGoods = new DataTable(); List shopgoodsinfo = new List(); if (string.IsNullOrWhiteSpace(ServerpartShopCodes)) { //若没有传入门店权限,则根据商户会员内码获取商户门店权限 string provinceCodes = ""; ESCom.BusinessMan.GetUserServerPartShop(memberShipId, transaction, ref provinceCodes, ref ServerpartShopCodes); } if (!string.IsNullOrWhiteSpace(ServerpartShopCodes)) { //根据商户门店权限获取商品信息 dtShopGoods = ESCom.Commodity.GetShopGoodsInfoByID(transaction, ServerpartShopCodes, "", UserDefinedType_Id, Commodity_Name, Upper_State); foreach (DataRow dr in dtShopGoods.Select("", "UPPER_STATE desc,USERDEFINEDTYPE_INDEX,COMMODITY_NAME")) { Models.ShopGoodsInfo _shopgoodsinfo = new Models.ShopGoodsInfo(); _shopgoodsinfo.Commodity_BarCode = dr["Commodity_BarCode"].TryParseToString();//商品条码 _shopgoodsinfo.Commodity_Id = dr["Commodity_Id"].ToString();//商品内码 _shopgoodsinfo.UserDefinedType_ID = dr["UserDefinedType_ID"].TryParseToInt();//自定义商品内码 _shopgoodsinfo.UserDefinedType_Name = dr["UserDefinedType_Name"].TryParseToString();//商品类别名称 _shopgoodsinfo.UserDefinedType_Index = dr["UserDefinedType_Index"].TryParseToInt();//商品类别索引 _shopgoodsinfo.Commodity_Name = dr["Commodity_Name"].TryParseToString();//商品名称 _shopgoodsinfo.Commodity_Unit = dr["Commodity_Unit"].TryParseToString();//商品单位 _shopgoodsinfo.Commodity_Rule = dr["Commodity_Rule"].TryParseToString();//商品规格 _shopgoodsinfo.Commodity_RetailPrice = dr["Commodity_RetailPrice"].TryParseToDecimal();//零售价格 _shopgoodsinfo.Commodity_PurChasePrice = dr["Commodity_PurChasePrice"].TryParseToDecimal();//进货价格 _shopgoodsinfo.Commodity_MemberPrice = dr["Commodity_MemberPrice"].TryParseToDecimal();//会员价格 _shopgoodsinfo.Commodity_State = dr["Commodity_State"].TryParseToInt();//商品状态 _shopgoodsinfo.Commodity_Stock = dr["Commodity_Stock"].TryParseToInt();//限售数量 _shopgoodsinfo.Commodity_SaleStock = dr["Commodity_SaleStock"].TryParseToInt();//已售件数 _shopgoodsinfo.Commodity_SurplusStock = dr["Commodity_SurplusStock"].TryParseToInt();//剩余件数 _shopgoodsinfo.Islimited = dr["ISLIMITED"].TryParseToInt();//商品是否按量限售 _shopgoodsinfo.Upper_Date = dr["Upper_Date"].TryParseToString();//上架时间 _shopgoodsinfo.Off_Date = dr["Off_Date"].TryParseToString();//下架时间 _shopgoodsinfo.Upper_State = dr["Upper_State"].TryParseToInt();//上架状态 _shopgoodsinfo.Image_Paths = dr["Image_Paths"].TryParseToString();//图片路径集合 _shopgoodsinfo.ShopShortName = dr["ShopShortName"].TryParseToString();//门店内码集合 _shopgoodsinfo.Serverpartshop_Ids = dr["Serverpartshop_Ids"].TryParseToString();//门店内码集合 _shopgoodsinfo.Image_Content = dr["Image_Content"].TryParseToString();//图片内容 _shopgoodsinfo.Table_Id = dr["Table_Id"].TryParseToInt();//表内码 _shopgoodsinfo.Image_Path = dr["Image_Path"].TryParseToString();//图片路径 shopgoodsinfo.Add(_shopgoodsinfo); } } return Ok(Models.JsonMsg>.Success(shopgoodsinfo, 100, "查询成功!")); } catch (Exception ex) { transaction.Rollback(); SuperMap.RealEstate.Utility.ErrorLogHelper.Write(ex, "接口【GetShopGoodsInfo】", "Commodity/GetShopGoodsInfo"); string msg = "验证失败" + ex.Message; return Ok(Models.JsonMsg.Fail(999, msg)); } } #endregion #region 方法 -> 获取商品信息详情 /// /// 获取商品信息详情 /// /// 商品内码 /// [Route("Commodity/GetShopGoodsInfoDetail")] [AcceptVerbs("GET", "POST")] [ResponseType(typeof(Models.JsonMsg))] public IHttpActionResult GetShopGoodsInfoDetail(string Commodity_ID) { try { if (string.IsNullOrWhiteSpace(Commodity_ID)) { return Ok(Models.JsonMsg.Fail(200, "缺失参数Commodity_ID")); } DataTable dtShopGoods = dtShopGoods = ESCom.Commodity.GetShopGoodsInfoByID(transaction, "", Commodity_ID); Models.ShopGoodsInfo _shopgoodsinfo = new Models.ShopGoodsInfo(); if (dtShopGoods.Rows.Count > 0) { DataRow dr = dtShopGoods.Rows[0]; _shopgoodsinfo.Commodity_BarCode = dr["Commodity_BarCode"].ToString();//商品条码 _shopgoodsinfo.Commodity_Id = dr["Commodity_Id"].ToString();//商品内码 _shopgoodsinfo.UserDefinedType_ID = dr["UserDefinedType_ID"].TryParseToInt();//自定义商品内码 _shopgoodsinfo.UserDefinedType_Name = dr["UserDefinedType_Name"].ToString();//商品类别名称 _shopgoodsinfo.UserDefinedType_Index = dr["UserDefinedType_Index"].TryParseToInt();//商品类别索引 _shopgoodsinfo.Commodity_Name = dr["Commodity_Name"].ToString();//商品名称 _shopgoodsinfo.Commodity_Unit = dr["Commodity_Unit"].ToString();//商品单位 _shopgoodsinfo.Commodity_Rule = dr["Commodity_Rule"].ToString();//商品规格 _shopgoodsinfo.Commodity_RetailPrice = dr["Commodity_RetailPrice"].TryParseToDecimal();//零售价格 _shopgoodsinfo.Commodity_PurChasePrice = dr["Commodity_PurChasePrice"].TryParseToDecimal();//进货价格 _shopgoodsinfo.Commodity_MemberPrice = dr["Commodity_MemberPrice"].TryParseToDecimal();//会员价格 _shopgoodsinfo.Commodity_State = dr["Commodity_State"].TryParseToInt();//商品状态 _shopgoodsinfo.Commodity_Stock = dr["Commodity_Stock"].TryParseToInt();//商品库存 _shopgoodsinfo.Upper_Date = dr["Upper_Date"].ToString();//上架时间 _shopgoodsinfo.Off_Date = dr["Off_Date"].ToString();//下架时间 _shopgoodsinfo.Upper_State = dr["Upper_State"].TryParseToInt();//上架状态 _shopgoodsinfo.Image_Paths = dr["Image_Paths"].ToString();//图片路径集合 _shopgoodsinfo.Serverpartshop_Ids = dr["Serverpartshop_Ids"].ToString();//门店内码 _shopgoodsinfo.Image_Content = dr["Image_Content"].ToString();//图片内容 _shopgoodsinfo.Table_Id = dr["Table_Id"].TryParseToInt();//表内码 _shopgoodsinfo.Image_Path = dr["Image_Path"].ToString();//图片路径 _shopgoodsinfo.Commodity_Stock = dr["Commodity_Stock"].TryParseToInt();//限售数量 _shopgoodsinfo.Commodity_SaleStock = dr["Commodity_SaleStock"].TryParseToInt();//已售件数 _shopgoodsinfo.Commodity_SurplusStock = dr["Commodity_SurplusStock"].TryParseToInt();//剩余件数 _shopgoodsinfo.Islimited = dr["ISLIMITED"].TryParseToInt();//商品是否按量限售 } return Ok(Models.JsonMsg.Success(_shopgoodsinfo, 100, "查询成功!")); } catch (Exception ex) { transaction.Rollback(); SuperMap.RealEstate.Utility.ErrorLogHelper.Write(ex, "接口【GetShopGoodsInfoDetail】", "Commodity/GetShopGoodsInfoDetail"); string msg = "验证失败" + ex.Message; return Ok(Models.JsonMsg.Fail(999, msg)); } } #endregion #region 方法 -> 获取商家商品类型 /// /// 获取商家商品类型 /// /// 商家会员内码 /// 服务区门店编码集合 /// 商品内码 /// [Route("Commodity/GetUserDefinedTypeInfo")] [AcceptVerbs("GET", "POST")] [ResponseType(typeof(Models.JsonMsg>))] public IHttpActionResult GetUserDefinedTypeInfo(int memberShipId, string ServerpartShopCodes = "", string Commodity_ID = "") { try { if (memberShipId == 0) { return Ok(Models.JsonMsg.Fail(200, "缺失参数Membership_Id")); } List userdefinedtypeinfo = new List(); //判断门店是否为空 if (string.IsNullOrWhiteSpace(ServerpartShopCodes)) { //若没有传入门店权限,则根据商户会员内码获取商户门店权限 string provinceCodes = ""; ESCom.BusinessMan.GetUserServerPartShop(memberShipId, transaction, ref provinceCodes, ref ServerpartShopCodes); } if (!string.IsNullOrWhiteSpace(ServerpartShopCodes)) { DataTable dtShopGoods = new DataTable(); //根据商户门店权限获取商品信息 dtShopGoods = ESCom.Commodity.GetUserDefinedTypeInfoByID(transaction, ServerpartShopCodes, Commodity_ID); foreach (DataRow dr in dtShopGoods.Select("", "USERDEFINEDTYPE_INDEX,USERDEFINEDTYPE_NAME")) { Models.UserDefinedTypeInfo _userdefinedtypeinfo = new Models.UserDefinedTypeInfo(); _userdefinedtypeinfo.USERDEFINEDTYPE_ID = dr["USERDEFINEDTYPE_ID"].TryParseToInt(); _userdefinedtypeinfo.USERDEFINEDTYPE_INDEX = dr["USERDEFINEDTYPE_INDEX"].TryParseToInt(); _userdefinedtypeinfo.USERDEFINEDTYPE_DESC = dr["USERDEFINEDTYPE_DESC"].ToString(); _userdefinedtypeinfo.USERDEFINEDTYPE_ICO = dr["USERDEFINEDTYPE_ICO"].ToString(); _userdefinedtypeinfo.USERDEFINEDTYPE_NAME = dr["USERDEFINEDTYPE_NAME"].ToString(); _userdefinedtypeinfo.SCANCODE_ORDER = dr["SCANCODE_ORDER"].TryParseToInt(); _userdefinedtypeinfo.USERDEFINEDTYPE_PID = dr["USERDEFINEDTYPE_PID"].TryParseToInt(); userdefinedtypeinfo.Add(_userdefinedtypeinfo); } } return Ok(Models.JsonMsg>.Success(userdefinedtypeinfo, 100, "查询成功!")); } catch (Exception ex) { transaction.Rollback(); SuperMap.RealEstate.Utility.ErrorLogHelper.Write(ex, "接口【GetUserDefinedTypeInfo】", "Commodity/GetUserDefinedTypeInfo"); string msg = "验证失败" + ex.Message; return Ok(Models.JsonMsg.Fail(999, msg)); } } #endregion #region 方法 -> 更新商品信息 /// /// 更新商品信息 /// /// [Route("Commodity/UpdateShopGoodsInfo")] [AcceptVerbs("GET", "POST")] public IHttpActionResult UpdateShopGoodsInfo() { string commodity_id = Pub.Request("commodity_id").TryParseToString();//商品内码集合 string upper_state = Pub.Request("upper_state").TryParseToString();//上架状态 string usedefinedtype_id = Pub.Request("usedefinedtype_id").TryParseToString();//商品类型 string commodity_name = Pub.Request("commodity_name").TryParseToString();//商品名称 string commodity_retailprice = Pub.Request("commodity_retailprice").TryParseToString();//零售价格 string commodity_purchaseprice = Pub.Request("commodity_purchaseprice").TryParseToString();//进货价格 string commodity_memberprice = Pub.Request("commodity_memberprice").TryParseToString();//会员价格 string islimited = Pub.Request("islimited").TryParseToString();//商品是否限量销售 string commodity_stock = Pub.Request("commodity_stock").TryParseToString();//每日限量 string upper_date = Pub.Request("upper_date").TryParseToString();//上架时间 string off_date = Pub.Request("off_date").TryParseToString();//下架时间 string operate_staff = Pub.Request("operate_staff").TryParseToString();//操作人员 string img_Arr = Pub.Request("img_Arr").TryParseToString();//图片64位码 try { if (string.IsNullOrEmpty(commodity_id) || string.IsNullOrEmpty(upper_state)) { return Ok(Helper.Common.ReturnJson(200, "缺失参数commodity_id或upper_state!")); } if (ESCom.Commodity.UpdateShopGoodsInfoByMobile(transaction, commodity_id, usedefinedtype_id, commodity_name, commodity_retailprice, commodity_purchaseprice, commodity_memberprice, commodity_stock, upper_date, off_date, upper_state, operate_staff, img_Arr, islimited)) { return Ok(Helper.Common.ReturnJson(100, "更新成功!")); } else { return Ok(Helper.Common.ReturnJson(200, "更新失败!")); } } catch (Exception ex) { transaction.Rollback(); SuperMap.RealEstate.Utility.ErrorLogHelper.Write(ex, "接口【UpdateShopGoodsInfo】", "Commodity/UpdateShopGoodsInfo"); string msg = "更新失败" + ex.Message; return Ok(Helper.Common.ReturnJson(999, msg)); } } #endregion } }