package com.yeshi.fanli.controller.client.v1;
|
|
import java.io.PrintWriter;
|
|
import javax.annotation.Resource;
|
|
import com.yeshi.fanli.entity.SystemFunction;
|
import com.yeshi.fanli.util.SystemInfoUtil;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.yeshi.utils.JsonUtil;
|
import org.yeshi.utils.encrypt.DESUtil;
|
|
import com.yeshi.fanli.entity.accept.AcceptData;
|
import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
|
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
|
import com.yeshi.fanli.service.inter.config.ConfigService;
|
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
|
import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
|
import com.yeshi.fanli.util.StringUtil;
|
import com.yeshi.fanli.util.TaoBaoConstant;
|
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
|
|
import net.sf.json.JSONObject;
|
|
@Controller
|
@RequestMapping("api/v1/userauth")
|
public class UserAuthController {
|
|
@Resource
|
private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
|
|
@Resource
|
private ConfigService configService;
|
|
@Resource
|
private UserInfoExtraService userInfoExtraService;
|
|
/**
|
* 获取淘宝授权信息
|
*
|
* @param acceptData
|
* @param uid
|
* @param source
|
* @param out
|
*/
|
@RequestMapping(value = "getTaoBaoAuthInfo", method = RequestMethod.POST)
|
public void getUserConfig(AcceptData acceptData, Long uid, String source, Boolean first, PrintWriter out) {
|
|
if (uid == null) {
|
out.print(JsonUtil.loadFalseResult(2, "用户未登录"));
|
return;
|
}
|
|
if (StringUtil.isNullOrEmpty(source)) {
|
out.print(JsonUtil.loadFalseResult(3, "来源错误"));
|
return;
|
}
|
|
if (first == null) {
|
out.print(JsonUtil.loadFalseResult(4, "请传first"));
|
return;
|
}
|
|
if (!"1".equalsIgnoreCase(configService.getValue(ConfigKeyEnum.openSpeicalAndRelationApply.getKey(), SystemInfoUtil.getSystem(acceptData)))) {
|
out.print(JsonUtil.loadFalseResult(1, "暂不开放申请"));
|
return;
|
}
|
|
// 邀请码不必必须激活
|
// if(SystemInfoUtil.hasFunctions(acceptData.getSystem(), SystemFunction.threeSale)) {
|
// String inviteCode = userInfoExtraService.getInviteCodeByUid(uid);
|
// if (StringUtil.isNullOrEmpty(inviteCode)) {
|
// out.print(JsonUtil.loadFalseResult(3, "请激活邀请码"));
|
// return;
|
// }
|
// }
|
|
|
UserExtraTaoBaoInfo user = userExtraTaoBaoInfoService.getByUid(uid);
|
if ("share".equalsIgnoreCase(source)) {
|
if (user != null && !StringUtil.isNullOrEmpty(user.getRelationId()) && user.getRelationValid()) {
|
out.print(JsonUtil.loadFalseResult(1, "无需授权"));
|
return;
|
}
|
|
} else if ("zigou".equalsIgnoreCase(source)) {
|
if (user != null && !StringUtil.isNullOrEmpty(user.getSpecialId()) && user.getSpecialValid()) {
|
out.print(JsonUtil.loadFalseResult(1, "无需授权"));
|
return;
|
}
|
}
|
|
boolean canParse = "0".equalsIgnoreCase(configService.getValue(ConfigKeyEnum.autoFindTaobaoOrder.getKey(), SystemInfoUtil.getSystem(acceptData))) ? false : true;
|
|
String link = TaoBaoUtil.getTaoBaoAuthLink(uid, source);
|
|
String orderJS = configService.getValue(ConfigKeyEnum.taobaoOrderParseJS.getKey(),SystemInfoUtil.getSystem(acceptData));
|
if (!canParse)
|
orderJS = "-";
|
JSONObject data = new JSONObject();
|
data.put("authLink", link);
|
|
try {
|
data.put("orderJS", DESUtil.encode(orderJS, StringUtil.getBase64String("YeShiFANLI889*+"),
|
StringUtil.getBase64String("*M#34f?,")));
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
|
if (!canParse)
|
data.put("orderUrl", "http://");
|
else
|
data.put("orderUrl", "https://buyertrade.taobao.com/trade/itemlist/list_bought_items.htm");
|
if (first)
|
out.print(JsonUtil.loadTrueResult(data));
|
else
|
out.print(JsonUtil.loadTrue(0, data, "淘宝授权未成功,请稍后再试"));
|
}
|
|
}
|