Compare commits

...

3 Commits

Author SHA1 Message Date
7ac4a12dcc 1、同步dev_1.4.2已修复的缺陷:
(1)、零售明细优化,筛选支付方式不再限制为零售销售订单;
(2)、零售退货优化;通过扫描串码查询列表时查询最近的销售订单数据;已经退货的商品不能重复退(待修复);
2024-12-06 16:17:23 +08:00
fed6093f4e 1、优化getUsersAfterID中case未使用fallthrough的缺陷; 2024-12-06 14:45:12 +08:00
56e5ac695b 1、新增优惠券,编辑优惠券增加入参SmsContent; 2024-12-06 14:26:12 +08:00
2 changed files with 13 additions and 4 deletions

View File

@ -645,9 +645,11 @@ func (m *ErpOrderListReq) List(c *gin.Context) (*ErpOrderListResp, error) {
func QueryListByScanCode(storeId uint32, scanCode, showConfig string, c *gin.Context) (*ErpOrderListResp, error) {
resp := &ErpOrderListResp{}
// 查询扫码串码的零售销售订单的商品信息
// 查询扫码串码的零售销售订单的商品信息,查询最近的零售订单;可能存在重复的情况:销售-退货-销售-退货-销售
// 需保证1退货退的是最近的零售订单每个零售订单的售价可能不同2已经退货的商品不能重复退待修复
var commodity []ErpOrderCommodity
err := orm.Eloquent.Table("erp_order_commodity").Where("imei = ? and rejected_count = 0", scanCode).Find(&commodity).Error
//err := orm.Eloquent.Table("erp_order_commodity").Where("imei = ? and rejected_count = 0", scanCode).Find(&commodity).Error
err := orm.Eloquent.Table("erp_order_commodity").Where("imei = ? and rejected_count = 0", scanCode).Order("created_at DESC").Find(&commodity).Error
if err != nil && err != RecordNotFound {
logger.Error("get erp_order_commodity err:", logger.Field("err", err))
return resp, err
@ -714,7 +716,9 @@ func QueryListByScanCode(storeId uint32, scanCode, showConfig string, c *gin.Con
erpOrderListSetCashier(orders)
erpOrderListSetSalesman(orders)
orders[0].Commodities = commodity
//orders[0].Commodities = commodity
orders[0].Commodities = nil
orders[0].Commodities = append(orders[0].Commodities, commodity[0])
if len(orders) != 0 {
// 查询该串码商品是否已经退过货
resp.List = append(resp.List, orders[0])
@ -5141,7 +5145,7 @@ func queryRetailDetailCommon(req *ErpOrderRetailDetailReq, c *gin.Context) (*Erp
if req.CashierId != 0 { // 支付方式
qs = qs.Where("JSON_CONTAINS(cashier_list, ?)", fmt.Sprintf(`{"cashier_id":%d}`, req.CashierId))
qs = qs.Where("retail_type=?", RetailTypeSale)
//qs = qs.Where("retail_type=?", RetailTypeSale)
//totalPerQs = totalPerQs.Where("erp_order_pay_way.cashier_id = ?", req.CashierId)
}
if req.StartTime != "" { // 审核开始时间

View File

@ -111,6 +111,7 @@ type ErpMarketingCouponCreateReq struct {
Amount uint32 `json:"amount" validate:"required"` // 金额(元)
UserType uint32 `json:"user_type" validate:"required"` // 领取人限制1-所有人 2-未付费用户 3-已付费用户 4-尊享会员
Limit uint32 `json:"limit"` // 优惠券叠加限制 0-不限制1-仅限原价购买时使用
SmsContent string `json:"sms_content" validate:"required"` // 短信提示内容
}
// ErpMarketingCouponEditReq 编辑优惠券入参
@ -125,6 +126,7 @@ type ErpMarketingCouponEditReq struct {
Amount uint32 `json:"amount" validate:"required"` // 金额(元)
UserType uint32 `json:"user_type" validate:"required"` // 领取人限制1-所有人 2-未付费用户 3-已付费用户 4-尊享会员
Limit uint32 `json:"limit"` // 优惠券叠加限制 0-不限制1-仅限原价购买时使用
SmsContent string `json:"sms_content" validate:"required"` // 短信提示内容
}
// ErpMarketingCouponDetailReq 优惠券详情入参
@ -255,6 +257,7 @@ func CreateErpMarketingCoupon(req *ErpMarketingCouponCreateReq) error {
UserType: req.UserType,
Limit: req.Limit,
State: ErpCouponUnStarted,
SmsContent: req.SmsContent,
}
err := orm.Eloquent.Create(erpCoupon).Error
@ -310,6 +313,7 @@ func EditErpMarketingCoupon(req *ErpMarketingCouponEditReq) error {
erpCoupon.Amount = req.Amount * 100
erpCoupon.UserType = req.UserType
erpCoupon.Limit = req.Limit
erpCoupon.SmsContent = req.SmsContent
begin := orm.Eloquent.Begin()
err = begin.Model(&ErpCoupon{}).Where("id = ?", req.ErpCouponId).
@ -538,6 +542,7 @@ func getUsersAfterID(lastUserID, userType uint32) ([]UserInfo, error) {
MemberLevelGold, MemberLevelPeriod, MemberLevelPlatinum, MemberLevelBlackGold}).
Order("id asc").Limit(100).Find(&users).Error
case 1: // 1-所有人:不限制会员等级,所有人均可领取
fallthrough
default:
err = orm.Eloquent.Model(&UserInfo{}).Where("id > ?", lastUserID).
Order("id asc").Limit(100).Find(&users).Error