From 2724598d85ab3acc02e57bcb9332ae448133d86a Mon Sep 17 00:00:00 2001 From: masterspirit Date: Wed, 29 Aug 2018 02:29:38 +0800 Subject: [PATCH] =?UTF-8?q?[=E8=90=A5=E9=94=80=E6=95=B0=E6=8D=AE=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8][=E6=96=B0=E5=A2=9E]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MarkingDataReportController.java | 29 +++++++ .../controller/WxCouponChannelController.java | 1 + .../domain/vo/MarkingCouponDataReportVo.java | 62 ++++++++++++++ .../simple/mapper/WxCouponOrderMapper.java | 13 +++ .../service/MarkingDataReportService.java | 10 +++ .../impl/MarkingDataReportServiceImpl.java | 83 +++++++++++++++++++ .../resources/mapper/WxCouponOrderMapper.xml | 19 +++++ 7 files changed, 217 insertions(+) create mode 100644 mallinkAdmin/src/main/java/com/simple/controller/MarkingDataReportController.java create mode 100644 mallinkService/src/main/java/com/simple/domain/vo/MarkingCouponDataReportVo.java create mode 100644 mallinkService/src/main/java/com/simple/service/MarkingDataReportService.java create mode 100644 mallinkService/src/main/java/com/simple/service/impl/MarkingDataReportServiceImpl.java diff --git a/mallinkAdmin/src/main/java/com/simple/controller/MarkingDataReportController.java b/mallinkAdmin/src/main/java/com/simple/controller/MarkingDataReportController.java new file mode 100644 index 000000000..f803a5833 --- /dev/null +++ b/mallinkAdmin/src/main/java/com/simple/controller/MarkingDataReportController.java @@ -0,0 +1,29 @@ +package com.simple.controller; + +import com.simple.common.Result; +import com.simple.common.ResultData; +import com.simple.service.MarkingDataReportService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * Created by syf on 2018/8/29. + */ +@RestController +@RequestMapping("markingDataReport") +@Api(description="营销报表接口") +public class MarkingDataReportController extends BaseController { + + @Autowired + private MarkingDataReportService markingDataReportService; + @ApiOperation("根据id查询接口") + @GetMapping("/couponData") + public ResultData findCouponData() { + return new ResultData(markingDataReportService.getCouponDate(getTenantId())); + } +} diff --git a/mallinkAdmin/src/main/java/com/simple/controller/WxCouponChannelController.java b/mallinkAdmin/src/main/java/com/simple/controller/WxCouponChannelController.java index 60ca33504..2baa6aafe 100644 --- a/mallinkAdmin/src/main/java/com/simple/controller/WxCouponChannelController.java +++ b/mallinkAdmin/src/main/java/com/simple/controller/WxCouponChannelController.java @@ -43,6 +43,7 @@ public class WxCouponChannelController extends BaseController wxCouponChannel.setStatus(null); } wxCouponChannel.setTenantId(getUser().getTenantId()); + wxCouponChannel.setSortColumns(WxCouponChannel.Field.CreateDate_DESC); final PageInfo page = wxCouponChannelService.listPageCAPI(wxCouponChannel, pageNum, pageSize); return new ResultData(page); } diff --git a/mallinkService/src/main/java/com/simple/domain/vo/MarkingCouponDataReportVo.java b/mallinkService/src/main/java/com/simple/domain/vo/MarkingCouponDataReportVo.java new file mode 100644 index 000000000..12c9d2f59 --- /dev/null +++ b/mallinkService/src/main/java/com/simple/domain/vo/MarkingCouponDataReportVo.java @@ -0,0 +1,62 @@ +package com.simple.domain.vo; + +/** + * Created by syf on 2018/8/28. + */ +public class MarkingCouponDataReportVo { + + //券领取张数 couponCount + //券领取人数 couponUserCount + //券核销张数 verifyCount + //券核销人数 verifyUserCount + private String createTime; + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getCouponCount() { + return couponCount; + } + + public void setCouponCount(int couponCount) { + this.couponCount = couponCount; + } + + public int getCouponUserCount() { + return couponUserCount; + } + + public void setCouponUserCount(int couponUserCount) { + this.couponUserCount = couponUserCount; + } + + public int getVerifyCount() { + return verifyCount; + } + + public void setVerifyCount(int verifyCount) { + this.verifyCount = verifyCount; + } + + public int getVerifyUserCount() { + return verifyUserCount; + } + + public void setVerifyUserCount(int verifyUserCount) { + this.verifyUserCount = verifyUserCount; + } + + private int couponCount; + + private int couponUserCount; + + private int verifyCount; + + private int verifyUserCount; + +} diff --git a/mallinkService/src/main/java/com/simple/mapper/WxCouponOrderMapper.java b/mallinkService/src/main/java/com/simple/mapper/WxCouponOrderMapper.java index 9ca433cad..2754a3c94 100644 --- a/mallinkService/src/main/java/com/simple/mapper/WxCouponOrderMapper.java +++ b/mallinkService/src/main/java/com/simple/mapper/WxCouponOrderMapper.java @@ -2,6 +2,7 @@ package com.simple.mapper; import java.util.*; import com.simple.common.CommonMapper; +import com.simple.domain.vo.MarkingCouponDataReportVo; import com.simple.domain.vo.WxCouponOrderBVo; import com.simple.domain.vo.WxCouponOrderCVo; import org.apache.ibatis.annotations.Param; @@ -22,4 +23,16 @@ public interface WxCouponOrderMapper extends CommonMapper { List findListOfCUser(WxCouponOrder wxCouponOrder); List findListOfAdmin(WxCouponOrder wxCouponOrder); + + List couponDataMap(HashMap params); + + + /** + * 查询商场领券数 + * @param tenantId + * @param startTime + * @param endTime + * @return + */ + int findCountByDateLimit(@Param("tenantId")String tenantId,@Param("startTime") Date startTime,@Param("endTime")Date endTime); } diff --git a/mallinkService/src/main/java/com/simple/service/MarkingDataReportService.java b/mallinkService/src/main/java/com/simple/service/MarkingDataReportService.java new file mode 100644 index 000000000..2d8124f0d --- /dev/null +++ b/mallinkService/src/main/java/com/simple/service/MarkingDataReportService.java @@ -0,0 +1,10 @@ +package com.simple.service; + +import java.util.Map; + +/** + * Created by syf on 2018/8/28. + */ +public interface MarkingDataReportService { + Map getCouponDate(String tenantId); +} diff --git a/mallinkService/src/main/java/com/simple/service/impl/MarkingDataReportServiceImpl.java b/mallinkService/src/main/java/com/simple/service/impl/MarkingDataReportServiceImpl.java new file mode 100644 index 000000000..2e2320273 --- /dev/null +++ b/mallinkService/src/main/java/com/simple/service/impl/MarkingDataReportServiceImpl.java @@ -0,0 +1,83 @@ +package com.simple.service.impl; + +import com.simple.domain.vo.MarkingCouponDataReportVo; +import com.simple.mapper.WxCouponOrderMapper; +import com.simple.service.MarkingDataReportService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.NumberFormat; +import java.util.*; + +/** + * Created by syf on 2018/8/28. + */ +@Service +public class MarkingDataReportServiceImpl implements MarkingDataReportService { + + + @Autowired + private WxCouponOrderMapper wxCouponOrderMapper; + + //取本月第一天 + private Date getFirstDayOfMonth(){ + Calendar c = Calendar.getInstance(); + c.set(Calendar.DAY_OF_MONTH, 0);//设置为1号,当前日期既为本月第一天 + c.set(Calendar.HOUR_OF_DAY, 0); + c.set(Calendar.MINUTE, 0); + c.set(Calendar.SECOND, 0); + c.set(Calendar.MILLISECOND, 0); + Date thisMonth = c.getTime(); + return thisMonth; + } + private Date addDay(int addDayAmount){ + Calendar c = Calendar.getInstance(); + c.add(Calendar.DATE, addDayAmount); + c.set(Calendar.HOUR_OF_DAY, 0); + c.set(Calendar.MINUTE, 0); + c.set(Calendar.SECOND, 0); + c.set(Calendar.MILLISECOND, 0); + Date date = c.getTime(); + return date; + } + //取的当月券数据 + public Map getCouponDate(String tenantId){ + //今日领取券数 + //查询coupon order表 + int todayCouponCount = wxCouponOrderMapper.findCountByDateLimit(tenantId,addDay(0),addDay(1)); + int yesterdayCount = wxCouponOrderMapper.findCountByDateLimit(tenantId,addDay(-1),addDay(0)); + int lastWeekCount = wxCouponOrderMapper.findCountByDateLimit(tenantId,addDay(-7),addDay(-6)); + + NumberFormat nf = NumberFormat.getPercentInstance(); + nf.setMinimumFractionDigits(2);//控制保留小数点后几位,2:表示保留2位小数点 + String couponUpDay =""; + if(yesterdayCount!=0) { + couponUpDay = nf.format((todayCouponCount - yesterdayCount) / (float) yesterdayCount); + }else{ + couponUpDay = nf.format(todayCouponCount); + } + String couponUpWeek =""; + if(lastWeekCount!=0) { + couponUpWeek = nf.format((todayCouponCount - lastWeekCount) / (float) lastWeekCount); + }else{ + couponUpWeek = nf.format(todayCouponCount); + } + + //couponData + HashMap params = new HashMap<>(); + params.put("tenantId",tenantId); + params.put("startTime",getFirstDayOfMonth()); + params.put("endTime",addDay(1)); + List couponDataMap=wxCouponOrderMapper.couponDataMap(params); + //查询券领取人数 + + HashMap returnMap = new HashMap<>(); + returnMap.put("couponUpDay",couponUpDay);//比昨日提升 + returnMap.put("couponUpWeek",couponUpWeek);//比上周提升 + returnMap.put("todayCouponCount",todayCouponCount);//今日领取数 + returnMap.put("couponDataMap",couponDataMap); + return returnMap; + } + + +} diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index 128bebfc6..ec7afe1f2 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -371,7 +371,26 @@ + + + +