windows-pc c8d119cbe4 fix 3 dienas atpakaļ
..
api c8d119cbe4 fix 3 dienas atpakaļ
bus 478df43cbb comm 移入sku3d内部,解决osext库失效的问题 3 nedēļas atpakaļ
comm 478df43cbb comm 移入sku3d内部,解决osext库失效的问题 3 nedēļas atpakaļ
conf ba25d2cce2 update 2 mēneši atpakaļ
db d8acc3cf23 更新字段值 2 nedēļas atpakaļ
log 884175d30d init 2 mēneši atpakaļ
task 884175d30d init 2 mēneši atpakaļ
test 4a1782e2af update 2 mēneši atpakaļ
utils 884175d30d init 2 mēneši atpakaļ
Dockerfile 8b2527f13a add export 6 dienas atpakaļ
a.json 8b2527f13a add export 6 dienas atpakaļ
app.yaml 8b2527f13a add export 6 dienas atpakaļ
build.sh cc50e72252 update 2 nedēļas atpakaļ
go.mod 307dd69549 fix import 4 dienas atpakaļ
go.sum 307dd69549 fix import 4 dienas atpakaļ
main.go 478df43cbb comm 移入sku3d内部,解决osext库失效的问题 3 nedēļas atpakaļ
readme.md ddf1535c9a import zip 1 nedēļu atpakaļ
template.xlsx 8b2527f13a add export 6 dienas atpakaļ

readme.md

这是一个已存在的项目,现在要添加根据模板excel文件批量导入和导出相关数据到mongodb的功能。

可能用到的实现: api/a-oss-upload.go,api/a-service-fassi.go,api/a-service-img.go,api/a-user.go,db/model/a-matimage.go
要求:根据模板文件template.xls,数据模型db/model/a-matimage.go和示例项目中example.json为参考,在api/a-excel.go文件中实现导入和导出功能。
特别说明:
    1. 因为导入和导出这个都会用到template.xls这个模板。template.xls模板是固定的,读取template.xls中示例来让你确定导入导出数据填充。程序中并不需要每次读取。
        1. 导入时template.xls中的数据应该填充到各个数据表中,并且做好对应的数据id关联。
        2. 导出时template.xls表头下方为空的,数据应该从各个数据表中读取解析后逐行填充到对应表头下的单元格中。
    2. 表格中图片需要上传到oss,并返回url。然后将url填入到mongodb中。调用api/a-service-img.go createImg 并在写入成功后调用AddFassiImage(imgId, data.RawImage.Url)api将图片向量特征和id关联。
    3. 因为使用云函数处理图片需要预热,所以在调用AddFassiImage时需要等待云函数预热完成,这里通过提前触发main.go中的QueryFassiImage来实现。
    4. 当没有图片时跳过AddFassiImage调用。
    5. 表格中多个数据源来自category表,category列表全局只有一条数据,取下标0,需要解析image中的categories对应id匹配到相关信息。
    6. 样品收集对应staffUser
  1. 上传的文件是个.zi压缩文件,其中包括一个.xls或者.xlsx文件,记录着数据;一个goods目录里面存放的是.xls文件中原命名编号为名的商品图片(.png,.jpg,.jpeg);一个texture目录里面存放的是.xls文件中原命名编号为名的纹理图片(.png,.jpg,.jpeg)。我们需要上传这个.zip文件然后解压后,解析这个.xlsx或.xls文件,找到原命名编号。然后从goods目录和texture目录中找到对应的图片,上传到oss,并返回url。然后将纹理图片url填入到mongodb中。调用api/a-service-img.go createImg 并在写入成功后调用AddFassiImage(imgId, data.RawImage.Url)api将纹理图片向量特征和id关联。当图片不存在时跳过上传oss和纹理图片向量特征和id关联。处理完成后删除解压的文件
  2. 当我们检查到分类或者收集人不存在时,记录导入失败日志到数据库用于用户查看(第几条数据错误,错误原因)