package com.yeshi.fanli.controller.client.v1; import java.io.PrintWriter; import javax.annotation.Resource; 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.service.inter.config.ConfigService; 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; /** * 获取淘宝授权信息 * * @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.get("open_speical_and_relation_apply"))) { out.print(JsonUtil.loadFalseResult(1, "暂不开放申请")); 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.get("auto_find_taobao_order")) ? false : true; String link = TaoBaoUtil.getTaoBaoUnionAuthUrl(TaoBaoConstant.TAOBAO_AUTH_APPKEY, "http://api.flqapp.com/fanli/client/v1/auth/callback/tb", uid, source); String orderJS = configService.get("taobao_order_parse_js"); 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, "淘宝授权未成功,请稍后再试")); } }