From 90475da0e3cc9fcc6431a273587216eac0621467 Mon Sep 17 00:00:00 2001 From: hupeng Date: Wed, 6 Mar 2019 19:53:05 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=A4=A7=E5=B1=8F][=E4=BF=AE=E5=A4=8D]:?= =?UTF-8?q?=E7=94=9F=E6=88=90=E4=BA=8C=E7=BB=B4=E7=A0=81=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=9D=A1=E4=BB=B6,=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxScreenAdController.java | 15 ++++++++--- .../java/com/iformall/common/ErrorCode.java | 1 + .../iformall/service/WxScreenAdService.java | 3 ++- .../service/impl/WxScreenAdServiceImpl.java | 26 ++++++++++++++----- 4 files changed, 34 insertions(+), 11 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxScreenAdController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxScreenAdController.java index f89cb29ac..8d8d6c398 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxScreenAdController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxScreenAdController.java @@ -1,6 +1,7 @@ package com.iformall.controller; import com.alibaba.fastjson.JSONObject; +import com.github.pagehelper.PageInfo; import com.iformall.common.ErrorCode; import com.iformall.common.Result; import com.iformall.common.ResultData; @@ -48,7 +49,16 @@ public class WxScreenAdController extends BaseController { public Result list(@ModelAttribute WxScreenAd wxScreenAd, Integer pageNum, Integer pageSize) { wxScreenAd.setTenantId(getTenantId()); wxScreenAd.setStatus(EnumScreenAdStatus.VALID.getCode()); - return new ResultData(wxScreenAdService.listAsPage(wxScreenAd,pageNum,pageSize)); + PageInfo page = wxScreenAdService.listAsPage(wxScreenAd,pageNum,pageSize); + page.getList().stream().forEach(s->{ + Object target = null; + if (s.getType().equals(EnumScreenAdType.COUPON.getCode())) + target = wxCouponChannelService.findDetailVo(s.getTargetId()); + else if (s.getType().equals(EnumScreenAdType.CAMPAIGN.getCode())) + target = wxCampaignService.getById(s.getTargetId()); + s.setTarget(target); + }); + return new ResultData(page); } @ApiOperation("添加广告") @@ -56,8 +66,7 @@ public class WxScreenAdController extends BaseController { public Result add(@RequestBody WxScreenAd wxScreenAd) { wxScreenAd.setStatus(EnumScreenAdStatus.VALID.getCode()); wxScreenAd.setTenantId(getTenantId()); - wxScreenAdService.saveOrUpdate(wxScreenAd); - return new ResultData(); + return wxScreenAdService.saveOrUpdate(wxScreenAd); } @ApiOperation("更新广告") diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index 272be22dd..abf8e62d9 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -360,6 +360,7 @@ public enum ErrorCode{ */ DEVICE_NOT_FOUND(26000, "设备未找到"), DEVICE_ALREADY_EXIST(26001, "设备已经存在"), + DEVICE_QRCODE_GET_FAILED(26002, "微信二维码生成失败,请重试"), ; private int code; diff --git a/mallinkService/src/main/java/com/iformall/service/WxScreenAdService.java b/mallinkService/src/main/java/com/iformall/service/WxScreenAdService.java index 1805e30ca..17bb68bb1 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxScreenAdService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxScreenAdService.java @@ -2,6 +2,7 @@ package com.iformall.service; import com.github.pagehelper.PageInfo; +import com.iformall.common.ResultData; import com.iformall.domain.po.WxScreenAd; import java.util.List; @@ -34,7 +35,7 @@ public interface WxScreenAdService { * * @param record */ - void saveOrUpdate(WxScreenAd record); + ResultData saveOrUpdate(WxScreenAd record); /** diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxScreenAdServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxScreenAdServiceImpl.java index f05dc178b..6f57362bc 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxScreenAdServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxScreenAdServiceImpl.java @@ -5,8 +5,10 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; +import com.iformall.common.ResultData; import com.iformall.domain.po.WxAppinfo; import com.iformall.domain.po.WxCouponChannel; import com.iformall.domain.po.WxScreenAd; @@ -54,20 +56,24 @@ public class WxScreenAdServiceImpl implements WxScreenAdService { } @Override - public void saveOrUpdate(WxScreenAd record) { + public ResultData saveOrUpdate(WxScreenAd record) { if (record.getId() == null) { final IdWorker idWorker = IdWorker.get(); record.setId(idWorker.nextId()); record.setCreateDate(new Date()); record.setUpdateDate(new Date()); setQrcode(record); + if (record.getQrcode() == null) + return new ResultData(ErrorCode.DEVICE_QRCODE_GET_FAILED); wxScreenAdMapper.insertSelective(record); + } else { record.setUpdateDate(new Date()); setQrcode(record); wxScreenAdMapper.updateByPrimaryKeySelective(record); } + return new ResultData(); } @Override @@ -162,12 +168,18 @@ public class WxScreenAdServiceImpl implements WxScreenAdService { byte[] result = null; if(responseEntity.hasBody()) { result = responseEntity.getBody(); + try { + JSONObject jResult = JSONObject.parseObject(result.toString()); + if (jResult != null) { //error + logger.error( "QRCODE get error:" + jResult.getIntValue("errcode")+"-"+ jResult.getString("errmsg")); + return null; + } + } catch (Exception e) { + return result; + } } - if (result[0]==0xff){ //image - return result; - } else { - logger.error( "QRCODE get error:" + result.toString()); - return null; - } + + logger.error( "QRCODE get error responseEntity:" + responseEntity.toString()); + return null; } }