Commit acf2c0d5 by 陈宁

# dev user coupons server coding

parent 6e379702
...@@ -11,5 +11,9 @@ namespace Freemud.BE.Toolbox.WebApi.Model.Request ...@@ -11,5 +11,9 @@ namespace Freemud.BE.Toolbox.WebApi.Model.Request
/// 手机号 / MemberId / UnionId /// 手机号 / MemberId / UnionId
/// </summary> /// </summary>
public string Terms { get; set; } public string Terms { get; set; }
public string StoreId { get; set; }
public string Time { get; set; }
} }
} }
using Dapper; using Dapper;
using Freemud.BE.Toolbox.WebApi.Model; using Freemud.BE.Toolbox.WebApi.Model;
using Freemud.BE.Toolbox.WebApi.Model.Repository; using Freemud.BE.Toolbox.WebApi.Model.Repository;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Freemud.BE.Toolbox.WebApi.Repository.Dapper namespace Freemud.BE.Toolbox.WebApi.Repository.Dapper
...@@ -23,7 +19,7 @@ namespace Freemud.BE.Toolbox.WebApi.Repository.Dapper ...@@ -23,7 +19,7 @@ namespace Freemud.BE.Toolbox.WebApi.Repository.Dapper
{ {
using (var connection = GetConnection(env)) using (var connection = GetConnection(env))
{ {
return await connection.QueryFirstAsync<UserIdentityInfo>("select top 1 u.UnionId, u.MemberId, u.Mobile from [User] u where u.Mobile = @terms or u.MemberId = @terms", new { terms }); return await connection.QueryFirstOrDefaultAsync<UserIdentityInfo>("select top 1 u.UnionId, u.MemberId, u.Mobile from [User] u where u.Mobile = @terms or u.MemberId = @terms", new { terms });
} }
} }
} }
......
...@@ -13,6 +13,7 @@ using System.Collections.Generic; ...@@ -13,6 +13,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using static Freemud.BE.Toolbox.WebApi.Model.Response.UserCardAdapter;
namespace Freemud.BE.Toolbox.WebApi.Services namespace Freemud.BE.Toolbox.WebApi.Services
{ {
...@@ -129,39 +130,98 @@ namespace Freemud.BE.Toolbox.WebApi.Services ...@@ -129,39 +130,98 @@ namespace Freemud.BE.Toolbox.WebApi.Services
var vendorCardsResponse = await fmCouponProxy.GetVendorCardCoupons(request.Env, request.Channel, userIdentityInfo.UnionId); var vendorCardsResponse = await fmCouponProxy.GetVendorCardCoupons(request.Env, request.Channel, userIdentityInfo.UnionId);
var userCards = new List<UserCardAdapter>(); var userCards = new List<UserCardAdapter>();
// 麦钱包券 #region 解析麦钱包券
{ {
var jo = JObject.Parse(archCardsResponse.ResponseContent); var jo = JObject.Parse(archCardsResponse.ResponseContent);
if (jo.ContainsKey("data")) if (jo.ContainsKey("data"))
{ {
var data = JArray.Parse(jo["data"].ToString()); var cards = JArray.Parse(jo["data"]["card_list"].ToString());
logger.LogInformation($"[GetUserCoupons] archCardsResponse.data: {jo["data"].ToString()}"); logger.LogInformation($"[GetUserCoupons] archCardsResponse.cards: {JsonConvert.SerializeObject(cards)}");
if (cards?.Any() ?? false)
{
userCards.AddRange(cards.Select(c => new UserCardAdapter
{
CardId = c["card_id"].ToString(),
Code = c["card_code"].ToString(),
CardType = EnumCardType.ArchCard,
StartDate = $"{DateTime.Parse(c["begin_date"].ToString()):yyyy/MM/dd}",
EndDate = $"{DateTime.Parse(c["end_date"].ToString()):yyyy/MM/dd}",
//AvailableTimeDesc = c.GetAvailableTimeDesc()
}));
}
} }
} }
#endregion
// 微信券 #region 解析微信券
{ {
var jo = JObject.Parse(wechatCardsResponse.ResponseContent); var jo = JObject.Parse(wechatCardsResponse.ResponseContent);
if (jo.ContainsKey("data")) if (jo.ContainsKey("data"))
{ {
var data = JArray.Parse(jo["data"].ToString()); var cards = JArray.Parse(jo["data"]["card_list"].ToString());
logger.LogInformation($"[GetUserCoupons] wechatCardsResponse.data: {jo["data"].ToString()}"); logger.LogInformation($"[GetUserCoupons] wechatCardsResponse.cards: {JsonConvert.SerializeObject(cards)}");
if (cards?.Any() ?? false)
{
userCards.AddRange(cards.Select(c => new UserCardAdapter
{
CardId = c["card_id"].ToString(),
Code = c["code"].ToString(),
CardType = EnumCardType.WeChat,
StartDate = $"{DateTime.Parse(c["start_date"].ToString()):yyyy/MM/dd}",
EndDate = $"{DateTime.Parse(c["end_date"].ToString()):yyyy/MM/dd}",
//AvailableTimeDesc = c.GetAvailableTimeDesc()
}));
}
} }
} }
#endregion
// 商家券 #region 解析商家券
{ {
var jo = JObject.Parse(vendorCardsResponse.ResponseContent); var jo = JObject.Parse(vendorCardsResponse.ResponseContent);
if (jo.ContainsKey("data")) if (jo.ContainsKey("data"))
{ {
var data = JArray.Parse(jo["data"].ToString()); var cards = JArray.Parse(jo["data"]["card_list"].ToString());
logger.LogInformation($"[GetUserCoupons] vendorCardsResponse.data: {jo["data"].ToString()}"); logger.LogInformation($"[GetUserCoupons] vendorCardsResponse.cards: {JsonConvert.SerializeObject(cards)}");
if (cards?.Any() ?? false)
{
userCards.AddRange(cards.Select(c => new UserCardAdapter
{
CardId = c["card_id"].ToString(),
Code = c["code"].ToString(),
CardType = EnumCardType.VendorCard,
StartDate = $"{DateTime.Parse(c["begin_time"].ToString()):yyyy/MM/dd}",
EndDate = $"{DateTime.Parse(c["end_time"].ToString()):yyyy/MM/dd}",
//AvailableTimeDesc = c.GetAvailableTimeDesc()
}));
}
} }
} }
#endregion
result.Add(archCardsResponse); result.Add(archCardsResponse);
result.Add(wechatCardsResponse); result.Add(wechatCardsResponse);
result.Add(vendorCardsResponse); result.Add(vendorCardsResponse);
#region 获取券码及对应商品信息
if (userCards.Any())
{
var getCouponInfoRequest = new GetCouponInfoRequest
{
Channel = request.Channel,
Env = request.Env,
StoreId = request.StoreId,
Time = request.Time,
CouponCode = string.Join(',', userCards.Select(d => d.Code).ToList())
};
var couponInfoResponse = await GetCouponInfo(getCouponInfoRequest);
result.AddRange(couponInfoResponse);
}
#endregion
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment