admin
2020-04-21 0b57cfd62e842b309d03467b96a331c673ecad7c
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/PushController.java
@@ -17,16 +17,23 @@
import com.yeshi.fanli.entity.common.JumpDetailV2;
import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.entity.push.DeviceActive;
import com.yeshi.fanli.entity.push.DeviceTokenOPPO;
import com.yeshi.fanli.entity.push.DeviceTokenVIVO;
import com.yeshi.fanli.entity.push.DeviceTokenXM;
import com.yeshi.fanli.entity.push.PushGoods;
import com.yeshi.fanli.entity.push.PushGoodsGroup;
import com.yeshi.fanli.entity.push.PushGoodsRecord;
import com.yeshi.fanli.entity.system.BusinessSystem;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.exception.push.PushGoodsGroupException;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.BusinessSystemService;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.push.DeviceActiveService;
import com.yeshi.fanli.service.inter.push.DeviceTokenHWService;
import com.yeshi.fanli.service.inter.push.DeviceTokenOPPOService;
import com.yeshi.fanli.service.inter.push.DeviceTokenVIVOService;
import com.yeshi.fanli.service.inter.push.DeviceTokenXMService;
import com.yeshi.fanli.service.inter.push.IOSPushService;
import com.yeshi.fanli.service.inter.push.PushGoodsGroupService;
import com.yeshi.fanli.service.inter.push.PushGoodsRecordService;
@@ -35,6 +42,7 @@
import com.yeshi.fanli.service.inter.push.PushService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.annotation.RequestSerializableByKey;
import com.yeshi.fanli.util.factory.JumpDetailParamsFactory;
import net.sf.json.JSONArray;
@@ -43,7 +51,6 @@
@Controller
@RequestMapping(value = "api/v1/push")
public class PushController {
   @Resource
   private BusinessSystemService businessSystemService;
@@ -79,6 +86,15 @@
   @Resource(name = "taskExecutor")
   private TaskExecutor executor;
   @Resource
   private DeviceTokenOPPOService deviceTokenOPPOService;
   @Resource
   private DeviceTokenVIVOService deviceTokenVIVOService;
   @Resource
   private DeviceTokenXMService deviceTokenXMService;
   @RequestMapping(value = "callback", method = RequestMethod.POST)
   public void callback(AcceptData acceptData, String pushId, PrintWriter out) {
@@ -121,7 +137,7 @@
    * @param uid
    * @param deviceToken
    */
   @RequestSerializableByKey(key = "#acceptData.device")
   @RequestMapping(value = "/uidBindDeviceToken", method = RequestMethod.POST)
   public void uidBindIOSDeviceToken(AcceptData acceptData, Long uid, String deviceToken, PrintWriter out) {
      if (uid != null && uid != 0 && !StringUtil.isNullOrEmpty(deviceToken)) {
@@ -155,9 +171,11 @@
    *            -用户ID
    * @param out
    */
   @RequestSerializableByKey(key = "#acceptData.device")
   @RequestMapping(value = "/bindHWPush", method = RequestMethod.POST)
   public void bindHWDeviceToken(AcceptData acceptData, String token, Long uid, PrintWriter out) {
      deviceTokenHWService.addDeviceToken(token, acceptData.getDevice(), uid);
      deviceTokenHWService.addDeviceToken(token, acceptData.getDevice(), uid,
            Integer.parseInt(acceptData.getVersion()));
      out.print(JsonUtil.loadTrueResult("成功"));
   }
@@ -213,7 +231,8 @@
               // 统计商品数量
               long totalgoods = 0;
               // 商品id
               Long auctionId = null;
               CommonGoods commonGoods = null;
               if (StringUtil.isNullOrEmpty(picture)) {
                  try {
                     List<PushGoodsGroup> listGroup = pushGoodsGroupService.getAllInfoByPushId(pushId);
@@ -224,10 +243,9 @@
                        PushGoodsGroup pushGoodsGroup = listGroup.get(0);
                        if (pushGoodsGroup != null) {
                           CommonGoods commonGoods = pushGoodsGroup.getCommonGoods();
                           commonGoods = pushGoodsGroup.getCommonGoods();
                           if (commonGoods != null) {
                              picture = commonGoods.getPicture();
                              auctionId = commonGoods.getGoodsId();
                           }
                        }
                     }
@@ -264,15 +282,15 @@
               JumpDetailV2 jumpDetail = null;
               if (totalgoods == 1) {
                  params = JumpDetailParamsFactory.createGoodsParams(auctionId);
                  params = JumpDetailParamsFactory.createGoodsParams(commonGoods.getGoodsId(),
                        commonGoods.getGoodsType());
                  // 单个商品跳转商品详情
                  jumpDetail = jumpDetailV2Service.getByTypeCache("goodsdetail",
                        Constant.getPlatformCode(acceptData.getPlatform()),
                        Integer.parseInt(acceptData.getVersion()));
               } else {
                  String url = configService.get("push_goods_details");
                  String url = configService.get(ConfigKeyEnum.pushGoodsDetails.getKey());
                  if (url == null) {
                     url = "";
                  }
@@ -334,4 +352,43 @@
      }
   }
   @RequestMapping("registerOppo")
   public void registerOppo(AcceptData acceptData, String registerId, Long uid, PrintWriter out) {
      DeviceActive deviceActive = deviceActiveService.getFirstActiveInfo(acceptData.getDevice());
      if (deviceActive != null) {
         DeviceTokenOPPO oppo = new DeviceTokenOPPO();
         oppo.setDeviceActiveId(deviceActive.getId());
         oppo.setRegisterId(registerId);
         oppo.setUid(uid);
         deviceTokenOPPOService.addDeviceTokenOPPO(oppo);
      }
      out.print(JsonUtil.loadTrueResult(""));
   }
   @RequestMapping("registerVivo")
   public void registerVivo(AcceptData acceptData, String regId, Long uid, PrintWriter out) {
      DeviceActive deviceActive = deviceActiveService.getFirstActiveInfo(acceptData.getDevice());
      if (deviceActive != null) {
         DeviceTokenVIVO vivo = new DeviceTokenVIVO();
         vivo.setDeviceActiveId(deviceActive.getId());
         vivo.setRegisterId(regId);
         vivo.setUid(uid);
         deviceTokenVIVOService.addDeviceTokenVIVO(vivo);
      }
      out.print(JsonUtil.loadTrueResult(""));
   }
   @RequestMapping("registerXM")
   public void registerXM(AcceptData acceptData, String regId, Long uid, PrintWriter out) {
      DeviceActive deviceActive = deviceActiveService.getFirstActiveInfo(acceptData.getDevice());
      if (deviceActive != null) {
         DeviceTokenXM xm = new DeviceTokenXM();
         xm.setDeviceActiveId(deviceActive.getId());
         xm.setRegisterId(regId);
         xm.setUid(uid);
         deviceTokenXMService.addDeviceToken(xm);
      }
      out.print(JsonUtil.loadTrueResult(""));
   }
}