package com.yeshi.fanli.controller.admin;
|
|
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 com.yeshi.fanli.exception.PushException;
|
import com.yeshi.fanli.service.inter.config.ConfigService;
|
import com.yeshi.fanli.service.inter.config.SystemService;
|
import com.yeshi.fanli.service.inter.push.PushRecordService;
|
import com.yeshi.fanli.service.inter.push.PushService;
|
import com.yeshi.fanli.service.inter.user.AccountMessageService;
|
import com.yeshi.fanli.service.inter.user.SystemZnxService;
|
import com.yeshi.fanli.util.StringUtil;
|
import com.yeshi.fanli.util.factory.IOSPushFactory;
|
|
import org.yeshi.utils.HttpUtil;
|
import org.yeshi.utils.JsonUtil;
|
|
import net.sf.json.JSONObject;
|
|
@Controller(value = "adminPushController")
|
@RequestMapping("admin/new/api/v1/push")
|
public class PushController {
|
|
public final static int GOODS = 1; // 商品推送
|
public final static int URL = 2; // 网页推送
|
public final static int DETAIL = 3; // 详情推送
|
public final static int ZNX = 4; // 站内推送
|
public final static int WEEX = 5; // 站内推送
|
public final static int BAICHUAN = 6; // 站内推送
|
|
@Resource
|
private PushRecordService pushRecordService;
|
|
@Resource
|
private ConfigService configService;
|
|
@Resource
|
private SystemZnxService systemZnxService;
|
|
@Resource
|
private AccountMessageService accountMessageService;
|
|
@Resource
|
private SystemService systemService;
|
|
@Resource
|
private PushService pushService;
|
|
/**
|
* 商品推送
|
*
|
* @param uId
|
* -用户ID 可为空
|
* @param url
|
* -商品链接
|
* @param title
|
* -推送标题
|
* @param content
|
* -推送内容
|
* @param out
|
* @throws Exception
|
*/
|
@RequestMapping(value = "pushGoodsAll_f", method = RequestMethod.POST)
|
public void pushGoods(Long uId, String url, String title, String content, PrintWriter out) throws Exception {
|
String auctionId = null;
|
if (!StringUtil.isNullOrEmpty(url) && url.contains("id=")) {
|
String[] sts = url.split("\\?")[1].split("&");
|
for (String st : sts)
|
if (st.contains("id=")) {
|
auctionId = st.replace("id=", "");
|
}
|
}
|
|
if (StringUtil.isNullOrEmpty(auctionId)) {
|
out.print(JsonUtil.loadFalseResult("提取商品ID失败"));
|
return;
|
}
|
|
JSONObject json = IOSPushFactory.createGoodsPush(Long.parseLong(auctionId), title, content);
|
if (json.toString().getBytes().length > 256) {
|
out.print(JsonUtil.loadFalseResult("标题或内容过长,请删减后再试"));
|
return;
|
}
|
|
pushService.pushGoods(uId, url, title, content);
|
out.print(JsonUtil.loadTrueResult("推送成功"));
|
}
|
|
/**
|
* 网页推送
|
*
|
* @param url
|
* @param title
|
* @param content
|
* @param out
|
* @throws Exception
|
*/
|
@RequestMapping(value = "pushUrlAll_f", method = RequestMethod.POST)
|
public void pushUrl(String url, String title, String content, PrintWriter out) throws Exception {
|
if (StringUtil.isNullOrEmpty(url) || StringUtil.isNullOrEmpty(title) || StringUtil.isNullOrEmpty(content)) {
|
out.print(JsonUtil.loadFalseResult("请填写链接,标题与内容"));
|
return;
|
}
|
|
JSONObject json = IOSPushFactory.createURLPush(HttpUtil.getShortLink(url), title, content);
|
if (json.toString().getBytes().length > 256) {
|
out.print(JsonUtil.loadFalseResult("标题或内容过长,请删减后再试"));
|
return;
|
}
|
pushService.pushUrl(null, url, title, content);
|
out.print(JsonUtil.loadTrueResult("推送成功"));
|
}
|
|
/**
|
*
|
* 方法说明: 站内信推送
|
*
|
* @author mawurui createTime 2018年3月12日 下午5:45:00
|
* @param uId
|
* @param title
|
* @param content
|
* @throws Exception
|
*/
|
@RequestMapping(value = "pushFanZNX_f", method = RequestMethod.POST)
|
public void pushSystemZnx(Long uId, String title, String content, PrintWriter out) throws Exception {
|
pushService.pushZNX(uId, title, content);
|
out.print(JsonUtil.loadTrueResult("推送成功"));
|
}
|
|
/**
|
* 短链接转换
|
*
|
* @param url
|
* @param out
|
* @throws Exception
|
*/
|
@RequestMapping(value = "convertLink")
|
public void convertLink(String callback, String url, PrintWriter out) {
|
|
if (StringUtil.isNullOrEmpty(url)) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("转链数据不能为空"));
|
return;
|
}
|
|
try {
|
String shortLink = org.yeshi.utils.HttpUtil.getShortLink(url);
|
|
JSONObject jsonData = new JSONObject();
|
jsonData.put("url", url);
|
jsonData.put("shortLink", shortLink);
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(jsonData));
|
|
} catch (Exception e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("转换失败"));
|
e.printStackTrace();
|
}
|
}
|
|
|
|
/**
|
* 商品推送 -(新后台)
|
*
|
* @param uId
|
* -用户ID 可为空
|
* @param url
|
* -商品链接
|
* @param title
|
* -推送标题
|
* @param content
|
* -推送内容
|
* @param out
|
* @throws Exception
|
*/
|
@RequestMapping(value = "newPushGoodsAll")
|
public void newPushGoodsAll(String callback, Long uid, String url, String title, String content, PrintWriter out) throws Exception {
|
|
String auctionId = null;
|
if (!StringUtil.isNullOrEmpty(url) && url.contains("id=")) {
|
String[] sts = url.split("\\?")[1].split("&");
|
for (String st : sts)
|
if (st.contains("id=")) {
|
auctionId = st.replace("id=", "");
|
}
|
}
|
|
if (StringUtil.isNullOrEmpty(auctionId)) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("提取商品ID失败"));
|
return;
|
}
|
|
JSONObject json = IOSPushFactory.createGoodsPush(Long.parseLong(auctionId), title, content);
|
if (json.toString().getBytes().length > 256) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("标题或内容过长,请删减后再试"));
|
return;
|
}
|
|
try {
|
pushService.pushGoods(uid, url, title, content);
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("推送成功"));
|
} catch (Exception e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("推送失败"));
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* 网页推送 -(新后台)
|
*
|
* @param url
|
* @param title
|
* @param content
|
* @param out
|
* @throws Exception
|
*/
|
@RequestMapping(value = "newPushUrlAll")
|
public void newPushUrlAll(String callback, String url, String title, String content, PrintWriter out) {
|
|
if (StringUtil.isNullOrEmpty(url) || StringUtil.isNullOrEmpty(title) || StringUtil.isNullOrEmpty(content)) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请填写链接,标题与内容"));
|
return;
|
}
|
|
JSONObject json = IOSPushFactory.createURLPush(HttpUtil.getShortLink(url), title, content);
|
if (json.toString().getBytes().length > 256) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("标题或内容过长,请删减后再试"));
|
return;
|
}
|
|
try {
|
pushService.pushUrl(null, url, title, content);
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("推送成功"));
|
} catch (PushException e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("推送失败"));
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
*
|
* 方法说明: 站内信推送 -(新后台)
|
*
|
* @param uId
|
* @param title
|
* @param content
|
* @throws Exception
|
*/
|
@RequestMapping(value = "newPushFanZNX")
|
public void newPushFanZNX(String callback, Long uid, String title, String content, PrintWriter out) {
|
|
if (StringUtil.isNullOrEmpty(title) || StringUtil.isNullOrEmpty(content)) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请填写标题与内容"));
|
return;
|
}
|
|
try {
|
pushService.pushZNX(uid, title, content);
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("推送成功"));
|
} catch (PushException e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("推送失败"));
|
e.printStackTrace();
|
}
|
}
|
|
|
}
|