Merge pull request 'test-dyb' (#65) from test-dyb into test

Reviewed-on: https://git.oa00.com/recook/backend_v2/pulls/65
master
杨赟 3 years ago
commit f39542c06f

@ -93,7 +93,9 @@ func init() {
//诺诺企业税号
ConfigNuoTaxNum = "91330212MA2AE2QQXR"
ConfigJTEmail = "zhjq@cn-recook.com"
//新增sku邮件地址
ConfigJTEmail = "monsoon.zhu@akuhome.com" //"zhjq@cn-recook.com"
ConfigImageUrl = "https://jyycdn.reecook.cn/static"
ConfigEsAddress = "http://127.0.0.1:9200/recook/_analyze?pretty=true"
@ -137,7 +139,7 @@ func init() {
//诺诺企业税号
//ConfigNuoTaxNum = "339901999999824"
ConfigNuoTaxNum = "339901999999142"
ConfigJTEmail = "792209833@qq.com"
ConfigJTEmail = "monsoon.zhu@akuhome.com" //测试邮箱
ConfigImageUrl = "https://testcdn.reecook.cn/static"
////诺诺身份认证

@ -26,7 +26,7 @@ type queryOrderGoodsListParam struct {
SecondCategoryID uint `json:"secondCategoryID"`
BrandID uint `json:"brandID"`
Page uint `json:"page"`
Order string `json:"order"` /*asc 序 desc 降序*/
Order string `json:"order"` /*asc 序 desc 降序*/
Keyword string `json:"keyword" form:"keyword"` /* 搜索的关键字 */
CountryId uint `json:"country_id"`
UserId uint `json:"user_id"`
@ -191,6 +191,7 @@ func QueryGoodsListByDiscountPrice(c *gin.Context) {
back.Fail(c, err.Error())
return
}
if p.SecondCategoryID == 0 && p.BrandID == 0 && len(p.Keyword) == 0 && p.ActivityID == 0 {
back.Fail(c, "参数不全")
return

@ -4,6 +4,9 @@ import (
"errors"
"fmt"
"git.oa00.com/go/mysql"
"github.com/gin-gonic/gin"
"github.com/jinzhu/gorm"
"github.com/shopspring/decimal"
"log"
"math"
"recook/configs"
@ -22,10 +25,6 @@ import (
"recook/tools"
"strconv"
"time"
"github.com/gin-gonic/gin"
"github.com/jinzhu/gorm"
"github.com/shopspring/decimal"
)
/*普通订单预览的参数*/

@ -16,7 +16,7 @@ type Sku struct {
CombineID string `gorm:"column:combine_id" json:"combineId"`
PicURL string `gorm:"column:pic_url" json:"picUrl"`
Code string `gorm:"column:code" json:"code"`
PurchasePrice decimal.Decimal `gorm:"column:purchase_price" json:"purchasePrice"`
PurchasePrice decimal.Decimal `gorm:"column:purchase_price" json:"purchasePrice"` //采购价
OriginalPrice decimal.Decimal `gorm:"column:original_price" json:"originalPrice"` // 原价
DiscountPrice decimal.Decimal `gorm:"column:discount_price" json:"discountPrice"` // 折扣价
CommissionRate decimal.Decimal `gorm:"column:commission_rate" json:"commissionRate"` // 佣金比

@ -50,7 +50,8 @@ func init() {
}
}
} else {
f.Root = "/Users/mac/Desktop/recookMain/static"
f.Root = "/Users/datang/backend_v2/static"
//f.Root = "/Users/mac/Desktop/recookMain/static"
//f.Root = "/Users/apple/go/src/recookMain/static"
}

@ -0,0 +1,107 @@
package task
import (
"encoding/base64"
"fmt"
mysql2 "git.oa00.com/go/mysql"
"github.com/360EntSecGroup-Skylar/excelize/v2"
"github.com/gin-gonic/gin"
"gopkg.in/gomail.v2"
"path/filepath"
"recook/configs"
"recook/internal/static_path"
"recook/internal/v2/lib/back"
"recook/internal/v2/model/recook/goods"
"recook/tools"
"strconv"
"time"
)
type PushNewGoods struct {
}
//邮件提醒
type newResponse struct {
GysName string `json:"gys_name"`
GoodsName string `json:"goods_name"`
Coke string `json:"coke"`
SkuID uint `json:"sku_id"`
}
// SendEmail @Title 发送邮件
func (p *PushNewGoods) SendEmail(email string, one []newResponse) error {
m := gomail.NewMessage()
m.SetHeader("From", configs.Config_Gys_Email_Setting_Mail)
m.SetHeader("To", email)
//m.SetHeader("To", "792209833@qq.com")
m.SetHeader("Subject", "未设置售价商品通知")
if (len(one)) <= 10 {
str := "<br/><br/>\n您好\n<br/><br/>"
if len(one) > 0 {
for _, v := range one {
//fmt.Printf("%v:%v,%v,%v,%v\n", i, v.GysName, v.GoodsName, v.Coke, v.SkuID)
str += v.GysName + "," + v.GoodsName + "," + v.Coke + "," + fmt.Sprintf("%v", v.SkuID) + "<br/><br/>"
}
}
m.SetBody("text/html", str)
} else {
str := "具体数据请看表格"
m.SetBody("text/html", str)
// 把资料整合成Excel
f := excelize.NewFile()
// Create a new sheet.
//index2 := f.NewSheet("Sheet2")
f.SetColWidth("Sheet1", "A", "A", 35)
f.SetColWidth("Sheet1", "B", "B", 50)
f.SetColWidth("Sheet1", "C", "C", 20)
f.SetCellValue("Sheet1", "A1", "供应商")
f.SetCellValue("Sheet1", "B1", "商品名称")
f.SetCellValue("Sheet1", "C1", "条形码")
f.SetCellValue("Sheet1", "D1", "skuId")
for i, v := range one {
fmt.Printf("%v:%v,%v,%v,%v\n", i, v.GysName, v.GoodsName, v.Coke, v.SkuID)
f.SetCellValue("Sheet1", "A"+strconv.Itoa(i+2), v.GysName)
f.SetCellValue("Sheet1", "B"+strconv.Itoa(i+2), v.GoodsName)
f.SetCellValue("Sheet1", "C"+strconv.Itoa(i+2), v.Coke)
f.SetCellValue("Sheet1", "D"+strconv.Itoa(i+2), v.SkuID)
}
//f.SetActiveSheet(index2)
name := time.Now().Format("20060102-150405") + tools.GenerateGoodsHashSign() + ".xlsx"
f.Path = filepath.Join(static_path.Dir.Root, static_path.Dir.Temp, name)
if err := f.SaveAs(f.Path); err != nil {
fmt.Println(err)
}
fmt.Println(f.Path)
m.Attach(f.Path, gomail.Rename("=?utf-8?B?"+base64.StdEncoding.EncodeToString([]byte("未设置售价商品通知.xlsx"))+"?="))
}
d := gomail.NewDialer(configs.Config_Gys_Email_Setting_Smtp, configs.Config_Gys_Email_Setting_Port, configs.Config_Gys_Email_Setting_User, configs.Config_Gys_Email_Setting_Pass)
if err := d.DialAndSend(m); err != nil {
return err
}
return nil
}
// SendNewGoods @Title 查询上架价格为0的商品 发送邮件
func (p *PushNewGoods) SendNewGoods(c *gin.Context) {
var goodsSkuModels []goods.RecookGoodsSkuModel
var goodsList []newResponse
mysql2.Db.Joins("Goods").Preload("Goods.Vendor").Where("discount_price = 0 and publish_status = ?", goods.RecookGoodsInfoPublishStatusTrue).Find(&goodsSkuModels)
for _, recookGoodsSkuModel := range goodsSkuModels {
goodsList = append(goodsList, newResponse{
GysName: recookGoodsSkuModel.Goods.Vendor.EnterpriseName,
GoodsName: recookGoodsSkuModel.Goods.GoodsName,
Coke: recookGoodsSkuModel.Code,
SkuID: recookGoodsSkuModel.Id,
})
}
err := p.SendEmail(configs.ConfigJTEmail, goodsList)
if err != nil {
return
}
back.Suc(c, "邮件已发送", "")
return
}

@ -15,7 +15,7 @@ const (
RecookGoodsInfoThirdPartyTypeNone = 0 // 供应商提报
RecookGoodsInfoThirdPartyTypeBomao = 1 // 舶茂
RecookGoodsInfoThirdPartyTypeJingtong = 2 // 景彤
RecookGoodsInfoJCook = 3
RecookGoodsInfoJCook = 3 //京库客
RecookGoodsInfoBomaoStatusOn = 1 // 舶茂上架
RecookGoodsInfoBomaoStatusOff = 0 // 舶茂下架

@ -145,6 +145,12 @@ func (r *RecookGoodsSkuModel) FindByGoodsId(goodsId uint) (result []RecookGoodsS
return
}
// @Style 查询售价为0的商品
func (r *RecookGoodsSkuModel) FindByGoods(goodsId uint) (result []RecookGoodsSkuModel) {
r.GetDb().Find(&result, "goods_id = ? and discount_price = 0", goodsId)
return
}
// @Style 查询
func (r *RecookGoodsSkuModel) FindByGoodsIds(goodsIds []uint) (result []RecookGoodsSkuModel) {
r.GetDb().Find(&result, "goods_id in (?)", goodsIds)

@ -16,6 +16,6 @@ func Router(router *gin.RouterGroup) {
// app端路由
routerApp(router.Group("app"))
// app端路由
// 微信端路由
routerWxapp(router.Group("wxapp"))
}

@ -1,19 +1,20 @@
package router
import (
"recook/internal/v2/controller/task"
"github.com/gin-gonic/gin"
"recook/internal/v2/controller/task"
)
// @Style recook任务
func routerTask(taskRouter *gin.RouterGroup) {
goodsController := &task.Goods{}
taskRouter.GET("goods/associate", goodsController.Update) // 关联更新
taskRouter.GET("goods/sync", goodsController.Sync) // jcook商品更新
taskRouter.GET("goods/fix", goodsController.Fix) // jcook图片修复
taskRouter.GET("goods/publish", goodsController.Publish) // 更新商品上下级状态
goodsController := task.Goods{}
pushNewGoods := task.PushNewGoods{}
//taskRouter.GET("goods/AddGoods", pushNewGoods.AddGoods)
taskRouter.GET("goods/sendGoods", pushNewGoods.SendNewGoods) // 发送未设置售价商品邮件
taskRouter.GET("goods/associate", goodsController.Update) // 关联更新
taskRouter.GET("goods/sync", goodsController.Sync) // jcook商品更新
taskRouter.GET("goods/fix", goodsController.Fix) // jcook图片修复
taskRouter.GET("goods/publish", goodsController.Publish) // 更新商品上下级状态
taskRouter.GET("goods/openSearchV2", goodsController.OpenSearchV2)
taskRouter.GET("goods/attr", goodsController.AttrSync) // jcook规格修复
taskRouter.GET("goods/tax", goodsController.TaxSync) // jcook tax修复

Loading…
Cancel
Save