282 lines
16 KiB
C#
282 lines
16 KiB
C#
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
|
||
{
|
||
/// <summary>
|
||
/// 商品数据相关接口
|
||
/// </summary>
|
||
public class CommodityController : BaseController
|
||
{
|
||
#region 方法 -> 获取商家商品信息
|
||
/// <summary>
|
||
/// 获取商家商品信息
|
||
/// </summary>
|
||
/// <param name="memberShipId">商家会员内码</param>
|
||
/// <param name="ServerpartShopCodes">服务区编码集合</param>
|
||
/// <param name="UserDefinedType_Id">自定义类别内码</param>
|
||
/// <param name="Commodity_Name">商品名称</param>
|
||
/// <param name="Upper_State">上架状态</param>
|
||
/// <returns></returns>
|
||
[Route("Commodity/GetShopGoodsInfo")]
|
||
[AcceptVerbs("GET", "POST")]
|
||
[ResponseType(typeof(Models.JsonMsg<List<Models.ShopGoodsInfo>>))]
|
||
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<Models.ShopGoodsInfo>.Fail(200, "缺失参数Membership_Id或者ServerpartShopCodes"));
|
||
}
|
||
|
||
DataTable dtShopGoods = new DataTable();
|
||
|
||
List<Models.ShopGoodsInfo> shopgoodsinfo = new List<Models.ShopGoodsInfo>();
|
||
|
||
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<List<Models.ShopGoodsInfo>>.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<Models.ShopGoodsInfo>.Fail(999, msg));
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 获取商品信息详情
|
||
/// <summary>
|
||
/// 获取商品信息详情
|
||
/// </summary>
|
||
/// <param name="Commodity_ID">商品内码</param>
|
||
/// <returns></returns>
|
||
[Route("Commodity/GetShopGoodsInfoDetail")]
|
||
[AcceptVerbs("GET", "POST")]
|
||
[ResponseType(typeof(Models.JsonMsg<Models.ShopGoodsInfo>))]
|
||
public IHttpActionResult GetShopGoodsInfoDetail(string Commodity_ID)
|
||
{
|
||
try
|
||
{
|
||
if (string.IsNullOrWhiteSpace(Commodity_ID))
|
||
{
|
||
return Ok(Models.JsonMsg<Models.ShopGoodsInfo>.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<Models.ShopGoodsInfo>.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<Models.ShopGoodsInfo>.Fail(999, msg));
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 获取商家商品类型
|
||
/// <summary>
|
||
/// 获取商家商品类型
|
||
/// </summary>
|
||
/// <param name="memberShipId">商家会员内码</param>
|
||
/// <param name="ServerpartShopCodes">服务区门店编码集合</param>
|
||
/// <param name="Commodity_ID">商品内码</param>
|
||
/// <returns></returns>
|
||
[Route("Commodity/GetUserDefinedTypeInfo")]
|
||
[AcceptVerbs("GET", "POST")]
|
||
[ResponseType(typeof(Models.JsonMsg<List<Models.UserDefinedTypeInfo>>))]
|
||
public IHttpActionResult GetUserDefinedTypeInfo(int memberShipId, string ServerpartShopCodes = "", string Commodity_ID = "")
|
||
{
|
||
try
|
||
{
|
||
if (memberShipId == 0)
|
||
{
|
||
return Ok(Models.JsonMsg<Models.UserDefinedTypeInfo>.Fail(200, "缺失参数Membership_Id"));
|
||
}
|
||
|
||
List<Models.UserDefinedTypeInfo> userdefinedtypeinfo = new List<Models.UserDefinedTypeInfo>();
|
||
|
||
//判断门店是否为空
|
||
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<List<Models.UserDefinedTypeInfo>>.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<Models.UserDefinedTypeInfo>.Fail(999, msg));
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 更新商品信息
|
||
/// <summary>
|
||
/// 更新商品信息
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[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
|
||
}
|
||
} |