Browse Source

//类目-1.2

release_toaliyun_real
xhxu 3 years ago
parent
commit
c52c0f32a4
3 changed files with 86 additions and 17 deletions
  1. +14
    -14
      mallinkService/src/main/java/com/iformall/douyin/web/api/impl/TtWebGoodsServiceImpl.java
  2. +59
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumGoodsCategoryRate.java
  3. +13
    -3
      mallinkService/src/main/java/com/iformall/service/impl/TtGoodsCategoryServiceImpl.java

+ 14
- 14
mallinkService/src/main/java/com/iformall/douyin/web/api/impl/TtWebGoodsServiceImpl.java View File

@@ -3,9 +3,7 @@ package com.iformall.douyin.web.api.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;
import com.google.gson.*;
import com.iformall.douyin.web.api.*;
import com.iformall.douyin.web.bean.*;
import lombok.AllArgsConstructor;
@@ -37,17 +35,19 @@ public class TtWebGoodsServiceImpl implements TtWebGoodsService {
param += "&account_id=" + account_id;
}
String result = this.service.execute(getExecutor, apiUrl, param);
JsonObject asJsonObject = GSON.toJsonTree(result).getAsJsonObject();
JsonObject data = asJsonObject.getAsJsonObject("data");
int error_code = data.get("error_code").getAsInt();
if(error_code == 0){
List<GoodsCategory> list = GSON.fromJson(asJsonObject.getAsJsonArray("category_list"),
new TypeReference<List<GoodsCategory>>() {}.getType());
return list;
}else{
String description = data.get("description").getAsString();
throw new WxErrorException(WxError.builder().errorCode(error_code).errorMsg(description).build());
}
JsonObject jsonObject = GSON.fromJson(result, JsonObject.class);
// JsonElement jsonElement = GSON.toJsonTree(result);
// JsonObject asJsonObject = null;
// if(jsonElement.isJsonPrimitive()){
// asJsonObject = jsonElement.getAsJsonPrimitive().getAsJsonObject();
// }else{
// asJsonObject = jsonElement.getAsJsonObject();
// }

JsonArray category_list = jsonObject.getAsJsonArray("category_list");
List<GoodsCategory> list = GSON.fromJson(category_list,
new TypeReference<List<GoodsCategory>>() {}.getType());
return list;
}

@Override


+ 59
- 0
mallinkService/src/main/java/com/iformall/enums/EnumGoodsCategoryRate.java View File

@@ -0,0 +1,59 @@
package com.iformall.enums;

public enum EnumGoodsCategoryRate {
/**
* 类目费率
* 1000000美食2.50%
* 8000000住宿4.50%
* 18000000游玩2.00%
* 4000000休闲娱乐3.50%
* 17000000丽人3.50%
* 22000000结婚8.00%
* 21000000亲子4.50%
* 7000000教育培训4.50%
* 其他3.50%
*/

OTHER(0, "其他",350),
FINE_FOOD(1000000, "美食",250),
GET_ACCOMMODATION(8000000, "住宿",450),
PLAY(18000000, "游玩",200),
RECREATION_ENTERTAINMENT(4000000, "休闲娱乐",350),
BEAUTY(17000000, "丽人",350),
MARRY(22000000, "结婚",800),
PARENTING(21000000, "亲子",450),
EDUCATION(7000000, "教育培训",450),

;

public static EnumGoodsCategoryRate getEnum(Integer code) {
for (EnumGoodsCategoryRate value : values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}

private Integer code;
private String message;
private Integer rate;

EnumGoodsCategoryRate(Integer code, String message,Integer rate) {
this.code = code;
this.message = message;
this.rate = rate;
}

public Integer getCode() {
return code;
}

public String getMessage() {
return message;
}

public Integer getRate() {
return rate;
}
}

+ 13
- 3
mallinkService/src/main/java/com/iformall/service/impl/TtGoodsCategoryServiceImpl.java View File

@@ -9,6 +9,7 @@ import com.iformall.douyin.web.api.TtWebService;
import com.iformall.douyin.web.bean.GoodsCategory;
import com.iformall.douyin.web.bean.GoodsTemplateGet;
import com.iformall.enums.EnumCouponValidType;
import com.iformall.enums.EnumGoodsCategoryRate;
import com.iformall.enums.EnumYesOrNo;
import com.iformall.mapper.TtGoodsCategoryMapper;
import com.iformall.service.TtGoodsCategoryService;
@@ -471,7 +472,7 @@ public class TtGoodsCategoryServiceImpl implements TtGoodsCategoryService {
@Override
public void syncGet() {
TtWebService ttWebService = ttMerchantPoiService.getTtWebService(null);
handSyncCategory(ttWebService,0,new Date());
handSyncCategory(ttWebService,0,null,new Date());
}

/**
@@ -480,7 +481,7 @@ public class TtGoodsCategoryServiceImpl implements TtGoodsCategoryService {
* @param category_id
* @param now
*/
private void handSyncCategory(TtWebService ttWebService,Integer category_id,Date now){
private void handSyncCategory(TtWebService ttWebService,Integer category_id,EnumGoodsCategoryRate categoryRate,Date now){
try {
List<GoodsCategory> goodsCategories = ttWebService.getGoodsService().categoryGet(category_id, null);
if(goodsCategories != null){
@@ -488,12 +489,21 @@ public class TtGoodsCategoryServiceImpl implements TtGoodsCategoryService {
record.setParentId(category_id);
List<Integer> listAll = ttGoodsCategoryMapper.findIdAll(record);
for (GoodsCategory gc:goodsCategories) {
if(category_id.intValue() == 0){
categoryRate = EnumGoodsCategoryRate.getEnum(gc.getCategoryId());
if(categoryRate == null){
categoryRate = EnumGoodsCategoryRate.OTHER;
}
}

TtGoodsCategory updgc = new TtGoodsCategory();
updgc.setId(gc.getCategoryId());
updgc.setLevel(gc.getLevel());
updgc.setName(gc.getName());
updgc.setParentId(gc.getParentId());
updgc.setEnable(gc.getEnable()?EnumYesOrNo.YES.getCode():EnumYesOrNo.NO.getCode());
updgc.setIsLeaf(gc.getEnable()?EnumYesOrNo.YES.getCode():EnumYesOrNo.NO.getCode());
updgc.setServiceFee(categoryRate.getRate());
updgc.setIsDel(EnumYesOrNo.NO.getCode());
updgc.setUpdateDate(now);
if(listAll.contains(gc.getCategoryId())){
@@ -504,7 +514,7 @@ public class TtGoodsCategoryServiceImpl implements TtGoodsCategoryService {
ttGoodsCategoryMapper.insert(updgc);
}
if(!gc.getIsLeaf()){
handSyncCategory(ttWebService,gc.getCategoryId(),now);
handSyncCategory(ttWebService,gc.getCategoryId(),categoryRate,now);
}
}
updateDelByIds(listAll,now);


Loading…
Cancel
Save