From 7e7db2fa55a9a3af46d4fd8ede0dee147f101d64 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 09 五月 2020 21:41:27 +0800 Subject: [PATCH] 2.1需求 --- fanli/src/main/java/com/yeshi/fanli/controller/admin/PushGoodsController.java | 32 fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java | 4 fanli/src/main/java/com/yeshi/fanli/controller/client/v1/PushController.java | 230 ++-- fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/SpecialCardAdminController.java | 18 fanli/src/main/java/com/yeshi/fanli/dao/order/OrderMoneyDailyCountDao.java | 150 ++ fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 230 ++- fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java | 11 fanli/src/main/java/com/yeshi/fanli/entity/dynamic/GoodsEvaluate.java | 14 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java | 41 fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialExtraServiceImpl.java | 60 + fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserMoneyControllerV2.java | 405 +++++++ fanli/src/main/java/com/yeshi/fanli/dao/mybatis/HongBaoV2CountMapper.java | 18 fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserCustomSettingsServiceImpl.java | 9 fanli/src/main/java/com/yeshi/fanli/vo/money/MoneyPredictVO.java | 75 + fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsEvaluateAdminController.java | 25 fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoV2CountMapper.xml | 16 fanli/src/main/java/com/yeshi/fanli/entity/system/ConfigKeyEnum.java | 3 fanli/src/test/java/org/fanli/MyBatisProduce2.java | 17 fanli/src/main/java/com/yeshi/fanli/dao/mybatis/ExtractMapper.java | 14 fanli/src/main/java/com/yeshi/fanli/service/inter/homemodule/SpecialService.java | 6 fanli/src/main/java/com/yeshi/fanli/dao/dynamic/GoodsEvaluateDao.java | 127 + fanli/src/main/java/com/yeshi/fanli/vo/money/IncomeDetailVO.java | 34 fanli/src/main/java/com/yeshi/fanli/entity/bus/homemodule/SpecialExtra.java | 75 + fanli/src/main/java/com/yeshi/fanli/mapping/ExtractMapper.xml | 40 fanli/src/main/java/com/yeshi/fanli/mapping/homemodule/SpecialExtraMapper.xml | 43 fanli/src/main/java/com/yeshi/fanli/dao/user/ThreeSaleFocusInfoDao.java | 174 +- fanli/src/main/java/com/yeshi/fanli/entity/order/OrderMoneyDailyCount.java | 118 ++ fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java | 131 ++ fanli/src/main/java/com/yeshi/fanli/service/inter/push/PushGoodsService.java | 8 fanli/src/main/java/com/yeshi/fanli/vo/homemodule/SpecialVO.java | 32 fanli/src/main/java/com/yeshi/fanli/dao/mybatis/homemodule/SpecialExtraMapper.java | 8 fanli/src/main/java/com/yeshi/fanli/dto/user/ThreeSaleFocusDTO.java | 41 fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml | 3 fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialServiceImpl.java | 87 + fanli/src/main/java/com/yeshi/fanli/dao/order/DateTypeEnum.java | 32 fanli/src/main/java/com/yeshi/fanli/service/impl/push/PushGoodsServiceImpl.java | 218 +++ fanli/src/main/java/com/yeshi/fanli/service/impl/count/HongBaoV2CountServiceImpl.java | 22 fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneyDailyCountServiceImpl.java | 53 + fanli/src/main/java/com/yeshi/fanli/entity/push/PushGoods.java | 53 fanli/src/main/java/com/yeshi/fanli/vo/money/MoneyStatisticVO.java | 159 +++ fanli/src/main/java/com/yeshi/fanli/service/inter/count/HongBaoV2CountService.java | 19 fanli/src/main/java/com/yeshi/fanli/service/inter/order/OrderMoneyDailyCountService.java | 25 fanli/src/main/java/com/yeshi/fanli/service/inter/dynamic/GoodsEvaluateService.java | 6 fanli/src/main/java/com/yeshi/fanli/service/inter/money/extract/ExtractService.java | 16 fanli/src/main/java/com/yeshi/fanli/vo/push/PushRecommendVO.java | 110 ++ fanli/src/main/java/com/yeshi/fanli/mapping/push/PushGoodsMapper.xml | 18 fanli/src/main/java/com/yeshi/fanli/entity/bus/user/ThreeSaleFocusInfo.java | 15 fanli/src/main/java/com/yeshi/fanli/service/inter/homemodule/SpecialExtraService.java | 27 48 files changed, 2,610 insertions(+), 462 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsEvaluateAdminController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsEvaluateAdminController.java index 06e5ae7..846e223 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsEvaluateAdminController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsEvaluateAdminController.java @@ -407,14 +407,14 @@ * @param out */ @RequestMapping(value = "saveActivityPic") - public void saveActivityPic(String callback, String pid, ImgInfo imgInfo, HttpServletRequest request, + public void saveActivityPic(String callback, String pid, ImgInfo imgInfo, String picUrls, HttpServletRequest request, PrintWriter out) { try { MultipartHttpServletRequest fileRequest = null; if (request instanceof MultipartHttpServletRequest) { fileRequest = (MultipartHttpServletRequest) request; } - goodsEvaluateService.saveActivityPic(pid, imgInfo, fileRequest); + goodsEvaluateService.saveActivityPic(pid, imgInfo,picUrls, fileRequest); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); } catch (GoodsEvaluateException e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); @@ -436,19 +436,19 @@ try { String videoPic = ""; String videoUrl = ""; - String activityPic = ""; String activityUrl = ""; + List<String> list = new ArrayList<String>(); GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(pid); if (goodsEvaluate != null && goodsEvaluate.getImgList() != null && goodsEvaluate.getImgList().size() > 0) { + activityUrl = goodsEvaluate.getJumpLink(); List<ImgInfo> imgList = goodsEvaluate.getImgList(); for (ImgInfo imgInfo : imgList) { ImgEnum type = imgInfo.getType(); if (type == ImgEnum.video) { videoPic = imgInfo.getUrl(); videoUrl = imgInfo.getVideoUrl(); - } else if (type == ImgEnum.activity) { - activityPic = imgInfo.getUrl(); - activityUrl = imgInfo.getActivityUrl(); + } else { + list.add(imgInfo.getUrl()); } } } @@ -456,7 +456,7 @@ JSONObject data = new JSONObject(); data.put("videoUrl", videoUrl); data.put("videoPic", videoPic); - data.put("activityPic", activityPic); + data.put("listPic", list); data.put("activityUrl", activityUrl); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } catch (Exception e) { @@ -608,8 +608,7 @@ * @param out */ @RequestMapping(value = "query") - public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer state, - PrintWriter out) { + public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer state, String typeEnum, PrintWriter out) { if (pageIndex == null || pageIndex < 1) { pageIndex = 1; } @@ -618,7 +617,7 @@ } try { - List<GoodsEvaluate> list = goodsEvaluateService.query((pageIndex - 1) * pageSize, pageSize, key, state, 1); + List<GoodsEvaluate> list = goodsEvaluateService.query((pageIndex - 1) * pageSize, pageSize, key, state, 1, typeEnum); if (list == null || list.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); return; @@ -640,7 +639,7 @@ } } - long count = goodsEvaluateService.count(key, state, 1); + long count = goodsEvaluateService.count(key, state, 1, typeEnum); int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); @@ -675,7 +674,7 @@ } try { - List<GoodsEvaluate> list = goodsEvaluateService.query((pageIndex - 1) * pageSize, pageSize, key, state, 2); + List<GoodsEvaluate> list = goodsEvaluateService.query((pageIndex - 1) * pageSize, pageSize, key, state, 2, null); if (list == null || list.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); return; @@ -697,7 +696,7 @@ } } - long count = goodsEvaluateService.count(key, state, 2); + long count = goodsEvaluateService.count(key, state, 2, null); int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/PushGoodsController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/PushGoodsController.java index c88a50c..dd930ae 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/PushGoodsController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/PushGoodsController.java @@ -86,6 +86,31 @@ } } + + /** + * 鏂板/淇敼 + * + * @param callback + * @param special + * @param out + */ + @RequestMapping(value = "saveInfo") + public void saveInfo(String callback, PushGoods pushGoods, String arrayIOS, String arrayAndroid, PrintWriter out) { + try { + // 鐗堟湰澶勭悊 + convertVersion(pushGoods, arrayIOS, arrayAndroid); + // 淇濆瓨 + pushGoodsService.saveInfo(pushGoods); + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("娣诲姞鎴愬姛")); + } catch (PushGoodsException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + e.printStackTrace(); + } + } + /** * 鍒犻櫎 * @@ -150,10 +175,8 @@ Date controlTime = pushGoods.getControlTime(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); if (controlTime == null) { - pushGoods.setTimeTask(false); pushGoods.setControlTime_str(""); } else { - pushGoods.setTimeTask(true); pushGoods.setControlTime_str(sdf.format(controlTime)); } @@ -216,21 +239,18 @@ try { List<PushGoods> list = pushGoodsService.listQuery((pageIndex - 1) * pageSize, pageSize, key, state); - if (list == null || list.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); return; } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); for (PushGoods pushGoods : list) { Date controlTime = pushGoods.getControlTime(); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); if (controlTime == null) { - pushGoods.setTimeTask(false); pushGoods.setControlTime_str(""); } else { - pushGoods.setTimeTask(true); pushGoods.setControlTime_str(sdf.format(controlTime)); } diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/SpecialCardAdminController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/SpecialCardAdminController.java index a995f49..0c9283d 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/SpecialCardAdminController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/SpecialCardAdminController.java @@ -21,6 +21,7 @@ import com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl.AdActivityType; import com.yeshi.fanli.entity.bus.homemodule.Special; import com.yeshi.fanli.entity.bus.homemodule.SpecialCard; +import com.yeshi.fanli.entity.bus.homemodule.SpecialExtra; import com.yeshi.fanli.exception.homemodule.SpecialCardException; import com.yeshi.fanli.exception.homemodule.SpecialException; import com.yeshi.fanli.service.inter.config.AppVersionService; @@ -30,6 +31,7 @@ import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.vo.homemodule.SpecialVO; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -164,16 +166,16 @@ * @param out */ @RequestMapping(value = "saveSpecial") - public void saveSpecial(String callback, Special record, String jumpType, HttpServletRequest request, + public void saveSpecial(String callback, Special record, String jumpType, SpecialExtra extra, HttpServletRequest request, PrintWriter out) { try { // 1. 鍏堝垽鏂環ttpRequest 鏄惁鍚湁鏂囦欢绫诲瀷 if (request instanceof MultipartHttpServletRequest) { MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request; specialService.saveObject(fileRequest.getFile("file"), fileRequest.getFile("file2"), - fileRequest.getFile("file3"), record, jumpType); + fileRequest.getFile("file3"), record, jumpType, extra); } else { - specialService.saveObject(null, null, null, record, jumpType); + specialService.saveObject(null, null, null, record, jumpType, extra); } JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); @@ -281,20 +283,18 @@ try { - List<Special> list = specialService.listQueryByCard((pageIndex - 1) * pageSize, pageSize, cardId, key, sex); - long count = specialService.countlistQueryByCard(cardId, key, sex); - // 鑾峰彇鏈夋晥鐨勪笓棰� - + List<SpecialVO> list = specialService.listQueryByCard((pageIndex - 1) * pageSize, pageSize, cardId, key, sex); if (list == null || list.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); return; } + long count = specialService.countlistQueryByCard(cardId, key, sex); // 杩囨护 if (versionList != null) { if (versionList.size() > 0) { List<Long> sourceIdList = new ArrayList<>(); - for (Special special : list) { + for (SpecialVO special : list) { sourceIdList.add(special.getId()); } List<Long> versionIdList = new ArrayList<>(); @@ -324,9 +324,7 @@ JSONObject data = new JSONObject(); data.put("pe", pe); data.put("result_list", gson.toJson(list)); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); e.printStackTrace(); diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/PushController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/PushController.java index 9c055d3..546fe93 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/PushController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/PushController.java @@ -1,6 +1,7 @@ package com.yeshi.fanli.controller.client.v1; import java.io.PrintWriter; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -14,7 +15,9 @@ import org.yeshi.utils.taobao.TbImgUtil; import com.yeshi.fanli.entity.accept.AcceptData; +import com.yeshi.fanli.entity.bus.activity.ActivityUser; import com.yeshi.fanli.entity.common.JumpDetailV2; +import com.yeshi.fanli.entity.dynamic.GoodsEvaluate; import com.yeshi.fanli.entity.goods.CommonGoods; import com.yeshi.fanli.entity.push.DeviceActive; import com.yeshi.fanli.entity.push.DeviceTokenOPPO; @@ -29,6 +32,7 @@ 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.dynamic.GoodsEvaluateService; import com.yeshi.fanli.service.inter.push.DeviceActiveService; import com.yeshi.fanli.service.inter.push.DeviceTokenHWService; import com.yeshi.fanli.service.inter.push.DeviceTokenOPPOService; @@ -44,6 +48,8 @@ import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.annotation.RequestSerializableByKey; import com.yeshi.fanli.util.factory.JumpDetailParamsFactory; +import com.yeshi.fanli.vo.msg.ClientTextStyleVO; +import com.yeshi.fanli.vo.push.PushRecommendVO; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -95,6 +101,10 @@ @Resource private DeviceTokenXMService deviceTokenXMService; + + @Resource + private GoodsEvaluateService goodsEvaluateService; + @RequestMapping(value = "callback", method = RequestMethod.POST) public void callback(AcceptData acceptData, String pushId, PrintWriter out) { @@ -199,127 +209,128 @@ */ @RequestMapping(value = "/gethistory", method = RequestMethod.POST) public void getHistory(AcceptData acceptData, Long uid, String deviceToken, int page, PrintWriter out) { - long count = 0; - List<PushGoods> list = null; JSONArray resultList = new JSONArray(); - DeviceActive deviceActive = deviceActiveService.getDeviceByDeviceAndPlatform(acceptData.getDevice(), deviceToken, acceptData.getPlatform()); - if (deviceActive != null) { - - // 璁惧娉ㄥ唽鏃堕棿 - Date createTime = deviceActive.getCreateTime(); - count = pushGoodsService.countHistoryByPushTime(uid, createTime); - - int pageSize = Constant.PAGE_SIZE; - - list = pushGoodsService.listHistoryByPushTime((page - 1) * pageSize, pageSize, uid, createTime); - if (list != null && list.size() > 0) { - for (PushGoods pushGoods : list) { - JSONObject result = new JSONObject(); - - Long pushId = pushGoods.getId(); - String picture = pushGoods.getPicture(); - String alertContent = pushGoods.getAlertContent(); - Date pushTime = pushGoods.getPushTime(); - - result.put("content", alertContent); - result.put("pushtime", pushTime.getTime()); - - // 缁熻鍟嗗搧鏁伴噺 - long totalgoods = 0; - // 鍟嗗搧id - CommonGoods commonGoods = null; - - if (StringUtil.isNullOrEmpty(picture)) { - try { - List<PushGoodsGroup> listGroup = pushGoodsGroupService.getAllInfoByPushId(pushId); - - if (listGroup != null && listGroup.size() > 0) { - - totalgoods = listGroup.size(); - - PushGoodsGroup pushGoodsGroup = listGroup.get(0); - if (pushGoodsGroup != null) { - commonGoods = pushGoodsGroup.getCommonGoods(); - if (commonGoods != null) { - picture = commonGoods.getPicture(); - } - } - } - } catch (PushGoodsGroupException e) { - e.printStackTrace(); - } - } - - result.put("picture", TbImgUtil.getTBSize320Img(picture)); - - String fontColor1 = "#666666"; - String fontColor2 = "#E5005C"; - JSONArray array = new JSONArray(); - - JSONObject contentJson1 = new JSONObject(); - contentJson1.put("color", fontColor1); - contentJson1.put("content", "鏈鎺ㄨ崘鍏�"); - - JSONObject contentJson2 = new JSONObject(); - contentJson2.put("color", fontColor2); - contentJson2.put("content", totalgoods); - - JSONObject contentJson3 = new JSONObject(); - contentJson3.put("color", fontColor1); - contentJson3.put("content", "涓晢鍝�"); - - array.add(contentJson1); - array.add(contentJson2); - array.add(contentJson3); - - result.put("totalwords", array); - - String params = ""; - - JumpDetailV2 jumpDetail = null; - if (totalgoods == 1) { - params = JumpDetailParamsFactory.createGoodsParams(commonGoods.getGoodsId(), - commonGoods.getGoodsType()); - // 鍗曚釜鍟嗗搧璺宠浆鍟嗗搧璇︽儏 - jumpDetail = jumpDetailV2Service.getByTypeCache("goodsdetail", - Constant.getPlatformCode(acceptData.getPlatform()), - Integer.parseInt(acceptData.getVersion())); - - } else { - String url = configService.get(ConfigKeyEnum.pushGoodsDetails.getKey()); - if (url == null) { - url = ""; - } - url = url + "?id=" + pushId; - - params = JumpDetailParamsFactory.createWEBParams(url); - - // 璺宠浆鎺ㄨ崘璇︽儏 - jumpDetail = jumpDetailV2Service.getByTypeCache("web", - Constant.getPlatformCode(acceptData.getPlatform()), - Integer.parseInt(acceptData.getVersion())); - } - result.put("params", params); - result.put("jumpDetail", jumpDetail); - - resultList.add(result); - } - } + if (deviceActive == null) { + JSONObject resultJson = new JSONObject(); + resultJson.put("count", count); + resultJson.put("result_list", resultList); + out.print(JsonUtil.loadTrueResult(resultJson)); + return; } + // 璁惧娉ㄥ唽鏃堕棿 + Date createTime = deviceActive.getCreateTime(); + count = pushGoodsService.countHistoryByPushTime(uid, createTime); + + int pageSize = Constant.PAGE_SIZE; + List<PushGoods> list = pushGoodsService.listHistoryByPushTime((page - 1) * pageSize, pageSize, uid, createTime); + if (list == null) + list = new ArrayList<>(); + + for (PushGoods pushGoods : list) { + Long id = pushGoods.getId(); + + PushRecommendVO vo = new PushRecommendVO(); + vo.setTitle(pushGoods.getTitle()); + vo.setContent(pushGoods.getContent()); + vo.setPicture(pushGoods.getPicture()); + vo.setPushtime(pushGoods.getPushTime().getTime()); + + Integer scanNum = pushGoods.getScanNum(); + if (scanNum == null) { + vo.setScanNum("0"); + } else if (scanNum >= 10000) { + double num = scanNum; + String numMidea = String.format("%.1f", num / 10000); + vo.setScanNum(numMidea + "涓�"); + } else { + vo.setScanNum(scanNum +""); + } + + + String params = ""; + String nickName = ""; + JumpDetailV2 jumpDetail = null; + List<ClientTextStyleVO> totalwords = new ArrayList<ClientTextStyleVO>(); + + Integer type = pushGoods.getType(); + if (type == null || type == PushGoods.TYPE_GOODS) { + long totalgoods = 0; + CommonGoods goods = null; + try { + List<PushGoodsGroup> listGroup = pushGoodsGroupService.getAllInfoByPushId(id); + if (listGroup != null && listGroup.size() > 0) { + totalgoods = listGroup.size(); + PushGoodsGroup pushGoodsGroup = listGroup.get(0); + if (pushGoodsGroup != null) { + goods = pushGoodsGroup.getCommonGoods(); + } + } + } catch (PushGoodsGroupException e) { + e.printStackTrace(); + } + + if (goods != null && StringUtil.isNullOrEmpty(vo.getPicture())) { + vo.setPicture(TbImgUtil.getTBSize320Img(goods.getPicture())); + } + + if (totalgoods == 1) { + params = JumpDetailParamsFactory.createGoodsParams(goods.getGoodsId(), goods.getGoodsType()); + jumpDetail = jumpDetailV2Service.getByTypeCache("goodsdetail",Constant.getPlatformCode(acceptData.getPlatform()), + Integer.parseInt(acceptData.getVersion())); + } else { + String url = configService.get(ConfigKeyEnum.pushGoodsDetails.getKey()); + if (url == null) { + url = ""; + } + url = url + "?id=" + id; + + params = JumpDetailParamsFactory.createWEBParams(url); + jumpDetail = jumpDetailV2Service.getByTypeCache("web",Constant.getPlatformCode(acceptData.getPlatform()), + Integer.parseInt(acceptData.getVersion())); + } + + totalwords.add(new ClientTextStyleVO("鏈鎺ㄨ崘鍏�", "#666666")); + totalwords.add(new ClientTextStyleVO(totalgoods + "", "#E5005C")); + totalwords.add(new ClientTextStyleVO("涓晢鍝�", "#666666")); + } else if (type == PushGoods.TYPE_ACTIVITY) { + GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(pushGoods.getOtherId()); + if (goodsEvaluate != null) { + ActivityUser user = goodsEvaluate.getUser(); + if (user != null) { + nickName = user.getNickName(); + } + } + + String url = configService.get(ConfigKeyEnum.pushActivityLink.getKey()); + if (url == null) { + url = ""; + } + url = url + "?id=" + id + "&otherId=" + pushGoods.getOtherId(); + params = JumpDetailParamsFactory.createWEBParams(url); + jumpDetail = jumpDetailV2Service.getByTypeCache("web", + Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())); + } else { + continue; + } + vo.setNickName(nickName); + vo.setParams(params); + vo.setJumpDetail(jumpDetail); + vo.setTotalwords(totalwords); + resultList.add(vo); + } + JSONObject resultJson = new JSONObject(); resultJson.put("count", count); resultJson.put("result_list", resultList); - out.print(JsonUtil.loadTrueResult(resultJson)); - // 鍒楄〃鍙傛暟銆佽澶囧弬鏁颁俊鎭笉涓虹┖ - if (list != null && list.size() > 0 && deviceActive != null) { + if (list != null && list.size() > 0 && deviceActive != null) { final List<PushGoods> listPush = list; // 璁板綍璁块棶淇℃伅 executor.execute(new Runnable() { @@ -327,7 +338,6 @@ public void run() { try { Long deviceId = deviceActive.getId(); - for (PushGoods pushGoods : listPush) { List<PushGoodsRecord> listRecord = pushGoodsRecordService .listByPushIdAndDeviceId(pushGoods.getId(), deviceId); @@ -342,11 +352,9 @@ pushGoodsRecord.setDeviceActive(deviceActive); pushGoodsRecordService.insert(pushGoodsRecord); } - } catch (Exception e) { e.printStackTrace(); } - } }); } diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java index f1edece..47d518d 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java @@ -2198,6 +2198,10 @@ inviteLevel.put("link", level.getLink()); data.put("inviteLevel", inviteLevel); } + + if (VersionUtil.greaterThan_2_1_1(acceptData.getPlatform(), acceptData.getVersion())) { + data.put("fansCountLink", configService.get(ConfigKeyEnum.teamStatisticsLink.getKey())); + } out.print(JsonUtil.loadTrueResult(data)); diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java index 93c7820..97e7398 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java @@ -12,6 +12,7 @@ import javax.annotation.Resource; +import org.apache.commons.beanutils.PropertyUtils; import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -29,6 +30,7 @@ import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.clazz.GoodsClass; import com.yeshi.fanli.entity.bus.homemodule.Special; +import com.yeshi.fanli.entity.bus.homemodule.SpecialExtra; import com.yeshi.fanli.entity.bus.homemodule.SpecialLabel; import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture; import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo; @@ -54,6 +56,7 @@ import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService; import com.yeshi.fanli.service.inter.goods.ShareGoodsService; import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService; +import com.yeshi.fanli.service.inter.homemodule.SpecialExtraService; import com.yeshi.fanli.service.inter.homemodule.SpecialService; import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService; import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; @@ -74,6 +77,7 @@ import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.vo.dynamic.ArticleVO; import com.yeshi.fanli.vo.goods.GoodsDetailVO; +import com.yeshi.fanli.vo.homemodule.SpecialVO; import com.yeshi.fanli.vo.msg.ClientTextStyleVO; import net.sf.json.JSONArray; @@ -138,6 +142,11 @@ @Resource private DailyCountMomentsService dailyCountMomentsService; + + @Resource + private SpecialExtraService specialExtraService; + + @Resource(name = "taskExecutor") private TaskExecutor executor; @@ -366,29 +375,48 @@ long time = System.currentTimeMillis(); // 鍒犻櫎灏氭湭鍚敤鐨勮繃鏈熺殑 + List<SpecialVO> listVo = new ArrayList<SpecialVO>(); for (int i = 0; i < list.size(); i++) { Special special = list.get(i); if (special.getState() == 1L) { - list.remove(i--); - } else { - if (special.getStartTime() != null && special.getEndTime() != null) { - if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) { - list.remove(i--); - } else// 璁剧疆鍊掕鏃� - { - special.setCountDownTime((special.getEndTime().getTime() - time) / 1000); - } - } - - List<SpecialLabel> listLabels = special.getListLabels(); - if (listLabels != null && !listLabels.isEmpty()) { - List<ClientTextStyleVO> labels = new ArrayList<>(); - for (SpecialLabel specialLabel : listLabels) { - labels.add(new ClientTextStyleVO(specialLabel.getName(), specialLabel.getBgColor())); - } - special.setLabels(labels); + continue; + } + + // 鏄惁娲诲姩宸茶繃鏈� + if (special.getStartTime() != null && special.getEndTime() != null) { + if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) { + continue; + } else { + special.setCountDownTime((special.getEndTime().getTime() - time) / 1000); } } + + SpecialVO specialVO = new SpecialVO(); + try { + PropertyUtils.copyProperties(specialVO, special); + } catch (Exception e) { + e.printStackTrace(); + continue; + } + + // 璁剧疆鏍囩 + List<SpecialLabel> listLabels = specialVO.getListLabels(); + if (listLabels != null && !listLabels.isEmpty()) { + List<ClientTextStyleVO> labels = new ArrayList<>(); + for (SpecialLabel specialLabel : listLabels) { + labels.add(new ClientTextStyleVO(specialLabel.getName(), specialLabel.getBgColor())); + } + specialVO.setLabels(labels); + } + + // 璇勮淇℃伅 + if (VersionUtil.greaterThan_2_1_1(acceptData.getPlatform(), acceptData.getVersion())) { + SpecialExtra extra = specialExtraService.selectByPrimaryKey(specialVO.getId()); + if (extra != null && !StringUtil.isNullOrEmpty(extra.getComment())) { + specialVO.setComment(extra.getComment()); + } + } + listVo.add(specialVO); } long count = specialService.countByPlaceKeyList(listKey, platformCode, @@ -398,7 +426,7 @@ Gson gson = gsonBuilder.create(); JSONObject data = new JSONObject(); data.put("count", count); - data.put("list", gson.toJson(list)); + data.put("list", gson.toJson(listVo)); out.print(JsonUtil.loadTrueResult(data)); } @@ -1041,5 +1069,70 @@ } }); } + + /** + * 璇勮澶嶅埗-涓撻 + * + * @param acceptData + * @param id + * @param out + */ + @RequestMapping(value = "copySpecialComment", method = RequestMethod.POST) + public void copySpecialComment(AcceptData acceptData, Long uid, Long id, PrintWriter out) { + if (uid == null || id == null) { + out.print(JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖")); + return; + } + + SpecialExtra extra = specialExtraService.selectByPrimaryKey(id); + if (extra == null || StringUtil.isNullOrEmpty(extra.getComment())) { + out.print(JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�")); + return; + } + + UserInfo user = userInfoService.getUserByIdWithMybatis(uid); + if (user == null) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } + + if (user != null && user.getState() != UserInfo.STATE_NORMAL) { + out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); + return; + } + + UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); + String relationId = null; + if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null + && taoBaoInfo.getRelationValid() == true) + relationId = taoBaoInfo.getRelationId(); + + if (StringUtil.isNullOrEmpty(relationId)) { + out.print(JsonUtil.loadFalseResult(2, "娣樺疂鏈巿鏉冿紝璇峰墠寰�\"鎴戠殑\"缁戝畾娣樺疂璐﹀彿")); + return; + } + + String text = extra.getComment(); + String newText = text; + if (extra.getNeedSpin() != null && extra.getNeedSpin()) { + try { + newText = convertLinkManager.convertLinkFromText(text, uid, true); + } catch (ConvertLinkExceptionException e) { + if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) { + out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); + return; + } + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); + return; + } + } + + JSONObject data = new JSONObject(); + data.put("text", newText); + out.print(JsonUtil.loadTrueResult(data)); + } + } diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java index a30f7bc..21596a0 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java @@ -892,6 +892,11 @@ result.put("secondTeam", countSecond); result.put("count", count); result.put("list", array); + + // 缁熻H5閾炬帴 + if (page == 1) { + result.put("link", configService.get(ConfigKeyEnum.teamStatisticsLink.getKey())); + } out.print(JsonUtil.loadTrueResult(result)); } @@ -917,8 +922,8 @@ * @param id * @param out */ - @RequestMapping(value = "countMyTeamV2", method = RequestMethod.POST) - public void countMyTeamV2(AcceptData acceptData, Long uid, PrintWriter out) { + @RequestMapping(value = "countMyTeamV2") + public void countMyTeamV2(String callback, AcceptData acceptData, Long uid, PrintWriter out) { try { JSONObject bossObject = new JSONObject(); ThreeSale threeSale = threeSaleSerivce.getByWorkerId(uid); @@ -976,8 +981,7 @@ tearcherObject.put("phone", tearcherInfo.getPhone()); tearcherObject.put("weixin", tearcherInfo.getWxID()); tearcherObject.put("level", UserLevelEnum.tearcher); - - json.put("tearcher", tearcherInfo); + json.put("tearcher", tearcherObject); } JSONObject daren = new JSONObject(); @@ -1041,9 +1045,9 @@ json.put("daren", daren); json.put("highVIP", highVIP); json.put("superVIP", superVIP); - out.print(JsonUtil.loadTrueResult(json)); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(json)); } catch (Exception e) { - out.print(JsonUtil.loadFalseResult("缁熻澶辫触")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("缁熻澶辫触")); e.printStackTrace(); } @@ -1117,8 +1121,13 @@ weixin = userInfoExtra.getWeiXin(); activeTime = userInfoExtra.getActiveTime(); } + + if (activeTime == null) { + activeTime = new Date(user.getCreatetime()); + } + data.put("weixin", StringUtil.isNullOrEmpty(weixin) ? "" : weixin); - data.put("loginTime", TimeUtil.formatDate(activeTime == null ? userInfoExtra.getCreateTime() : activeTime)); + data.put("loginTime", TimeUtil.formatDate(activeTime)); UserExtraTaoBaoInfo userExtraTaoBaoInfo = userExtraTaoBaoInfoService.getByUid(workerId); if (userExtraTaoBaoInfo != null && !StringUtil.isNullOrEmpty(userExtraTaoBaoInfo.getRelationId()) @@ -1156,21 +1165,19 @@ } data.put("level", levelName); + // 绮変笣缁熻 long indirectNum = 0; long directNum = threeSaleSerivce.countFirstTeam(workerId); if (directNum > 0) { indirectNum = threeSaleSerivce.countSecondTeam(workerId); } - data.put("directNum", directNum); - data.put("indirectNum", indirectNum); - + // 璁㈠崟缁熻 long countTB = commonOrderCountService.countOrderBySourceAndNearDay(workerId, Constant.SOURCE_TYPE_TAOBAO, 60); long countJD = commonOrderCountService.countOrderBySourceAndNearDay(workerId, Constant.SOURCE_TYPE_JD, 60); long countPDD = commonOrderCountService.countOrderBySourceAndNearDay(workerId, Constant.SOURCE_TYPE_PDD, 60); - data.put("orderTB", countTB); - data.put("orderJD", countJD); - data.put("orderPDD", countPDD); + data.put("fansNum", "鐩存帴绮変笣锛� "+directNum+"浜篭n" + "闂存帴绮変笣锛� "+indirectNum+"浜�"); + data.put("orderInfo", "娣樺疂 ("+countTB+"绗�)\n" + "浜笢 ("+countJD+"绗�)\n" + "鎷煎澶� ("+countPDD+"绗�)"); out.print(JsonUtil.loadTrueResult(data)); } @@ -1225,8 +1232,8 @@ * @param id * @param out */ - @RequestMapping(value = "countTeamH5", method = RequestMethod.POST) - public void countTeamH5(AcceptData acceptData, Long uid, PrintWriter out) { + @RequestMapping(value = "countTeamH5") + public void countTeamH5(String callback, AcceptData acceptData, Long uid, PrintWriter out) { try { Date now = new Date(); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM"); @@ -1294,9 +1301,9 @@ json.put("yesterday", yesterday); json.put("month", month); json.put("totality", totality); - out.print(JsonUtil.loadTrueResult(json)); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(json)); } catch (Exception e) { - out.print(JsonUtil.loadFalseResult("缁熻澶辫触")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("缁熻澶辫触")); e.printStackTrace(); } diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserMoneyControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserMoneyControllerV2.java new file mode 100644 index 0000000..d4971f1 --- /dev/null +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserMoneyControllerV2.java @@ -0,0 +1,405 @@ +package com.yeshi.fanli.controller.client.v2; + +import java.io.PrintWriter; +import java.lang.reflect.Type; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.yeshi.utils.JsonUtil; + +import com.google.gson.GsonBuilder; +import com.google.gson.JsonElement; +import com.google.gson.JsonPrimitive; +import com.google.gson.JsonSerializationContext; +import com.google.gson.JsonSerializer; +import com.yeshi.fanli.entity.accept.AcceptData; +import com.yeshi.fanli.entity.bus.user.Extract; +import com.yeshi.fanli.entity.bus.user.UserInfo; +import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum; +import com.yeshi.fanli.entity.order.OrderMoneyDailyCount; +import com.yeshi.fanli.entity.system.ConfigKeyEnum; +import com.yeshi.fanli.service.inter.config.ConfigService; +import com.yeshi.fanli.service.inter.count.HongBaoV2CountService; +import com.yeshi.fanli.service.inter.money.UserMoneyDetailService; +import com.yeshi.fanli.service.inter.money.extract.ExtractService; +import com.yeshi.fanli.service.inter.order.HongBaoV2Service; +import com.yeshi.fanli.service.inter.order.OrderMoneyDailyCountService; +import com.yeshi.fanli.service.inter.user.UserInfoExtraService; +import com.yeshi.fanli.service.inter.user.UserInfoService; +import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.TimeUtil; +import com.yeshi.fanli.vo.money.IncomeDetailVO; +import com.yeshi.fanli.vo.money.MoneyPredictVO; +import com.yeshi.fanli.vo.money.MoneyStatisticVO; + +import net.sf.json.JSONObject; + +/** + * 璐︽埛绯荤粺 + * + * @author Administrator + * + */ +@Controller +@RequestMapping("api/v2/usermoney") +public class UserMoneyControllerV2 { + + @Resource + private UserMoneyDetailService userMoneyDetailService; + + @Resource + private UserInfoService userInfoService; + + @Resource + private HongBaoV2Service hongBaoV2Service; + + @Resource + private ExtractService extractService; + + @Resource + private UserInfoExtraService userInfoExtraService; + + @Resource + private ConfigService configService; + + @Resource + private HongBaoV2CountService hongBaoV2CountService; + + @Resource + private OrderMoneyDailyCountService orderMoneyDailyCountService; + + + + /** + * 鐢ㄦ埛璧勯噾缁熻 + * + * @param acceptData + * @param uid + * @param out + */ + @RequestMapping(value = "getMoneyStatistic") + public void getMoneyStatistic(AcceptData acceptData, Long uid, PrintWriter out) { + if (uid == null || uid == 0) { + out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + return; + } + UserInfo user = userInfoService.getUserById(uid); + + MoneyStatisticVO vo = new MoneyStatisticVO(); + vo.setLink(configService.get(ConfigKeyEnum.autoExtractHelpUrl.getKey())); + vo.setBalanceMoney(user.getMyHongBao()); + vo.setExtractDesc("鎻愮幇閲戦灏辨槸宸叉垚鍔熻浆璐﹀埌鎻愮幇鏀粯瀹濈殑璧勯噾銆�"); + vo.setMoneyArrivalDesc("璧勯噾宸插埌璐﹀悗鎻愮幇鏃堕棿涓嶅彈闄愬埗銆侀噾棰濆彈闄愬埗銆�"); + + // 鑾峰彇鎻愮幇涓殑淇℃伅 + BigDecimal extractingMoney = extractService.sumVerifyingMoney(uid); + if (extractingMoney.compareTo(new BigDecimal(0)) > 0) + vo.setExtractingMoneyInfo("鎻愮幇涓�:楼" + extractingMoney.setScale(2, RoundingMode.HALF_UP)); + + Date minDate = null; + Date maxDate = null; + long timeStamp = System.currentTimeMillis(); + List<UserMoneyDetailTypeEnum> typeList = new ArrayList<>(); + + Calendar calendar = Calendar.getInstance(); + calendar.setTimeInMillis(timeStamp); + + + typeList.clear(); + typeList.add(UserMoneyDetailTypeEnum.extract); + typeList.add(UserMoneyDetailTypeEnum.extractNew); + typeList.add(UserMoneyDetailTypeEnum.extractVerify); + typeList.add(UserMoneyDetailTypeEnum.extractVerifyNew); + typeList.add(UserMoneyDetailTypeEnum.extractReject); + typeList.add(UserMoneyDetailTypeEnum.extractAutoWX); + + // 鏈湀鎻愮幇 + maxDate = new Date(timeStamp); + calendar = Calendar.getInstance(); + minDate = new Date(TimeUtil.convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M")); + calendar.add(Calendar.MONTH, -1); + vo.setMonthExtractMoney(userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate, 1).abs()); + + + // 涓婃湀鎻愮幇 + maxDate = new Date(TimeUtil.convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M")); + calendar.add(Calendar.MONTH, -1); + minDate = new Date(TimeUtil.convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M")); + vo.setLastMonthExtractMoney(userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate, 1).abs()); + + minDate = new Date(0L); + maxDate = new Date(timeStamp); + // 绱鎴愬姛鎻愮幇 + vo.setTotalExtractMoney( + userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate, 1).abs()); + + // 绱鑷喘杩斿埄 + typeList.clear(); + typeList.add(UserMoneyDetailTypeEnum.fanli); + typeList.add(UserMoneyDetailTypeEnum.fanliNew); + typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuanNew); + typeList.add(UserMoneyDetailTypeEnum.orderReward); + typeList.add(UserMoneyDetailTypeEnum.orderRewardNew); + vo.setTotalFanLiMoney( + userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs()); + + // 绱鍒嗕韩璧� + typeList.clear(); + typeList.add(UserMoneyDetailTypeEnum.share); + typeList.add(UserMoneyDetailTypeEnum.shareNew); + typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan); + vo.setTotalShareMoney(userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs()); + + // 绱閭�璇疯禋 + typeList.clear(); + typeList.add(UserMoneyDetailTypeEnum.invite); + typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.inviteAndShare); + typeList.add(UserMoneyDetailTypeEnum.subsidy); + typeList.add(UserMoneyDetailTypeEnum.teamReward); + vo.setTotalInviteMoney(userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs()); + + + // 鏈湀鏀惰揣 + maxDate = new Date(timeStamp); + calendar = Calendar.getInstance(); + minDate = new Date(TimeUtil.convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M")); + calendar.add(Calendar.MONTH, -1); + vo.setMonthSettleMoney(hongBaoV2CountService.sumMoneyBySettleTimeAndUid(uid, minDate, maxDate)); + + // 涓婃湀鏀惰揣 + maxDate = new Date(TimeUtil.convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M")); + calendar.add(Calendar.MONTH, -1); + minDate = new Date(TimeUtil.convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M")); + vo.setLastMonthSettleMoney(hongBaoV2CountService.sumMoneyBySettleTimeAndUid(uid, minDate, maxDate)); + + // 寰呯‘璁ゆ敹璐э紙180澶╁唴锛� + vo.setNotSettleMoney(hongBaoV2CountService.sumMoneyByANotSettleAndUid(uid)); + + + // 浠婃棩棰勪及 + calendar.add(Calendar.DAY_OF_YEAR, -1); + minDate = new Date(TimeUtil.convertDateToTemp(TimeUtil.getGernalTime(timeStamp))); + vo.setTodayPredict(cratePredictVO(orderMoneyDailyCountService.query(uid, minDate, null))); + + // 鏈湀棰勪及 + maxDate = new Date(timeStamp); + calendar = Calendar.getInstance(); + minDate = new Date(TimeUtil.convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M")); + calendar.add(Calendar.MONTH, -1); + vo.setMonthPredict(cratePredictVO(orderMoneyDailyCountService.query(uid, minDate, maxDate))); + + + GsonBuilder builder = new GsonBuilder(); + builder.registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() { + @Override + public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) { + if (value == null) { + return new JsonPrimitive(""); + } else { + // 淇濈暀2浣嶅皬鏁� + value = value.setScale(2); + return new JsonPrimitive(value.toString()); + } + } + }); + out.print(JsonUtil.loadTrueResult(builder.create().toJson(vo))); + } + + + private MoneyPredictVO cratePredictVO(List<OrderMoneyDailyCount> list) { + MoneyPredictVO predictVO = new MoneyPredictVO(); + predictVO.setMineNum(0); + predictVO.setTeamNum(0); + predictVO.setMineMoney(BigDecimal.valueOf(0)); + predictVO.setTeamMoney(BigDecimal.valueOf(0)); + + if (list != null && list.size() > 0) { + for (OrderMoneyDailyCount dailyCount: list) { + if (dailyCount.getOrderNum() != null) { + predictVO.setMineNum(predictVO.getMineNum() + dailyCount.getOrderNum()); + } + + if (dailyCount.getOrderNumTeam() != null) { + predictVO.setTeamNum(predictVO.getTeamNum() + dailyCount.getOrderNumTeam()); + } + + if (dailyCount.getIncome() != null) { + predictVO.setMineMoney(predictVO.getMineMoney().add(dailyCount.getIncome())); + } + + if (dailyCount.getIncomeTeam() != null) { + predictVO.setTeamMoney(predictVO.getTeamMoney().add(dailyCount.getIncomeTeam())); + } + } + } + + predictVO.setTotalNum(predictVO.getTeamNum() + predictVO.getMineNum()); + predictVO.setTotalMoney(predictVO.getMineMoney().add(predictVO.getTeamMoney())); + return predictVO; + } + + + /** + * 鍘嗗彶璇︽儏 + * @param acceptData + * @param uid + * @param datetype 1-澶� - 2鏈� + * @param out + */ + @RequestMapping(value = "getHistoryDetail") + public void getHistoryDetail(AcceptData acceptData, Long uid, Integer datetype, PrintWriter out) { + if (uid == null || uid == 0) { + out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + return; + } + + if (datetype == null) { + datetype = 1; + } + + + MoneyPredictVO predictVO = new MoneyPredictVO(); + predictVO.setMineNum(0); + predictVO.setTeamNum(0); + predictVO.setMineMoney(BigDecimal.valueOf(0)); + predictVO.setTeamMoney(BigDecimal.valueOf(0)); + predictVO.setTotalNum(predictVO.getTeamNum() + predictVO.getMineNum()); + predictVO.setTotalMoney(predictVO.getMineMoney().add(predictVO.getTeamMoney())); + predictVO.setCountDate("2020骞�05鏈�09鏃�"); + + MoneyPredictVO predictVO2 = new MoneyPredictVO(); + predictVO2.setMineNum(0); + predictVO2.setTeamNum(0); + predictVO2.setMineMoney(BigDecimal.valueOf(0)); + predictVO2.setTeamMoney(BigDecimal.valueOf(0)); + predictVO2.setTotalNum(predictVO.getTeamNum() + predictVO.getMineNum()); + predictVO2.setTotalMoney(predictVO.getMineMoney().add(predictVO.getTeamMoney())); + predictVO2.setCountDate("2020骞�05鏈�08鏃�"); + + List<MoneyPredictVO> list = new ArrayList<>(); + list.add(predictVO); + list.add(predictVO2); + + GsonBuilder builder = new GsonBuilder(); + builder.registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() { + @Override + public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) { + if (value == null) { + return new JsonPrimitive(""); + } else { + // 淇濈暀2浣嶅皬鏁� + value = value.setScale(2); + return new JsonPrimitive(value.toString()); + } + } + }); + + JSONObject object = new JSONObject(); + object.put("count", list.size()); + object.put("list", builder.create().toJson(list)); + out.print(JsonUtil.loadTrueResult(object)); + } + + + /** + * 鏀剁泭璇︽儏 + * @param acceptData + * @param uid + * @param datetype + * @param type + * @param out + */ + @RequestMapping(value = "getIncomeDetail") + public void getIncomeDetail(AcceptData acceptData, Long uid, Integer datetype, int type, PrintWriter out) { + if (uid == null || uid == 0) { + out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + return; + } + + IncomeDetailVO detailVO = new IncomeDetailVO(); + detailVO.setIcon("https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E5%9B%BE%E6%A0%87&hs=2&pn=4&spn=0&di=140910&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&ie=utf-8&oe=utf-8&cl=2&lm=-1&cs=1127089551%2C1776911506&os=1048215048%2C2112739689&simid=3430760525%2C458613076&adpicid=0&lpn=0&ln=30&fr=ala&fm=&sme=&cg=&bdtype=0&oriquery=%E5%9B%BE%E6%A0%87&objurl=http%3A%2F%2Fbpic.588ku.com%2Felement_origin_min_pic%2F16%2F08%2F20%2F2357b8781a8b798.jpg!%2Ffwfh%2F804x804%2Fquality%2F90%2Funsharp%2Ftrue%2Fcompress%2Ftrue&fromurl=ippr_z2C%24qAzdH3FAzdH3Flafij3t_z%26e3Bv54AzdH3Ff7vwtAzdH3F8clm90md_z%26e3Bip4s&gsm=5&islist=&querylist="); + detailVO.setNum(0); + detailVO.setMoney(BigDecimal.valueOf(0)); + + IncomeDetailVO detailVO2 = new IncomeDetailVO(); + detailVO2.setIcon("https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E5%9B%BE%E6%A0%87&hs=2&pn=5&spn=0&di=63690&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&ie=utf-8&oe=utf-8&cl=2&lm=-1&cs=2705540191%2C3386342097&os=1154083183%2C368350028&simid=3434290922%2C367349849&adpicid=0&lpn=0&ln=30&fr=ala&fm=&sme=&cg=&bdtype=0&oriquery=%E5%9B%BE%E6%A0%87&objurl=http%3A%2F%2Fhbimg.b0.upaiyun.com%2Ffe2a5be541f3c011972f74d3b50b96578116a92c2f63-tK5HwY_fw658&fromurl=ippr_z2C%24qAzdH3FAzdH3Fi7wkwg_z%26e3Bv54AzdH3FrtgfAzdH3F8ca0l0acmdAzdH3F&gsm=5&islist=&querylist="); + detailVO2.setNum(0); + detailVO2.setMoney(BigDecimal.valueOf(0)); + List<IncomeDetailVO> list = new ArrayList<>(); + list.add(detailVO); + list.add(detailVO2); + + GsonBuilder builder = new GsonBuilder(); + builder.registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() { + @Override + public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) { + if (value == null) { + return new JsonPrimitive(""); + } else { + // 淇濈暀2浣嶅皬鏁� + value = value.setScale(2); + return new JsonPrimitive(value.toString()); + } + } + }); + + JSONObject object = new JSONObject(); + object.put("count", list.size()); + object.put("list", builder.create().toJson(list)); + out.print(JsonUtil.loadTrueResult(object)); + } + + + + @RequestMapping(value = "getExtractRecord") + public void getExtractRecord(AcceptData acceptData, Integer page, Long uid, PrintWriter out) { + if (uid == null || uid == 0) { + out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + return; + } + + List<Extract> list = extractService.getExtractSucceedRecord(page, Constant.PAGE_SIZE, uid); + if (list == null) { + list = new ArrayList<>(); + } + + + for (Extract extract: list) { + + } + + + + GsonBuilder builder = new GsonBuilder(); + builder.registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() { + @Override + public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) { + if (value == null) { + return new JsonPrimitive(""); + } else { + // 淇濈暀2浣嶅皬鏁� + value = value.setScale(2); + return new JsonPrimitive(value.toString()); + } + } + }); + + JSONObject object = new JSONObject(); + object.put("count", list.size()); + object.put("list", builder.create().toJson(list)); + out.print(JsonUtil.loadTrueResult(object)); + } + + + +} diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/dynamic/GoodsEvaluateDao.java b/fanli/src/main/java/com/yeshi/fanli/dao/dynamic/GoodsEvaluateDao.java index 5f8832e..1b167d0 100644 --- a/fanli/src/main/java/com/yeshi/fanli/dao/dynamic/GoodsEvaluateDao.java +++ b/fanli/src/main/java/com/yeshi/fanli/dao/dynamic/GoodsEvaluateDao.java @@ -1,5 +1,6 @@ package com.yeshi.fanli.dao.dynamic; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.regex.Pattern; @@ -96,31 +97,57 @@ * * @return */ - public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType) { + public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType, String typeEnum) { Query query = new Query(); - query.addCriteria(Criteria.where("dynamicType").is(dynamicType)); + List<Criteria> list = new ArrayList<Criteria>(); + list.add(Criteria.where("dynamicType").is(dynamicType)); + if (state != null) { - query.addCriteria(Criteria.where("state").is(state)); + list.add(Criteria.where("state").is(state)); } + + if (!StringUtil.isNullOrEmpty(typeEnum)) + list.add(Criteria.where("type").is(typeEnum)); + if (!StringUtil.isNullOrEmpty(key)) - query.addCriteria(new Criteria().orOperator( + list.add(new Criteria().orOperator( Criteria.where("title").regex(Pattern.compile("^.*" + key + ".*$", Pattern.CASE_INSENSITIVE)))); - + + if (list.size() > 0) { + Criteria[] cas = new Criteria[list.size()]; + for (int i = 0; i < list.size(); i++) + cas[i] = list.get(i); + query.addCriteria(new Criteria().andOperator(cas)); + } + query.skip(start).limit(count); query.with(new Sort(Sort.Direction.DESC,"weight")).with(new Sort(Sort.Direction.DESC,"createTime")); return mongoTemplate.find(query, GoodsEvaluate.class); } - public long count(String key, Integer state, int dynamicType) { + public long count(String key, Integer state, int dynamicType, String typeEnum) { Query query = new Query(); - query.addCriteria(Criteria.where("dynamicType").is(dynamicType)); - + List<Criteria> list = new ArrayList<Criteria>(); + list.add(Criteria.where("dynamicType").is(dynamicType)); + if (state != null) { - query.addCriteria(Criteria.where("state").is(state)); + list.add(Criteria.where("state").is(state)); } + + if (!StringUtil.isNullOrEmpty(typeEnum)) + list.add(Criteria.where("type").is(typeEnum)); + if (!StringUtil.isNullOrEmpty(key)) - query.addCriteria(new Criteria().orOperator( + list.add(new Criteria().orOperator( Criteria.where("title").regex(Pattern.compile("^.*" + key + ".*$", Pattern.CASE_INSENSITIVE)))); + + if (list.size() > 0) { + Criteria[] cas = new Criteria[list.size()]; + for (int i = 0; i < list.size(); i++) + cas[i] = list.get(i); + query.addCriteria(new Criteria().andOperator(cas)); + } + return mongoTemplate.count(query, GoodsEvaluate.class); } @@ -134,10 +161,20 @@ public List<GoodsEvaluate> queryValid(int start, int count, int dynamicType) { Date now = new Date(); Query query = new Query(); - query.addCriteria(Criteria.where("dynamicType").is(dynamicType)); - query.addCriteria(Criteria.where("state").is(1)); - query.addCriteria(Criteria.where("startTime").lte(now)); - query.addCriteria(Criteria.where("endTime").gte(now)); + List<Criteria> list = new ArrayList<Criteria>(); + + list.add(Criteria.where("dynamicType").is(dynamicType)); + list.add(Criteria.where("state").is(1)); + list.add(Criteria.where("startTime").lte(now)); + list.add(Criteria.where("endTime").gte(now)); + + if (list.size() > 0) { + Criteria[] cas = new Criteria[list.size()]; + for (int i = 0; i < list.size(); i++) + cas[i] = list.get(i); + query.addCriteria(new Criteria().andOperator(cas)); + } + query.skip(start).limit(count); query.with(new Sort(Sort.Direction.DESC,"weight")).with(new Sort(Sort.Direction.DESC,"startTime")); return mongoTemplate.find(query, GoodsEvaluate.class); @@ -151,10 +188,19 @@ public long countValid(int dynamicType) { Date now = new Date(); Query query = new Query(); - query.addCriteria(Criteria.where("dynamicType").is(dynamicType)); - query.addCriteria(Criteria.where("state").is(1)); - query.addCriteria(Criteria.where("startTime").lte(now)); - query.addCriteria(Criteria.where("endTime").gte(now)); + List<Criteria> list = new ArrayList<Criteria>(); + + list.add(Criteria.where("dynamicType").is(dynamicType)); + list.add(Criteria.where("state").is(1)); + list.add(Criteria.where("startTime").lte(now)); + list.add(Criteria.where("endTime").gte(now)); + + if (list.size() > 0) { + Criteria[] cas = new Criteria[list.size()]; + for (int i = 0; i < list.size(); i++) + cas[i] = list.get(i); + query.addCriteria(new Criteria().andOperator(cas)); + } return mongoTemplate.count(query, GoodsEvaluate.class); } @@ -168,9 +214,18 @@ */ public List<GoodsEvaluate> querySingleExist() { Query query = new Query(); - query.addCriteria(Criteria.where("dynamicType").is(1)); - query.addCriteria(Criteria.where("state").is(1)); - query.addCriteria(Criteria.where("goods.goodsType").is(1)); + List<Criteria> list = new ArrayList<Criteria>(); + + list.add(Criteria.where("dynamicType").is(1)); + list.add(Criteria.where("state").is(1)); + list.add(Criteria.where("goods.goodsType").is(1)); + + if (list.size() > 0) { + Criteria[] cas = new Criteria[list.size()]; + for (int i = 0; i < list.size(); i++) + cas[i] = list.get(i); + query.addCriteria(new Criteria().andOperator(cas)); + } return mongoTemplate.find(query, GoodsEvaluate.class); } @@ -184,10 +239,19 @@ */ public List<GoodsEvaluate> queryExist(int goodsType, Long goodsId) { Query query = new Query(); - query.addCriteria(Criteria.where("dynamicType").is(1)); - query.addCriteria(Criteria.where("state").is(1)); - query.addCriteria(Criteria.where("imgList.goods.goodsId").is(goodsId)); - query.addCriteria(Criteria.where("imgList.goods.goodsType").is(goodsType)); + List<Criteria> list = new ArrayList<Criteria>(); + list.add(Criteria.where("dynamicType").is(1)); + list.add(Criteria.where("state").is(1)); + list.add(Criteria.where("imgList.goods.goodsId").is(goodsId)); + list.add(Criteria.where("imgList.goods.goodsType").is(goodsType)); + + if (list.size() > 0) { + Criteria[] cas = new Criteria[list.size()]; + for (int i = 0; i < list.size(); i++) + cas[i] = list.get(i); + query.addCriteria(new Criteria().andOperator(cas)); + } + return mongoTemplate.find(query, GoodsEvaluate.class); } @@ -217,8 +281,17 @@ */ public List<GoodsEvaluate> removeDownGoods() { Query query = new Query(); - query.addCriteria(Criteria.where("type").is("single")); - query.addCriteria(Criteria.where("goods.state").is(1)); + List<Criteria> list = new ArrayList<Criteria>(); + list.add(Criteria.where("type").is("single")); + list.add(Criteria.where("goods.state").is(1)); + + if (list.size() > 0) { + Criteria[] cas = new Criteria[list.size()]; + for (int i = 0; i < list.size(); i++) + cas[i] = list.get(i); + query.addCriteria(new Criteria().andOperator(cas)); + } + return mongoTemplate.find(query, GoodsEvaluate.class); } } diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/ExtractMapper.java b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/ExtractMapper.java index 75dcae6..b76be58 100644 --- a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/ExtractMapper.java +++ b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/ExtractMapper.java @@ -124,4 +124,18 @@ * @return */ BigDecimal sumMoneyByUidAndState(@Param("uid") Long uid,@Param("stateList")List<Integer> stateList); + + + /** + * 鏌ヨ鎻愮幇鎴愬姛璁板綍 + * @param start + * @param count + * @param uid + * @return + */ + List<Extract> getExtractSucceedRecord(@Param("start") long start, @Param("count") int count, @Param("uid") Long uid); + + + Long countExtractSucceedRecord(@Param("uid") Long uid); + } \ No newline at end of file diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/HongBaoV2CountMapper.java b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/HongBaoV2CountMapper.java index 0ad0629..6b0ac36 100644 --- a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/HongBaoV2CountMapper.java +++ b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/HongBaoV2CountMapper.java @@ -172,5 +172,23 @@ * @return */ BigDecimal sumMoneyArrivalByUidAndNearDay(@Param("uid") Long uid, @Param("day") int day); + + + /** + * 缁熻缁撶畻閲戦 + * @param uid + * @param minDate + * @param maxDate + * @return + */ + BigDecimal sumMoneyBySettleTimeAndUid(@Param("uid") Long uid, @Param("minDate") Date minDate, @Param("maxDate") Date maxDate); + /** + * 180鍐呮湭鏀惰揣鐨勯噾棰� + * @param uid + * @return + */ + BigDecimal sumMoneyByANotSettleAndUid(@Param("uid") Long uid); + + } \ No newline at end of file diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/homemodule/SpecialExtraMapper.java b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/homemodule/SpecialExtraMapper.java new file mode 100644 index 0000000..1de3785 --- /dev/null +++ b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/homemodule/SpecialExtraMapper.java @@ -0,0 +1,8 @@ +package com.yeshi.fanli.dao.mybatis.homemodule; + +import com.yeshi.fanli.dao.BaseMapper; +import com.yeshi.fanli.entity.bus.homemodule.SpecialExtra; + +public interface SpecialExtraMapper extends BaseMapper<SpecialExtra> { + +} \ No newline at end of file diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/order/DateTypeEnum.java b/fanli/src/main/java/com/yeshi/fanli/dao/order/DateTypeEnum.java new file mode 100644 index 0000000..18bc298 --- /dev/null +++ b/fanli/src/main/java/com/yeshi/fanli/dao/order/DateTypeEnum.java @@ -0,0 +1,32 @@ +package com.yeshi.fanli.dao.order; + +public enum DateTypeEnum { + DATE("1", "%Y-%m-%d"), + MONTH("2", "%Y-%m"), + YEAR("3", "%Y"); + + private String name; + private String value; + + private DateTypeEnum(String name, String value) { + this.name = name; + this.value = value; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + +} \ No newline at end of file diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/order/OrderMoneyDailyCountDao.java b/fanli/src/main/java/com/yeshi/fanli/dao/order/OrderMoneyDailyCountDao.java new file mode 100644 index 0000000..dd77db7 --- /dev/null +++ b/fanli/src/main/java/com/yeshi/fanli/dao/order/OrderMoneyDailyCountDao.java @@ -0,0 +1,150 @@ +package com.yeshi.fanli.dao.order; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.data.mongodb.core.query.Update; +import org.springframework.stereotype.Repository; + +import com.mongodb.BasicDBList; +import com.mongodb.BasicDBObject; +import com.mongodb.DBCollection; +import com.mongodb.DBObject; +import com.mongodb.GroupCommand; +import com.yeshi.fanli.entity.order.OrderMoneyDailyCount; + +@Repository +public class OrderMoneyDailyCountDao { + + @Resource + private MongoTemplate mongoTemplate; + + /** + * 鏂板 + * + * @param record + */ + public void save(OrderMoneyDailyCount record) { + if (record == null) { + return; + } + mongoTemplate.save(record); + } + + /** + * 鏌ヨID + * + * @param id + * @return + */ + public OrderMoneyDailyCount getById(String id) { + Query query = new Query(); + query.addCriteria(Criteria.where("id").is(id)); + return mongoTemplate.findOne(query, OrderMoneyDailyCount.class); + } + + /** + * 閫夋嫨鏇存柊 + * + * @param info + */ + public void updateSelective(OrderMoneyDailyCount info) { + Query query = new Query(); + query.addCriteria(Criteria.where("id").is(info.getId())); + Update update = new Update(); + if (info.getIncome() != null) + update.set("income", info.getIncome()); + if (info.getIncomeTeam() != null) + update.set("incomeTeam", info.getIncomeTeam()); + if (info.getOrderNum() != null) + update.set("orderNum", info.getOrderNum()); + if (info.getOrderNumTeam() != null) + update.set("orderNumTeam", info.getOrderNumTeam()); + update.set("updateTime", new Date()); + mongoTemplate.updateMulti(query, update, OrderMoneyDailyCount.class); + } + + // 鏌ヨ + public List<OrderMoneyDailyCount> query(Long uid, Date minDay, Date maxDay) { + Query query = new Query(); + List<Criteria> list = new ArrayList<Criteria>(); + list.add(Criteria.where("uid").is(uid)); + + if (minDay != null) { + list.add(Criteria.where("bossSuperId").lte(uid)); + } + + if (maxDay != null) { + list.add(Criteria.where("bossSuperId").gte(uid)); + } + + if (list.size() > 0) { + Criteria[] cas = new Criteria[list.size()]; + for (int i = 0; i < list.size(); i++) + cas[i] = list.get(i); + query.addCriteria(new Criteria().andOperator(cas)); + } + query.with(new Sort(Sort.Direction.ASC, "countDay")); + return mongoTemplate.find(query, OrderMoneyDailyCount.class); + } + + +// +// public List<PlaybackEntity> queryPlaybackRecord(FunctionUseQueryEntity queryEntity) { +// Criteria criteria = Criteria.where("createTime").gte(queryEntity.getStartTime()).lte(queryEntity.getEndTime()) +// .and("status").is(1); +// Query query = Query.query(criteria); +// +// BasicDBObject initial = new BasicDBObject(); +// initial.put("playbackNum", 0); +// +// String reduce = getReduce(); +// // 杩涜鎸夊ぉ銆佸懆銆佹湀鍒嗙粍 +// String keyf = getKeyf(queryEntity); +// +// DBCollection collection = mongoTemplate.getCollection(COLLNAME); +// +// GroupCommand xx = new GroupCommand(collection, keyf, query.getQueryObject(), initial, reduce, null); +// +// BasicDBList objects = (BasicDBList) collection.group(xx); +// +// List<PlaybackEntity> results = new ArrayList<PlaybackEntity>(); +// if (objects != null) { +// for (int i = 0; i < objects.size(); i++) { +// PlaybackEntity play = new PlaybackEntity(); +// DBObject obj = (DBObject) objects.get(i); +// play.setFormateTime((String) obj.get("strData")); +// play.setPlaybackNum((Double) obj.get("playbackNum")); +// results.add(play); +// } +// } +// return results; +// } +// +// private String getKeyf(FunctionUseQueryEntity queryEntity) { +// StringBuilder keyfBuilder = new StringBuilder(); +// keyfBuilder.append("function(doc){ ").append(" var date = new Date(doc.createTime); "); +// if (DateTypeEnum.DATE.getValue().equals(queryEntity.getType())) { +// keyfBuilder.append( +// " var dateKey = '' + date.getFullYear()+ '-' + (date.getMonth()+1) + '-' + date.getDate();"); +// } else if (DateTypeEnum.MONTH.getValue().equals(queryEntity.getType())) { +// keyfBuilder.append(" var dateKey = '' + date.getFullYear()+ '-' + (date.getMonth()+1);"); +// } +// keyfBuilder.append(" return {'strData':dateKey}; ").append(" }"); +// return keyfBuilder.toString(); +// } +// +// private String getReduce() { +// StringBuilder reduceBuilder = new StringBuilder(); +// reduceBuilder.append("function Reduce(doc, out) { ").append(" out.playbackNum += 1; ").append(" }"); +// return reduceBuilder.toString(); +// } + +} diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/user/ThreeSaleFocusInfoDao.java b/fanli/src/main/java/com/yeshi/fanli/dao/user/ThreeSaleFocusInfoDao.java index a60a386..9481784 100644 --- a/fanli/src/main/java/com/yeshi/fanli/dao/user/ThreeSaleFocusInfoDao.java +++ b/fanli/src/main/java/com/yeshi/fanli/dao/user/ThreeSaleFocusInfoDao.java @@ -1,6 +1,7 @@ package com.yeshi.fanli.dao.user; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.regex.Pattern; @@ -36,7 +37,6 @@ mongoTemplate.save(record); } - /** * 鏇存柊鏍囩 * @@ -46,10 +46,10 @@ if (memoName == null) { memoName = ""; } - + Query query = new Query(); query.addCriteria(Criteria.where("workerId").is(workerId)); - + Update update = null; if (type == 1) { update = Update.update("memoName", memoName); @@ -68,10 +68,10 @@ if (tags == null) { tags = ""; } - + Query query = new Query(); query.addCriteria(Criteria.where("workerId").is(workerId)); - + Update update = null; if (type == 1) { update = Update.update("tags", tags); @@ -80,9 +80,10 @@ } mongoTemplate.updateFirst(query, update, ThreeSaleFocusInfo.class); } - + /** * 鏇存柊鏄电О + * * @param workerId * @param nickName */ @@ -90,90 +91,94 @@ if (nickName == null) { nickName = ""; } - + Query query = new Query(); query.addCriteria(Criteria.where("workerId").is(workerId)); - Update update = Update.update("nickName", nickName); + Update update = Update.update("nickName", nickName); mongoTemplate.updateFirst(query, update, ThreeSaleFocusInfo.class); } - - + /** * 鏇存柊鏄惁鏈夋晥绮変笣 + * * @param workerId * @param stateValid */ public void updateStateValid(Long workerId, boolean stateValid) { Query query = new Query(); query.addCriteria(Criteria.where("workerId").is(workerId)); - Update update = Update.update("stateValid", stateValid); + Update update = Update.update("stateValid", stateValid); mongoTemplate.updateFirst(query, update, ThreeSaleFocusInfo.class); } - + /** * 鏇存柊娣樺疂缁戝畾 + * * @param workerId * @param taobaoBind */ public void updateTaobaoBind(Long workerId, boolean taobaoBind) { Query query = new Query(); query.addCriteria(Criteria.where("workerId").is(workerId)); - Update update = Update.update("taobaoBind", taobaoBind); + Update update = Update.update("taobaoBind", taobaoBind); mongoTemplate.updateFirst(query, update, ThreeSaleFocusInfo.class); } - + /** * 鏇存柊寰俊缁戝畾 + * * @param workerId * @param weixinBind */ public void updateWeixinBind(Long workerId, boolean weixinBind) { Query query = new Query(); query.addCriteria(Criteria.where("workerId").is(workerId)); - Update update = Update.update("weixinBind", weixinBind); + Update update = Update.update("weixinBind", weixinBind); mongoTemplate.updateFirst(query, update, ThreeSaleFocusInfo.class); } /** * 鏇存柊娲昏穬鏃堕棿 + * * @param workerId * @param activeTime */ public void updateActiveTime(Long workerId, Date activeTime) { Query query = new Query(); query.addCriteria(Criteria.where("workerId").is(workerId)); - Update update = Update.update("activeTime", activeTime); + Update update = Update.update("activeTime", activeTime); mongoTemplate.updateFirst(query, update, ThreeSaleFocusInfo.class); } /** * 鏇存柊绮変笣鏁伴噺 + * * @param workerId * @param fansNum */ public void updateFansNum(Long workerId, int fansNum) { Query query = new Query(); query.addCriteria(Criteria.where("workerId").is(workerId)); - Update update = Update.update("fansNum", fansNum); + Update update = Update.update("fansNum", fansNum); mongoTemplate.updateFirst(query, update, ThreeSaleFocusInfo.class); } - /** * 鏇存柊鏀跺叆 + * * @param workerId * @param income */ public void updateIncome(Long workerId, BigDecimal income) { Query query = new Query(); query.addCriteria(Criteria.where("workerId").is(workerId)); - Update update = Update.update("income", income).set("incomeTime", new Date()); + Update update = Update.update("income", income).set("incomeTime", new Date()); mongoTemplate.updateMulti(query, update, ThreeSaleFocusInfo.class); } - /** * 缁熻 + * * @return */ public ThreeSaleFocusInfo getbyWorkerId(Long workerId) { @@ -181,7 +186,7 @@ query.addCriteria(Criteria.where("workerId").is(workerId)); return mongoTemplate.findOne(query, ThreeSaleFocusInfo.class); } - + /** * 鏌ヨ * @@ -190,12 +195,13 @@ public List<ThreeSaleFocusInfo> query(int start, int count, int type, Long uid, ThreeSaleFocusDTO focusDTO) { Query query = createQuery(type, uid, focusDTO); query.skip(start).limit(count); - query.with(new Sort(Sort.Direction.DESC,"weight")); + query.with(new Sort(Sort.Direction.DESC, "weight")); return mongoTemplate.find(query, ThreeSaleFocusInfo.class); } /** * 缁熻 + * * @return */ public long count(int type, Long uid, ThreeSaleFocusDTO focusDTO) { @@ -203,65 +209,85 @@ return mongoTemplate.count(query, ThreeSaleFocusInfo.class); } - private Query createQuery(int type, Long uid, ThreeSaleFocusDTO focusDTO) { Query query = new Query(); + List<Criteria> list = new ArrayList<Criteria>(); + if (type == 1) { - query.addCriteria(Criteria.where("bossId").is(uid)); + list.add(Criteria.where("bossId").is(uid)); } else { - query.addCriteria(Criteria.where("bossSuperId").is(uid)); + list.add(Criteria.where("bossSuperId").is(uid)); } - - if (focusDTO == null) { - return query; - } - - if (focusDTO.getStateValid() != null) - query.addCriteria(Criteria.where("stateValid").is(focusDTO.getStateValid())); - - if (focusDTO.getTaobaoBind() != null) - query.addCriteria(Criteria.where("taobaoBind").is(focusDTO.getTaobaoBind())); - - if (focusDTO.getWeixinBind() != null) - query.addCriteria(Criteria.where("weixinBind").is(focusDTO.getWeixinBind())); - - if (focusDTO.getMinFansNum() != null) - query.addCriteria(Criteria.where("fansNum").lte(focusDTO.getMinFansNum())); - - if (focusDTO.getMinFansNum() != null) - query.addCriteria(Criteria.where("fansNum").gte(focusDTO.getMinFansNum())); - - if (focusDTO.getMinActiveTime() != null) - query.addCriteria(Criteria.where("activeTime").lte(focusDTO.getMinActiveTime())); - - if (focusDTO.getMaxActiveTime() != null) - query.addCriteria(Criteria.where("activeTime").gte(focusDTO.getMaxActiveTime())); - - if (focusDTO.getMinIncome() != null) - query.addCriteria(Criteria.where("income").lte(focusDTO.getMinIncome())); - - if (focusDTO.getMaxIncome() != null) - query.addCriteria(Criteria.where("income").gte(focusDTO.getMaxIncome())); - - - if (!StringUtil.isNullOrEmpty(focusDTO.getKey())) { - if (type == 1) { - query.addCriteria(new Criteria().orOperator( - Criteria.where("nickName").regex(Pattern.compile("^.*" + focusDTO.getKey() + ".*$", Pattern.CASE_INSENSITIVE)), - new Criteria().andOperator(Criteria.where("memoName").regex(Pattern.compile("^.*" + focusDTO.getKey() + ".*$", Pattern.CASE_INSENSITIVE))), - new Criteria().andOperator(Criteria.where("tags").regex(Pattern.compile("^.*" + focusDTO.getKey() + ".*$", Pattern.CASE_INSENSITIVE))) - )); - } else { - query.addCriteria(new Criteria().orOperator( - Criteria.where("nickName").regex(Pattern.compile("^.*" + focusDTO.getKey() + ".*$", Pattern.CASE_INSENSITIVE)), - new Criteria().andOperator(Criteria.where("memoNameSup").regex(Pattern.compile("^.*" + focusDTO.getKey() + ".*$", Pattern.CASE_INSENSITIVE))), - new Criteria().andOperator(Criteria.where("tagsSup").regex(Pattern.compile("^.*" + focusDTO.getKey() + ".*$", Pattern.CASE_INSENSITIVE))) - )); + + if (focusDTO != null) { + if (focusDTO.getStateValid() != null) + list.add(Criteria.where("stateValid").is(focusDTO.getStateValid())); + + if (focusDTO.getTaobaoBind() != null) + list.add(Criteria.where("taobaoBind").is(focusDTO.getTaobaoBind())); + + if (focusDTO.getWeixinBind() != null) + list.add(Criteria.where("weixinBind").is(focusDTO.getWeixinBind())); + + if (!StringUtil.isNullOrEmpty(focusDTO.getLevel())) + list.add(Criteria.where("level").is(focusDTO.getLevel())); + + if (focusDTO.getMinFansNum() != null) + list.add(Criteria.where("fansNum").lte(focusDTO.getMinFansNum())); + + if (focusDTO.getMaxFansNum() != null) + list.add(Criteria.where("fansNum").gte(focusDTO.getMaxFansNum())); + + if (!StringUtil.isNullOrEmpty(focusDTO.getMinJoinTime())) + list.add(Criteria.where("joinTime").lte(focusDTO.getMinJoinTime())); + + if (!StringUtil.isNullOrEmpty(focusDTO.getMaxJoinTime())) + list.add(Criteria.where("joinTime").gte(focusDTO.getMaxJoinTime())); + + if (!StringUtil.isNullOrEmpty(focusDTO.getMinActiveTime())) + list.add(Criteria.where("activeTime").lte(focusDTO.getMinActiveTime())); + + if (!StringUtil.isNullOrEmpty(focusDTO.getMaxActiveTime())) + list.add(Criteria.where("activeTime").gte(focusDTO.getMaxActiveTime())); + + if (focusDTO.getMinIncome() != null) + list.add(Criteria.where("income").lte(focusDTO.getMinIncome())); + + if (focusDTO.getMaxIncome() != null) + list.add(Criteria.where("income").gte(focusDTO.getMaxIncome())); + + if (!StringUtil.isNullOrEmpty(focusDTO.getKey())) { + if (type == 1) { + list.add(new Criteria().orOperator( Criteria.where("nickName") + .regex(Pattern.compile("^.*" + focusDTO.getKey() + ".*$", + Pattern.CASE_INSENSITIVE)), + new Criteria().andOperator(Criteria.where("memoName") + .regex(Pattern.compile("^.*" + focusDTO.getKey() + ".*$", + Pattern.CASE_INSENSITIVE))), + new Criteria().andOperator(Criteria.where("tags").regex(Pattern + .compile("^.*" + focusDTO.getKey() + ".*$", Pattern.CASE_INSENSITIVE))))); + } else { + list.add(new Criteria().orOperator(Criteria.where("nickName") + .regex(Pattern.compile("^.*" + focusDTO.getKey() + ".*$", + Pattern.CASE_INSENSITIVE)), + new Criteria().andOperator(Criteria.where("memoNameSup") + .regex(Pattern.compile("^.*" + focusDTO.getKey() + ".*$", + Pattern.CASE_INSENSITIVE))), + new Criteria().andOperator(Criteria.where("tagsSup").regex(Pattern + .compile("^.*" + focusDTO.getKey() + ".*$", Pattern.CASE_INSENSITIVE))))); + } } } + + if (list.size() > 0) { + + Criteria[] cas = new Criteria[list.size()]; + for (int i = 0; i < list.size(); i++) + cas[i] = list.get(i); + query.addCriteria(new Criteria().andOperator(cas)); + } + return query; } - - - + } diff --git a/fanli/src/main/java/com/yeshi/fanli/dto/user/ThreeSaleFocusDTO.java b/fanli/src/main/java/com/yeshi/fanli/dto/user/ThreeSaleFocusDTO.java index d4e17e7..f507678 100644 --- a/fanli/src/main/java/com/yeshi/fanli/dto/user/ThreeSaleFocusDTO.java +++ b/fanli/src/main/java/com/yeshi/fanli/dto/user/ThreeSaleFocusDTO.java @@ -1,17 +1,19 @@ package com.yeshi.fanli.dto.user; import java.math.BigDecimal; -import java.util.Date; public class ThreeSaleFocusDTO { private String key; + private String level; private Boolean stateValid; private Boolean taobaoBind; private Boolean weixinBind; private Integer minFansNum; private Integer maxFansNum; - private Date minActiveTime; - private Date maxActiveTime; + private String minJoinTime; + private String maxJoinTime; + private String minActiveTime; + private String maxActiveTime; private BigDecimal minIncome; private BigDecimal maxIncome; @@ -64,19 +66,19 @@ this.maxFansNum = maxFansNum; } - public Date getMinActiveTime() { + public String getMinActiveTime() { return minActiveTime; } - public void setMinActiveTime(Date minActiveTime) { + public void setMinActiveTime(String minActiveTime) { this.minActiveTime = minActiveTime; } - public Date getMaxActiveTime() { + public String getMaxActiveTime() { return maxActiveTime; } - public void setMaxActiveTime(Date maxActiveTime) { + public void setMaxActiveTime(String maxActiveTime) { this.maxActiveTime = maxActiveTime; } @@ -96,4 +98,29 @@ this.maxIncome = maxIncome; } + public String getMinJoinTime() { + return minJoinTime; + } + + public void setMinJoinTime(String minJoinTime) { + this.minJoinTime = minJoinTime; + } + + public String getMaxJoinTime() { + return maxJoinTime; + } + + public void setMaxJoinTime(String maxJoinTime) { + this.maxJoinTime = maxJoinTime; + } + + public String getLevel() { + return level; + } + + public void setLevel(String level) { + this.level = level; + } + + } diff --git a/fanli/src/main/java/com/yeshi/fanli/entity/bus/homemodule/SpecialExtra.java b/fanli/src/main/java/com/yeshi/fanli/entity/bus/homemodule/SpecialExtra.java new file mode 100644 index 0000000..12e8686 --- /dev/null +++ b/fanli/src/main/java/com/yeshi/fanli/entity/bus/homemodule/SpecialExtra.java @@ -0,0 +1,75 @@ +package com.yeshi.fanli.entity.bus.homemodule; + +import java.util.Date; + +import org.yeshi.utils.mybatis.Column; +import org.yeshi.utils.mybatis.Table; + +/** + * 涓撻绠$悊 + * + */ +@Table("yeshi_ec_special_extra") +public class SpecialExtra { + + //涓撻id + @Column(name = "se_id") + private Long id; + + // 鏄惁杞摼 + @Column(name = "se_need_spin") + private Boolean needSpin; + + // 璇勮璇� + @Column(name = "se_comment") + private String comment; + + // 鍒涘缓鏃堕棿 + @Column(name = "se_createtime") + private Date createtime; + + // 鏇存柊鏃堕棿 + @Column(name = "se_updatetime") + private Date updatetime; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Boolean getNeedSpin() { + return needSpin; + } + + public void setNeedSpin(Boolean needSpin) { + this.needSpin = needSpin; + } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } + + public Date getCreatetime() { + return createtime; + } + + public void setCreatetime(Date createtime) { + this.createtime = createtime; + } + + public Date getUpdatetime() { + return updatetime; + } + + public void setUpdatetime(Date updatetime) { + this.updatetime = updatetime; + } + +} diff --git a/fanli/src/main/java/com/yeshi/fanli/entity/bus/user/ThreeSaleFocusInfo.java b/fanli/src/main/java/com/yeshi/fanli/entity/bus/user/ThreeSaleFocusInfo.java index 8f3b00c..10472d9 100644 --- a/fanli/src/main/java/com/yeshi/fanli/entity/bus/user/ThreeSaleFocusInfo.java +++ b/fanli/src/main/java/com/yeshi/fanli/entity/bus/user/ThreeSaleFocusInfo.java @@ -7,6 +7,8 @@ import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Field; +import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum; + @Document(collection = "three_sale_focus_info") public class ThreeSaleFocusInfo { @@ -25,6 +27,9 @@ @Field("nickName") private String nickName; // 鏄电О + + @Field("level") + private UserLevelEnum level; // 褰撳墠绛夌骇 @Field("stateValid") private Boolean stateValid; // 鏈夋晥绮変笣 @@ -58,6 +63,8 @@ @Field("memoNameSup") private String memoNameSup; // 闂存帴涓婄骇澶囨敞鍚� + + @Field("tagsSup") private String tagsSup; // 闂存帴涓婄骇鏍囩 @@ -209,4 +216,12 @@ this.tagsSup = tagsSup; } + public UserLevelEnum getLevel() { + return level; + } + + public void setLevel(UserLevelEnum level) { + this.level = level; + } + } diff --git a/fanli/src/main/java/com/yeshi/fanli/entity/dynamic/GoodsEvaluate.java b/fanli/src/main/java/com/yeshi/fanli/entity/dynamic/GoodsEvaluate.java index 8cfed4e..027a708 100644 --- a/fanli/src/main/java/com/yeshi/fanli/entity/dynamic/GoodsEvaluate.java +++ b/fanli/src/main/java/com/yeshi/fanli/entity/dynamic/GoodsEvaluate.java @@ -108,7 +108,6 @@ @Field("endTime") private Date endTime; // 缁撴潫鏃堕棿 - @Field("createTime") private Date createTime; // 鍒涘缓鏃堕棿 @@ -120,6 +119,10 @@ @Field("dynamicType") private Integer dynamicType; // 1鍙戝湀 2绱犳潗 + + @Expose + @Field("jumpLink") + private String jumpLink; private String startTimeChar; @@ -304,4 +307,13 @@ public void setRemarks(String remarks) { this.remarks = remarks; } + + public String getJumpLink() { + return jumpLink; + } + + public void setJumpLink(String jumpLink) { + this.jumpLink = jumpLink; + } + } diff --git a/fanli/src/main/java/com/yeshi/fanli/entity/order/OrderMoneyDailyCount.java b/fanli/src/main/java/com/yeshi/fanli/entity/order/OrderMoneyDailyCount.java new file mode 100644 index 0000000..a23817b --- /dev/null +++ b/fanli/src/main/java/com/yeshi/fanli/entity/order/OrderMoneyDailyCount.java @@ -0,0 +1,118 @@ +package com.yeshi.fanli.entity.order; + +import java.math.BigDecimal; +import java.util.Date; + +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; +import org.springframework.data.mongodb.core.mapping.Field; + +/** + * 璁㈠崟鐩稿叧璧勯噾缁熻 + * @author Administrator + * + */ +@Document(collection = "order_money_daily_count") +public class OrderMoneyDailyCount { + + @Id + @Field("id") + private String id; + + @Field("uid") + private Long uid; // 涓婄骇id + + @Field("sourceType") + private String sourceType; // 鏉ユ簮绫诲瀷 + + @Field("countDay") + private Date countDay; // 缁熻鏃ユ湡 + + @Field("income") + private BigDecimal income; // 鏀跺叆-鎴戠殑 + + @Field("incomeTeam") + private BigDecimal incomeTeam; // 鏀跺叆-鍥㈤槦- + + @Field("orderNum") + private Integer orderNum; // 璁㈠崟鏁伴噺-鎴戠殑 + + @Field("orderNumTeam") + private Integer orderNumTeam; // 璁㈠崟鏁伴噺-鍥㈤槦 + + @Field("updateTime") + private Date updateTime; // 鏇存柊鏃堕棿 + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Long getUid() { + return uid; + } + + public void setUid(Long uid) { + this.uid = uid; + } + + public BigDecimal getIncome() { + return income; + } + + public void setIncome(BigDecimal income) { + this.income = income; + } + + public BigDecimal getIncomeTeam() { + return incomeTeam; + } + + public void setIncomeTeam(BigDecimal incomeTeam) { + this.incomeTeam = incomeTeam; + } + + public Integer getOrderNum() { + return orderNum; + } + + public void setOrderNum(Integer orderNum) { + this.orderNum = orderNum; + } + + public Integer getOrderNumTeam() { + return orderNumTeam; + } + + public void setOrderNumTeam(Integer orderNumTeam) { + this.orderNumTeam = orderNumTeam; + } + + public Date getCountDay() { + return countDay; + } + + public void setCountDay(Date countDay) { + this.countDay = countDay; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + public String getSourceType() { + return sourceType; + } + + public void setSourceType(String sourceType) { + this.sourceType = sourceType; + } + +} diff --git a/fanli/src/main/java/com/yeshi/fanli/entity/push/PushGoods.java b/fanli/src/main/java/com/yeshi/fanli/entity/push/PushGoods.java index 249e895..ee68ff9 100644 --- a/fanli/src/main/java/com/yeshi/fanli/entity/push/PushGoods.java +++ b/fanli/src/main/java/com/yeshi/fanli/entity/push/PushGoods.java @@ -13,7 +13,11 @@ public final static int STATE_INIT = 0; public final static int STATE_SUCCESS = 1; public final static int STATE_FAIL = 2; - + + public final static int TYPE_GOODS = 1; + public final static int TYPE_ACTIVITY = 2; + + @Column(name = "pg_id") private Long id; @@ -65,9 +69,17 @@ @Column(name = "pg_updatetime") private Date updateTime; - - // 鏄惁瀹氭椂 - private Boolean timeTask; + + // 绫诲瀷 + @Column(name = "pg_type") + private Integer type; + // 鍏朵粬鍙傛暟 + @Column(name = "pg_other_id") + private String otherId; + // 娴忚娆℃暟 + @Column(name = "pg_scan_num") + private Integer scanNum; + // 瀹氭椂鏃堕棿 private String controlTime_str; @@ -83,8 +95,6 @@ public PushGoods(Long id){ this.id = id; } - - public Long getId() { return id; @@ -214,13 +224,6 @@ this.controlTime = controlTime; } - public Boolean isTimeTask() { - return timeTask; - } - - public void setTimeTask(Boolean timeTask) { - this.timeTask = timeTask; - } public String getControlTime_str() { return controlTime_str; @@ -237,5 +240,29 @@ public void setRemark(String remark) { this.remark = remark; } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public Integer getScanNum() { + return scanNum; + } + + public void setScanNum(Integer scanNum) { + this.scanNum = scanNum; + } + + public String getOtherId() { + return otherId; + } + + public void setOtherId(String otherId) { + this.otherId = otherId; + } } diff --git a/fanli/src/main/java/com/yeshi/fanli/entity/system/ConfigKeyEnum.java b/fanli/src/main/java/com/yeshi/fanli/entity/system/ConfigKeyEnum.java index 8d5d5bf..59db54a 100644 --- a/fanli/src/main/java/com/yeshi/fanli/entity/system/ConfigKeyEnum.java +++ b/fanli/src/main/java/com/yeshi/fanli/entity/system/ConfigKeyEnum.java @@ -162,6 +162,7 @@ openSpeicalAndRelationApply("open_speical_and_relation_apply", "寮�鍚細鍛樿繍钀D涓庢笭閬揑D鐢宠"), hotFunctionUrl("hot_function_url", "鐑棬鍔熻兘閾炬帴"), // 瀛樺湪2涓浉鍚� 瀛樺湪鐗堟湰鍖哄垎 pushGoodsDetails("push_goods_details", "鎺ㄩ�侀〉闈�"), + pushActivityLink("push_activity_link", "鎺ㄩ�佸彂鍦堟椿鍔ㄩ〉闈�"), brandBackgroundPicture("brand_background_picture", "鍝佺墝鑳屾櫙鍥剧墖"), articleHotWords("article_hot_words", "鍔ㄦ��-瀛﹂櫌鏂囩珷鐑悳璇�"), inviteRules("invite_rules", "鍔ㄦ��-瀛﹂櫌鏂囩珷鐑悳璇�"), @@ -188,6 +189,8 @@ vipUpgradeLink("vip_upgrade_link", "鎴戠殑鐣岄潰-浼氬憳鍗囩骇閾炬帴"), orderRebateDescLink("order_rebate_desc_link", "璁㈠崟杩斿埄璁$畻璇存槑閾炬帴"), + + teamStatisticsLink("team_statistics_link", "鎺ㄩ�佸彂鍦堟椿鍔ㄩ〉闈�"), // 骞冲彴瑙勫垯 platformRule("platform_rule_link", "骞冲彴瑙勫垯"); diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/ExtractMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/ExtractMapper.xml index 3ceb70e..8cf3a70 100644 --- a/fanli/src/main/java/com/yeshi/fanli/mapping/ExtractMapper.xml +++ b/fanli/src/main/java/com/yeshi/fanli/mapping/ExtractMapper.xml @@ -22,8 +22,33 @@ <association property="system" column="sid" select="com.yeshi.fanli.dao.mybatis.BusinessSystemMapper.selectByPrimaryKey"> </association> - </resultMap> + + + <resultMap id="SimplMap" type="com.yeshi.fanli.entity.bus.user.Extract"> + <id column="id" property="id" jdbcType="BIGINT" /> + <result column="account" property="account" jdbcType="VARCHAR" /> + <result column="extractTime" property="extractTime" jdbcType="BIGINT" /> + <result column="receiveTime" property="receiveTime" jdbcType="TIMESTAMP" /> + <result column="ip" property="ip" jdbcType="VARCHAR" /> + <result column="money" property="money" jdbcType="DECIMAL" /> + <result column="name" property="name" jdbcType="VARCHAR" /> + <result column="reason" property="reason" jdbcType="VARCHAR" /> + <result column="state" property="state" jdbcType="INTEGER" /> + <result column="type" property="type" jdbcType="INTEGER" /> + <result column="adminId" property="adminId" jdbcType="BIGINT" /> + + <association column="uid" property="userInfo" javaType="com.yeshi.fanli.entity.bus.user.UserInfo"> + <id column="uid" property="id" jdbcType="BIGINT" /> + </association> + + <association column=""sid"" property="system" javaType="com.yeshi.fanli.entity.system.BusinessSystem"> + <id column="sid" property="id" jdbcType="BIGINT" /> + </association> + </resultMap> + + + <sql id="Base_Column_List"> id,account,extractTime,ip,money,name,reason,state,type,uid,sid,adminId,receiveTime </sql> @@ -428,4 +453,17 @@ </select> + <select id="getExtractSucceedRecord" resultMap="SimplMap"> + SELECT * FROM yeshi_ec_extract t + WHERE t.`uid` = #{uid} AND t.`state` = 1 + ORDER BY t.`id` DESC + LIMIT #{start},#{count} + </select> + + + <select id="countExtractSucceedRecord" resultType="Long"> + SELECT COUNT(t.`id`) FROM yeshi_ec_extract t + WHERE t.`uid` = 389677 AND t.`state` = 1 + </select> + </mapper> \ No newline at end of file diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/homemodule/SpecialExtraMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/homemodule/SpecialExtraMapper.xml new file mode 100644 index 0000000..585a12f --- /dev/null +++ b/fanli/src/main/java/com/yeshi/fanli/mapping/homemodule/SpecialExtraMapper.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + +<mapper namespace="com.yeshi.fanli.dao.mybatis.homemodule.SpecialExtraMapper"> + <resultMap id="BaseResultMap" type="com.yeshi.fanli.entity.bus.homemodule.SpecialExtra"> + <id column="se_id" property="id" jdbcType="BIGINT"/> + <result column="se_need_spin" property="needSpin" jdbcType="BOOLEAN"/> + <result column="se_comment" property="comment" jdbcType="VARCHAR"/> + <result column="se_createtime" property="createtime" jdbcType="TIMESTAMP"/> + <result column="se_updatetime" property="updatetime" jdbcType="TIMESTAMP"/> + </resultMap> + <sql id="Base_Column_List">se_id,se_need_spin,se_comment,se_createtime,se_updatetime</sql> + <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long">select + <include refid="Base_Column_List"/>from yeshi_ec_special_extra where se_id = #{id,jdbcType=BIGINT} + </select> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from yeshi_ec_special_extra where se_id = #{id,jdbcType=BIGINT}</delete> + <insert id="insert" parameterType="com.yeshi.fanli.entity.bus.homemodule.SpecialExtra" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_special_extra (se_id,se_need_spin,se_comment,se_createtime,se_updatetime) values (#{id,jdbcType=BIGINT},#{needSpin,jdbcType=BOOLEAN},#{comment,jdbcType=VARCHAR},#{createtime,jdbcType=TIMESTAMP},#{updatetime,jdbcType=TIMESTAMP})</insert> + <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.bus.homemodule.SpecialExtra" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_special_extra + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null">se_id,</if> + <if test="needSpin != null">se_need_spin,</if> + <if test="comment != null">se_comment,</if> + <if test="createtime != null">se_createtime,</if> + <if test="updatetime != null">se_updatetime,</if> + </trim>values + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null">#{id,jdbcType=BIGINT},</if> + <if test="needSpin != null">#{needSpin,jdbcType=BOOLEAN},</if> + <if test="comment != null">#{comment,jdbcType=VARCHAR},</if> + <if test="createtime != null">#{createtime,jdbcType=TIMESTAMP},</if> + <if test="updatetime != null">#{updatetime,jdbcType=TIMESTAMP},</if> + </trim> + </insert> + <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.bus.homemodule.SpecialExtra">update yeshi_ec_special_extra set se_need_spin = #{needSpin,jdbcType=BOOLEAN},se_comment = #{comment,jdbcType=VARCHAR},se_createtime = #{createtime,jdbcType=TIMESTAMP},se_updatetime = #{updatetime,jdbcType=TIMESTAMP} where se_id = #{id,jdbcType=BIGINT}</update> + <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.bus.homemodule.SpecialExtra">update yeshi_ec_special_extra + <set> + <if test="needSpin != null">se_need_spin=#{needSpin,jdbcType=BOOLEAN},</if> + <if test="comment != null">se_comment=#{comment,jdbcType=VARCHAR},</if> + <if test="createtime != null">se_createtime=#{createtime,jdbcType=TIMESTAMP},</if> + <if test="updatetime != null">se_updatetime=#{updatetime,jdbcType=TIMESTAMP},</if> + </set> where se_id = #{id,jdbcType=BIGINT} + </update> +</mapper> diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoV2CountMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoV2CountMapper.xml index 6f2b09f..c9770b9 100644 --- a/fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoV2CountMapper.xml +++ b/fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoV2CountMapper.xml @@ -417,4 +417,20 @@ AND DATE_SUB(CURDATE(), INTERVAL #{day} DAY) <![CDATA[<=]]> DATE(v2.`hb_get_time`) </select> + <select id="sumMoneyBySettleTimeAndUid" resultType="BigDecimal"> + SELECT SUM(v2.hb_money) FROM `yeshi_ec_hongbao_order` h + LEFT JOIN (SELECT * FROM `yeshi_ec_hongbao_v2` v WHERE v.`hb_uid` = #{uid}) v2 ON IFNULL(v2.`hb_pid`,v2.`hb_id`) = h.`ho_hongbao_id` + LEFT JOIN `yeshi_ec_common_order` co ON h.`ho_order_id` = co.`co_id` + WHERE v2.`hb_id` IS NOT NULL AND co.`co_settle_time`>=#{minDate} AND co.`co_settle_time`<![CDATA[<]]>#{maxDate} + </select> + + <select id="sumMoneyByANotSettleAndUid" resultType="BigDecimal"> + SELECT SUM(v2.hb_money) FROM `yeshi_ec_hongbao_order` h + LEFT JOIN (SELECT * FROM `yeshi_ec_hongbao_v2` v WHERE v.`hb_uid` = #{uid}) v2 ON IFNULL(v2.`hb_pid`,v2.`hb_id`) = h.`ho_hongbao_id` + LEFT JOIN `yeshi_ec_common_order` co ON h.`ho_order_id` = co.`co_id` + WHERE v2.`hb_id` IS NOT NULL AND co.co_state = 1 + AND DATE_SUB(CURDATE(), INTERVAL 180 DAY) <![CDATA[<=]]> DATE(co.`co_third_create_time`) + </select> + + </mapper> diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml index 2ce61b6..2dc9bde 100644 --- a/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml +++ b/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml @@ -359,4 +359,7 @@ AND DATE_SUB(CURDATE(), INTERVAL #{day} DAY) <![CDATA[<=]]> DATE(d.`co_third_create_time`) GROUP BY d.`co_order_no`,d.`co_source_type`)A </select> + + + </mapper> diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/push/PushGoodsMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/push/PushGoodsMapper.xml index 494f14f..088b6ad 100644 --- a/fanli/src/main/java/com/yeshi/fanli/mapping/push/PushGoodsMapper.xml +++ b/fanli/src/main/java/com/yeshi/fanli/mapping/push/PushGoodsMapper.xml @@ -17,13 +17,16 @@ <result column="pg_push_time" property="pushTime" jdbcType="TIMESTAMP"/> <result column="pg_createtime" property="createTime" jdbcType="TIMESTAMP"/> <result column="pg_updatetime" property="updateTime" jdbcType="TIMESTAMP"/> + <result column="pg_type" property="type" jdbcType="INTEGER"/> + <result column="pg_other_id" property="otherId" jdbcType="VARCHAR"/> + <result column="pg_scan_num" property="scanNum" jdbcType="INTEGER"/> </resultMap> - <sql id="Base_Column_List">pg_id,pg_alert_title,pg_alert_content,pg_title,pg_content,pg_picture,pg_uid,pg_versions,pg_remark,pg_is_push,pg_control_time,pg_push_time,pg_createtime,pg_updatetime</sql> + <sql id="Base_Column_List">pg_id,pg_alert_title,pg_alert_content,pg_title,pg_content,pg_picture,pg_uid,pg_versions,pg_remark,pg_is_push,pg_control_time,pg_push_time,pg_createtime,pg_updatetime,pg_type,pg_other_id,pg_scan_num</sql> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long">select <include refid="Base_Column_List"/>from yeshi_ec_push_goods where pg_id = #{id,jdbcType=BIGINT} </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from yeshi_ec_push_goods where pg_id = #{id,jdbcType=BIGINT}</delete> - <insert id="insert" parameterType="com.yeshi.fanli.entity.push.PushGoods" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_push_goods (pg_id,pg_alert_title,pg_alert_content,pg_title,pg_content,pg_picture,pg_uid,pg_versions,pg_remark,pg_is_push,pg_control_time,pg_push_time,pg_createtime,pg_updatetime) values (#{id,jdbcType=BIGINT},#{alertTitle,jdbcType=VARCHAR},#{alertContent,jdbcType=VARCHAR},#{title,jdbcType=VARCHAR},#{content,jdbcType=VARCHAR},#{picture,jdbcType=VARCHAR},#{uid,jdbcType=BIGINT},#{versions,jdbcType=VARCHAR},#{remark,jdbcType=VARCHAR},#{isPush,jdbcType=INTEGER},#{controlTime,jdbcType=TIMESTAMP},#{pushTime,jdbcType=TIMESTAMP},#{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP})</insert> + <insert id="insert" parameterType="com.yeshi.fanli.entity.push.PushGoods" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_push_goods (pg_id,pg_alert_title,pg_alert_content,pg_title,pg_content,pg_picture,pg_uid,pg_versions,pg_remark,pg_is_push,pg_control_time,pg_push_time,pg_createtime,pg_updatetime,pg_type,pg_other_id,pg_scan_num) values (#{id,jdbcType=BIGINT},#{alertTitle,jdbcType=VARCHAR},#{alertContent,jdbcType=VARCHAR},#{title,jdbcType=VARCHAR},#{content,jdbcType=VARCHAR},#{picture,jdbcType=VARCHAR},#{uid,jdbcType=BIGINT},#{versions,jdbcType=VARCHAR},#{remark,jdbcType=VARCHAR},#{isPush,jdbcType=INTEGER},#{controlTime,jdbcType=TIMESTAMP},#{pushTime,jdbcType=TIMESTAMP},#{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP},#{type,jdbcType=INTEGER},#{otherId,jdbcType=VARCHAR},#{scanNum,jdbcType=INTEGER})</insert> <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.push.PushGoods" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_push_goods <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null">pg_id,</if> @@ -40,6 +43,9 @@ <if test="pushTime != null">pg_push_time,</if> <if test="createTime != null">pg_createtime,</if> <if test="updateTime != null">pg_updatetime,</if> + <if test="type != null">pg_type,</if> + <if test="otherId != null">pg_other_id,</if> + <if test="scanNum != null">pg_scan_num,</if> </trim>values <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null">#{id,jdbcType=BIGINT},</if> @@ -56,9 +62,12 @@ <if test="pushTime != null">#{pushTime,jdbcType=TIMESTAMP},</if> <if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if> <if test="updateTime != null">#{updateTime,jdbcType=TIMESTAMP},</if> + <if test="type != null">#{type,jdbcType=INTEGER},</if> + <if test="otherId != null">#{otherId,jdbcType=VARCHAR},</if> + <if test="scanNum != null">#{scanNum,jdbcType=INTEGER},</if> </trim> </insert> - <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.push.PushGoods">update yeshi_ec_push_goods set pg_alert_title = #{alertTitle,jdbcType=VARCHAR},pg_alert_content = #{alertContent,jdbcType=VARCHAR},pg_title = #{title,jdbcType=VARCHAR},pg_content = #{content,jdbcType=VARCHAR},pg_picture = #{picture,jdbcType=VARCHAR},pg_uid = #{uid,jdbcType=BIGINT},pg_versions = #{versions,jdbcType=VARCHAR},pg_remark = #{remark,jdbcType=VARCHAR},pg_is_push = #{isPush,jdbcType=INTEGER},pg_control_time = #{controlTime,jdbcType=TIMESTAMP},pg_push_time = #{pushTime,jdbcType=TIMESTAMP},pg_createtime = #{createTime,jdbcType=TIMESTAMP},pg_updatetime = #{updateTime,jdbcType=TIMESTAMP} where pg_id = #{id,jdbcType=BIGINT}</update> + <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.push.PushGoods">update yeshi_ec_push_goods set pg_alert_title = #{alertTitle,jdbcType=VARCHAR},pg_alert_content = #{alertContent,jdbcType=VARCHAR},pg_title = #{title,jdbcType=VARCHAR},pg_content = #{content,jdbcType=VARCHAR},pg_picture = #{picture,jdbcType=VARCHAR},pg_uid = #{uid,jdbcType=BIGINT},pg_versions = #{versions,jdbcType=VARCHAR},pg_remark = #{remark,jdbcType=VARCHAR},pg_is_push = #{isPush,jdbcType=INTEGER},pg_control_time = #{controlTime,jdbcType=TIMESTAMP},pg_push_time = #{pushTime,jdbcType=TIMESTAMP},pg_createtime = #{createTime,jdbcType=TIMESTAMP},pg_updatetime = #{updateTime,jdbcType=TIMESTAMP},pg_type = #{type,jdbcType=INTEGER},pg_other_id = #{otherId,jdbcType=VARCHAR},pg_scan_num = #{scanNum,jdbcType=INTEGER} where pg_id = #{id,jdbcType=BIGINT}</update> <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.push.PushGoods">update yeshi_ec_push_goods <set> <if test="alertTitle != null">pg_alert_title=#{alertTitle,jdbcType=VARCHAR},</if> @@ -74,6 +83,9 @@ <if test="pushTime != null">pg_push_time=#{pushTime,jdbcType=TIMESTAMP},</if> <if test="createTime != null">pg_createtime=#{createTime,jdbcType=TIMESTAMP},</if> <if test="updateTime != null">pg_updatetime=#{updateTime,jdbcType=TIMESTAMP},</if> + <if test="type != null">pg_type=#{type,jdbcType=INTEGER},</if> + <if test="otherId != null">pg_other_id=#{otherId,jdbcType=VARCHAR},</if> + <if test="scanNum != null">pg_scan_num=#{scanNum,jdbcType=INTEGER},</if> </set> where pg_id = #{id,jdbcType=BIGINT} </update> <delete id="deleteBatchByPrimaryKey" parameterType="java.util.List"> diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/count/HongBaoV2CountServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/count/HongBaoV2CountServiceImpl.java index 0dfdf88..df705bc 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/count/HongBaoV2CountServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/count/HongBaoV2CountServiceImpl.java @@ -174,4 +174,26 @@ public BigDecimal sumMoneyArrivalByUidAndNearDay(Long uid, int day) { return hongBaoV2CountMapper.sumMoneyArrivalByUidAndNearDay(uid, day); } + + + @Override + public BigDecimal sumMoneyBySettleTimeAndUid(Long uid, Date minDate, Date maxDate) { + BigDecimal money = hongBaoV2CountMapper.sumMoneyBySettleTimeAndUid(uid, minDate, maxDate); + if (money == null) { + money = new BigDecimal(0); + } + return money; + } + + @Override + public BigDecimal sumMoneyByANotSettleAndUid(Long uid) { + BigDecimal money = hongBaoV2CountMapper.sumMoneyByANotSettleAndUid(uid); + if (money == null) { + money = new BigDecimal(0); + } + return money; + } + + + } diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java index adb054c..2ff11ab 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java @@ -1001,7 +1001,7 @@ } @Override - public void saveActivityPic(String pid, ImgInfo imgInfo, MultipartHttpServletRequest fileRequest) + public void saveActivityPic(String pid, ImgInfo imgInfo, String picUrls, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception { if (StringUtil.isNullOrEmpty(pid)) { throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅"); @@ -1010,107 +1010,122 @@ GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid); if (resultObj == null) throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け"); + + if (imgInfo == null || StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) { + throw new GoodsEvaluateException(1, "娲诲姩閾炬帴涓嶈兘涓虹┖"); + } - String videoPic = null; - String activityPic = null; ImgInfo imgVideo = null; - ImgInfo imgactivity = null; + List<String> listDel = new ArrayList<String>(); + List<ImgInfo> listOld = new ArrayList<ImgInfo>(); List<ImgInfo> resultList = resultObj.getImgList(); if (resultList != null && resultList.size() > 0) { for (ImgInfo info : resultList) { - if (info.getType() == ImgEnum.activity) { - activityPic = info.getActivityPic(); - imgactivity = info; - } else { + if (info.getType() == ImgEnum.video) { imgVideo = info; - videoPic = info.getUrl(); + } else { + listOld.add(info); + } + } + } + + // 瑙嗛閮ㄥ垎 + if (fileRequest != null) { + MultipartFile filevideo = fileRequest.getFile("filevideo"); + if (filevideo != null) { + if (StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) { + throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖"); + } + ImgInfo info = uploadVideoPicture(filevideo); + if (info == null) + throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触"); + if (imgVideo != null) { + String url = imgVideo.getUrl(); + if (!StringUtil.isNullOrEmpty(url)) { + listDel.add(url); + } + imgVideo.setUrl(info.getUrl()); + imgVideo.setUrlHD(info.getUrl()); + } else { + imgVideo = new ImgInfo(); + imgVideo.setId(UUID.randomUUID().toString().replace("-", "")); + imgVideo.setLarge(true); + imgVideo.setPid(pid); + imgVideo.setUrl(info.getUrl()); + imgVideo.setUrlHD(info.getUrl()); + imgVideo.setVideoUrl(imgInfo.getVideoUrl()); + imgVideo.setType(ImgEnum.video); + } + imgVideo.setW(info.getW()); + imgVideo.setH(info.getH()); + } + } + + + List<ImgInfo> listImg = new ArrayList<ImgInfo>(); + if (imgVideo != null) { + if (!StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) { + if (imgVideo != null && StringUtil.isNullOrEmpty(imgVideo.getUrl())) { + throw new GoodsEvaluateException(1, "瑙嗛灏侀潰鍥句笉鑳戒负绌�"); + } + imgVideo.setVideoUrl(imgInfo.getVideoUrl()); + listImg.add(imgVideo); + } else { + String url = imgVideo.getUrl(); + if (!StringUtil.isNullOrEmpty(url)) { + listDel.add(url); + } + } + } + + // 缂栬緫鍥剧墖 + List<ImgInfo> tempList = new ArrayList<ImgInfo>(); + if (!StringUtil.isNullOrEmpty(picUrls)) { + String[] pics = picUrls.split(","); + if (pics != null) { + for (int i = 0; i < pics.length; i++) { + String picLink = pics[i]; + if (picLink.startsWith("http")) { + if (listOld != null) { + for (ImgInfo info: listOld) { + if (info.getUrl().equals(picLink)) { + tempList.add(info); + break; + } + } + } + } } } } - int width = 0; - int height = 0; - int width2 = 0; - int height2 = 0; - List<ImgInfo> listImg = new ArrayList<ImgInfo>(); + // 涓婁紶鏂囦欢鏇挎崲 if (fileRequest != null) { - MultipartFile filevideo = fileRequest.getFile("filevideo"); - if (filevideo != null) { - removePicture(videoPic); - - ImgInfo info = uploadVideoPicture(filevideo); - if (info == null) - throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触"); - videoPic = info.getUrl(); - width = info.getW(); - height = info.getH(); - } - - MultipartFile activityfile = fileRequest.getFile("activityfile"); - if (activityfile != null) { - removePicture(activityPic); - InputStream inputStream = activityfile.getInputStream(); - BufferedImage sourceImg = ImageIO.read(inputStream); - width2 = sourceImg.getWidth(); - height2 = sourceImg.getHeight(); - String picLink = uploadPicture(activityfile); - activityPic = picLink; + for (int i = 0; i < 9; i++) { + MultipartFile file = fileRequest.getFile("file" + i); + if (file != null) { + ImgInfo info = uploadVideoPicture(file); + ImgInfo imgInfo0 = new ImgInfo(); + imgInfo0.setId(UUID.randomUUID().toString().replace("-", "")); + imgInfo0.setLarge(false); + imgInfo0.setPid(pid); + imgInfo0.setUrl(info.getUrl()); + imgInfo0.setUrlHD(info.getUrl()); + imgInfo0.setType(ImgEnum.img); + imgInfo0.setW(info.getW()); + imgInfo0.setH(info.getH()); + + if (i < tempList.size()) { + tempList.set(i, imgInfo0); + } else { + tempList.add(imgInfo0); + } + } } } - - if (!StringUtil.isNullOrEmpty(videoPic) || !StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) { - if (imgVideo != null) { - imgVideo.setUrl(videoPic); - imgVideo.setUrlHD(videoPic); - imgVideo.setVideoUrl(imgInfo.getVideoUrl()); - } else { - imgVideo = new ImgInfo(); - imgVideo.setId(UUID.randomUUID().toString().replace("-", "")); - imgVideo.setLarge(true); - imgVideo.setPid(pid); - imgVideo.setUrl(videoPic); - imgVideo.setUrlHD(videoPic); - imgVideo.setVideoUrl(imgInfo.getVideoUrl()); - imgVideo.setType(ImgEnum.video); - } - if (width > 0) { - imgVideo.setW(width); - imgVideo.setH(height); - } else { - imgVideo.setW(imgVideo.getW()); - imgVideo.setH(imgVideo.getH()); - } - listImg.add(imgVideo); - } - - int totalImg = 0; - if (!StringUtil.isNullOrEmpty(activityPic) || !StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) { - if (imgactivity != null) { - imgactivity.setUrl(activityPic); - imgactivity.setUrlHD(activityPic); - imgactivity.setActivityUrl(imgInfo.getActivityUrl()); - } else { - imgactivity = new ImgInfo(); - imgactivity.setId(UUID.randomUUID().toString().replace("-", "")); - imgactivity.setLarge(true); - imgactivity.setPid(pid); - imgactivity.setUrl(activityPic); - imgactivity.setUrlHD(activityPic); - imgactivity.setActivityUrl(imgInfo.getActivityUrl()); - imgactivity.setType(ImgEnum.activity); - } - if (width2 > 0) { - imgactivity.setW(width2); - imgactivity.setH(height2); - } else { - imgactivity.setW(imgactivity.getW()); - imgactivity.setH(imgactivity.getH()); - } - listImg.add(imgactivity); - totalImg++; - } - + int lineNum = 0; + int totalImg = tempList.size(); if (totalImg > 0) { if (totalImg == 1) { lineNum = 1; @@ -1122,10 +1137,39 @@ lineNum = 3; } } - + + if (tempList.size() > 0) { + listImg.addAll(tempList); + } + + // 娓呯悊鑰佸浘鐗� + if (listOld != null && listOld.size() > 0) { + for (ImgInfo infoOld: listOld) { + boolean del = true; + String oldPic = infoOld.getUrl(); + for (ImgInfo info : listImg) { + if (info.getUrl().equals(oldPic)) { + del = false; + } + } + if (del) + listDel.add(infoOld.getUrl()); + } + } + + resultObj.setJumpLink(imgInfo.getActivityUrl()); resultObj.setLineNum(lineNum); resultObj.setImgList(listImg); goodsEvaluateDao.save(resultObj); + + // 鍒犻櫎鍥剧墖 + if (listDel.size() > 0) { + for (String url : listDel) { + if (url.contains(FilePathEnum.goodsEvaluate.getPath())) { + removePicture(url); + } + } + } } @Override @@ -1458,13 +1502,13 @@ } @Override - public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType) { - return goodsEvaluateDao.query(start, count, key, state, dynamicType); + public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType, String typeEnum) { + return goodsEvaluateDao.query(start, count, key, state, dynamicType, typeEnum); } @Override - public long count(String key, Integer state, int dynamicType) { - return goodsEvaluateDao.count(key, state, dynamicType); + public long count(String key, Integer state, int dynamicType, String typeEnum) { + return goodsEvaluateDao.count(key, state, dynamicType, typeEnum); } @Override diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialExtraServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialExtraServiceImpl.java new file mode 100644 index 0000000..50bdaa2 --- /dev/null +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialExtraServiceImpl.java @@ -0,0 +1,60 @@ +package com.yeshi.fanli.service.impl.homemodule; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import com.yeshi.fanli.dao.mybatis.homemodule.SpecialExtraMapper; +import com.yeshi.fanli.entity.bus.homemodule.SpecialExtra; +import com.yeshi.fanli.exception.goods.ConvertLinkExceptionException; +import com.yeshi.fanli.exception.homemodule.SpecialException; +import com.yeshi.fanli.service.inter.homemodule.SpecialExtraService; +import com.yeshi.fanli.service.manger.goods.ConvertLinkManager; +import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.StringUtil; + +@Service +public class SpecialExtraServiceImpl implements SpecialExtraService { + + @Resource + private SpecialExtraMapper specialExtraMapper; + + @Resource + private ConvertLinkManager convertLinkManager; + + @Override + public void saveExtraInfo(SpecialExtra record) throws SpecialException { + if (record == null || record.getId() == null) + return; + + if (!StringUtil.isNullOrEmpty(record.getComment())) { + if (record.getNeedSpin() == null) + record.setNeedSpin(false); + + if (record.getNeedSpin()) { + try { + convertLinkManager.convertLinkFromText(record.getComment(), Constant.LINK_TOKEN_VERIFY_UID, true); + } catch (ConvertLinkExceptionException e) { + if (ConvertLinkExceptionException.CODE_NONE != e.getCode()) { + throw new SpecialException(1, "鍖呭惈涓嶅彲杞摼鐨勫彛浠や笌閾炬帴"); + } + } catch (Exception e) { + throw new SpecialException(1, "鍖呭惈涓嶅彲杞摼鐨勫彛浠や笌閾炬帴"); + } + } + } + + SpecialExtra extra = specialExtraMapper.selectByPrimaryKey(record.getId()); + if (extra == null) { + specialExtraMapper.insertSelective(record); + } else { + specialExtraMapper.updateByPrimaryKeySelective(record); + } + } + + @Override + public SpecialExtra selectByPrimaryKey(Long id) { + return specialExtraMapper.selectByPrimaryKey(id); + } + +} diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialServiceImpl.java index 8db309c..8a1cc30 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialServiceImpl.java @@ -12,6 +12,7 @@ import javax.annotation.Resource; +import org.apache.commons.beanutils.PropertyUtils; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -26,6 +27,7 @@ import com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl; import com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl.AdActivityType; import com.yeshi.fanli.entity.bus.homemodule.Special; +import com.yeshi.fanli.entity.bus.homemodule.SpecialExtra; import com.yeshi.fanli.entity.common.JumpDetailV2; import com.yeshi.fanli.entity.system.ConfigKeyEnum; import com.yeshi.fanli.exception.banner.SwiperPictureException; @@ -35,12 +37,14 @@ import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.homemodule.AdActivityVersionControlService; import com.yeshi.fanli.service.inter.homemodule.SpecialCardService; +import com.yeshi.fanli.service.inter.homemodule.SpecialExtraService; import com.yeshi.fanli.service.inter.homemodule.SpecialPlaceService; import com.yeshi.fanli.service.inter.homemodule.SpecialService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.FilePathEnum; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.VersionUtil; +import com.yeshi.fanli.vo.homemodule.SpecialVO; import net.sf.json.JSONObject; @@ -56,6 +60,9 @@ @Resource private SpecialCardService specialCardService; + @Resource + private SpecialExtraService specialExtraService; + @Resource private JumpDetailV2Service jumpDetailV2Service; @@ -75,7 +82,7 @@ @Override public void saveObject(MultipartFile file, MultipartFile file2, MultipartFile file3, Special record, - String jumpType) throws SpecialException, Exception { + String jumpType, SpecialExtra extra) throws SpecialException, Exception { Long cardId = record.getCardId(); if (cardId == null) { @@ -149,6 +156,8 @@ record.setUpdatetime(new Date()); specialMapper.insert(record); + extra.setId(record.getId()); + Special s = new Special(); s.setId(record.getId()); s.setOrderby(Integer.parseInt(s.getId() + "")); @@ -213,7 +222,12 @@ record.setUpdatetime(new Date()); specialMapper.updateByPrimaryKey(record); + + extra.setId(record.getId()); } + + // 娣诲姞琛ュ厖淇℃伅 + specialExtraService.saveExtraInfo(extra); } /** @@ -374,61 +388,84 @@ } @Override - public List<Special> listQueryByCard(long start, int count, Long card, String key, Integer sex) { - + public List<SpecialVO> listQueryByCard(long start, int count, Long card, String key, Integer sex) { List<Special> list = specialMapper.listQueryByCard(start, count, card, key, sex); - if (list == null || list.size() == 0) { - return list; + if (list == null) { + return null; } - // 璺宠浆閾炬帴 + List<SpecialVO> listvo = new ArrayList<SpecialVO>(); for (Special special : list) { - if (special.getState() != null && special.getState().longValue() == 0) { - special.setState(1L); - } else { - special.setState(0L); + SpecialVO specialVO = new SpecialVO(); + try { + PropertyUtils.copyProperties(specialVO, special); + } catch (Exception e) { + e.printStackTrace(); + continue; } - Date startTime = special.getStartTime(); - Date endTime = special.getEndTime(); + if (specialVO.getState() != null && specialVO.getState().longValue() == 0) { + specialVO.setState(1L); + } else { + specialVO.setState(0L); + } + + Date startTime = specialVO.getStartTime(); + Date endTime = specialVO.getEndTime(); if (startTime == null && endTime == null) { - special.setStartTime_str(""); - special.setEndTime_str(""); + specialVO.setStartTime_str(""); + specialVO.setEndTime_str(""); } else { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); if (startTime == null) { - special.setStartTime_str(""); + specialVO.setStartTime_str(""); } else { - special.setStartTime_str(sdf.format(startTime)); + specialVO.setStartTime_str(sdf.format(startTime)); } if (endTime == null) { - special.setEndTime_str(""); + specialVO.setEndTime_str(""); } else { - special.setEndTime_str(sdf.format(endTime)); + specialVO.setEndTime_str(sdf.format(endTime)); } } - String params = special.getParams(); + String params = specialVO.getParams(); if (StringUtil.isNullOrEmpty(params)) { - special.setParams(""); + specialVO.setParams(""); } - String remark = special.getRemark(); + String remark = specialVO.getRemark(); if (StringUtil.isNullOrEmpty(remark)) { - special.setRemark(""); + specialVO.setRemark(""); } - JumpDetailV2 jumpDetail = special.getJumpDetail(); + JumpDetailV2 jumpDetail = specialVO.getJumpDetail(); if (jumpDetail == null) { // 榛樿鏈�夋嫨 JumpDetailV2 jumpDetailV2 = new JumpDetailV2(); jumpDetailV2.setName("-鏈�夋嫨-"); jumpDetailV2.setType("default"); - special.setJumpDetail(jumpDetailV2); + specialVO.setJumpDetail(jumpDetailV2); } + + // 琛ュ厖淇℃伅 + SpecialExtra extra = specialExtraService.selectByPrimaryKey(specialVO.getId()); + if (extra == null) { + specialVO.setNeedSpin(false); + specialVO.setComment(""); + } else { + specialVO.setNeedSpin(extra.getNeedSpin()); + if (StringUtil.isNullOrEmpty(extra.getComment())) { + specialVO.setComment(""); + } else { + specialVO.setComment(extra.getComment()); + } + } + + listvo.add(specialVO); } - return list; + return listvo; } @Override diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java index f97f412..1646b47 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java @@ -1350,4 +1350,15 @@ } } + + @Override + public List<Extract> getExtractSucceedRecord(int page, int pageSize, Long uid) { + return extractMapper.getExtractSucceedRecord((page-1)*pageSize, pageSize, uid); + } + + @Override + public long countExtractSucceedRecord(Long uid) { + Long count = extractMapper.countExtractSucceedRecord(uid); + return count== null? 0 : count; + } } diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneyDailyCountServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneyDailyCountServiceImpl.java new file mode 100644 index 0000000..a3c283e --- /dev/null +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneyDailyCountServiceImpl.java @@ -0,0 +1,53 @@ +package com.yeshi.fanli.service.impl.order; + +import java.util.Date; +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import com.yeshi.fanli.dao.order.OrderMoneyDailyCountDao; +import com.yeshi.fanli.entity.order.OrderMoneyDailyCount; +import com.yeshi.fanli.service.inter.order.OrderMoneyDailyCountService; +import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.TimeUtil; +import com.yeshi.fanli.util.annotation.RequestSerializableByKeyService; + +@Service +public class OrderMoneyDailyCountServiceImpl implements OrderMoneyDailyCountService { + + @Resource + private OrderMoneyDailyCountDao orderMoneyDailyCountDao; + + + @Override + @RequestSerializableByKeyService(key = "#record.uid") + public void saveDailyCount(OrderMoneyDailyCount record) { + if (record.getUid() == null || record.getCountDay() == null || StringUtil.isNullOrEmpty(record.getSourceType())) { + return; // 鍙傛暟涓嶅叏 + } + String gernalTime = TimeUtil.getGernalTime(record.getCountDay().getTime()); + String id = StringUtil.Md5(record.getUid() + record.getSourceType() + gernalTime); + + // id + record.setId(id); + // 缁熻鏃ユ湡-骞存湀鏃� + record.setCountDay(new Date(TimeUtil.convertDateToTemp(gernalTime))); + + OrderMoneyDailyCount dailyCount = orderMoneyDailyCountDao.getById(id); + if (dailyCount == null) { + // 閫夋嫨鎬ф洿鏂� + orderMoneyDailyCountDao.save(record); + } else { + // 閫夋嫨鎬ф彃鍏� + orderMoneyDailyCountDao.updateSelective(record); + } + } + + @Override + public List<OrderMoneyDailyCount> query(Long uid, Date minDay, Date maxDay) { + return orderMoneyDailyCountDao.query(uid, minDay, maxDay); + } + +} diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/push/PushGoodsServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/push/PushGoodsServiceImpl.java index 936229c..b7c6cbb 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/push/PushGoodsServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/push/PushGoodsServiceImpl.java @@ -12,6 +12,10 @@ import org.springframework.transaction.annotation.Transactional; import com.yeshi.fanli.dao.mybatis.push.PushGoodsMapper; +import com.yeshi.fanli.entity.dynamic.GoodsEvaluate; +import com.yeshi.fanli.entity.dynamic.GoodsEvaluate.EvaluateEnum; +import com.yeshi.fanli.entity.dynamic.ImgInfo; +import com.yeshi.fanli.entity.dynamic.ImgInfo.ImgEnum; import com.yeshi.fanli.entity.goods.CommonGoods; import com.yeshi.fanli.entity.push.PushGoods; import com.yeshi.fanli.entity.push.PushGoodsGroup; @@ -20,6 +24,7 @@ import com.yeshi.fanli.exception.push.PushException; import com.yeshi.fanli.exception.push.PushGoodsException; import com.yeshi.fanli.service.inter.config.ConfigService; +import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService; import com.yeshi.fanli.service.inter.goods.CommonGoodsService; import com.yeshi.fanli.service.inter.push.PushGoodsGroupService; import com.yeshi.fanli.service.inter.push.PushGoodsService; @@ -47,6 +52,11 @@ @Resource private PushGoodsGroupService pushGoodsGroupService; + + @Resource + private GoodsEvaluateService goodsEvaluateService; + + @Override public int deleteByPrimaryKey(Long id) throws PushGoodsException { @@ -81,23 +91,14 @@ @Override @Transactional(rollbackFor=Exception.class) public void save(PushGoods record, List<Long> goodsIds) throws PushGoodsException, Exception { - // 瀹氭椂鏃堕棿 - Boolean timeTask = record.isTimeTask(); - if (timeTask != null && timeTask) { - String controlTime_str = record.getControlTime_str(); - if (controlTime_str == null || controlTime_str.trim().length() == 0) { - throw new PushGoodsException(1, "棰勮鏃堕棿涓嶈兘涓虹┖"); - } - + if (StringUtil.isNullOrEmpty(record.getControlTime_str())) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - controlTime_str = controlTime_str.replaceAll("T", " "); - record.setControlTime(format.parse(controlTime_str)); - } else { - record.setControlTime(null); + record.setControlTime(format.parse(record.getControlTime_str().replaceAll("T", " "))); } record.setIsPush(PushGoods.STATE_INIT); + record.setType(PushGoods.TYPE_GOODS); boolean isAdd = false; // 鎺ㄩ�乮d @@ -130,7 +131,6 @@ @Transactional(rollbackFor=Exception.class) public void saveGoodsInfo(boolean isAdd, Long pushId, List<Long> goodsIds) throws Exception { - if (goodsIds == null || goodsIds.size() == 0) { if (!isAdd) { pushGoodsGroupService.deleteByPushId(pushId); @@ -156,16 +156,12 @@ } catch (Exception e) { e.printStackTrace(); } - } /* 淇敼鏃跺垹闄� 閮ㄥ垎 */ if (!isAdd) { - List<Long> listdelete = new ArrayList<Long>(); - List<PushGoodsGroup> listGroup = pushGoodsGroupService.selectByPushId(pushId); - if (listGroup != null && listGroup.size() > 0) { for (PushGoodsGroup group : listGroup) { Long groupId = group.getId(); @@ -199,11 +195,86 @@ pushGoodsGroup.setCommonGoods(new CommonGoods(cid)); listAdd.add(pushGoodsGroup); } - pushGoodsGroupService.insertBatch(listAdd); } - } + + + @Override + @Transactional(rollbackFor=Exception.class) + public void saveInfo(PushGoods record) throws PushGoodsException, Exception { + if (StringUtil.isNullOrEmpty(record.getOtherId())) { + throw new PushGoodsException(1, "鐩稿叧鍐呭ID涓嶈兘涓虹┖"); + } + + if (StringUtil.isNullOrEmpty(record.getTitle())) { + throw new PushGoodsException(1, "鏍囬涓嶈兘涓虹┖"); + } + + if (StringUtil.isNullOrEmpty(record.getContent())) { + throw new PushGoodsException(1, "鍐呭涓嶈兘涓虹┖"); + } + + if (record.getType() == null) { + throw new PushGoodsException(1, "鎺ㄩ�佺被鍨嬩笉鑳戒负绌�"); + } + + if (record.getType() == PushGoods.TYPE_ACTIVITY) { + GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(record.getOtherId()); + if (goodsEvaluate == null) { + throw new PushGoodsException(1, "鍙戝湀娲诲姩淇℃伅涓嶅瓨鍦�"); + } + + if (goodsEvaluate.getType() != EvaluateEnum.activity) { + throw new PushGoodsException(1, "璇ュ唴瀹归潪鍙戝湀娲诲姩淇℃伅"); + } + + String picUrl = null; + List<ImgInfo> imgList = goodsEvaluate.getImgList(); + if (imgList != null && imgList.size() > 0) { + for (ImgInfo imgInfo: imgList) { + if (imgInfo.getType() == ImgEnum.img && !StringUtil.isNullOrEmpty(imgInfo.getUrl())) { + picUrl = imgInfo.getUrl(); + } + } + } + if (StringUtil.isNullOrEmpty(picUrl)) { + throw new PushGoodsException(1, "璇ラ潪鍙戝湀娲诲姩鏃犲浘鐗囦俊鎭�"); + } + record.setPicture(picUrl); + } + + + // 瀹氭椂鏃堕棿 + if (StringUtil.isNullOrEmpty(record.getControlTime_str())) { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + record.setControlTime(format.parse(record.getControlTime_str().replaceAll("T", " "))); + } + // 娴忚鏁伴噺闅忔満 + if (record.getScanNum() == null || record.getScanNum() <= 0) + record.setScanNum((int) (Math.random() * 5000) + 1000); + + record.setIsPush(PushGoods.STATE_INIT); + record.setAlertTitle(record.getTitle()); + record.setAlertContent(record.getContent()); + + Long id = record.getId(); + if (id == null) { + record.setCreateTime(new Date()); + pushGoodsMapper.insert(record); + } else { + PushGoods current = pushGoodsMapper.selectByPrimaryKey(id); + if (current == null) { + throw new PushGoodsException(1, "璇ヨ褰曞凡涓嶅瓨鍦�"); + } + record.setCreateTime(current.getCreateTime()); + record.setScanNum(current.getScanNum()); + record.setUpdateTime(new Date()); + pushGoodsMapper.updateByPrimaryKey(record); + } + } + + @Override @Transactional(rollbackFor=Exception.class) @@ -292,15 +363,102 @@ @Override public void executePush(PushGoods pushGoods) throws Exception, PushGoodsException, PushException { - - Long id = pushGoods.getId(); - - String alertTitle = pushGoods.getAlertTitle(); - String alertContent = pushGoods.getAlertContent(); - if (StringUtil.isNullOrEmpty(alertTitle) || StringUtil.isNullOrEmpty(alertContent)) { + if (StringUtil.isNullOrEmpty(pushGoods.getTitle()) || StringUtil.isNullOrEmpty(pushGoods.getContent())) { throw new PushGoodsException(1, "鎺ㄩ�佹爣棰樺強鍐呭涓嶈兘涓虹┖"); } - + + if (StringUtil.isNullOrEmpty(pushGoods.getVersions())) { + throw new PushGoodsException(1, "鎺ㄩ�佺増鏈笉鑳戒负绌�"); + } + + if (pushGoods.getType() == null || pushGoods.getType() == PushGoods.TYPE_GOODS) { + executePushGoods(pushGoods); // 鎺ㄩ�佸晢鍝� + } else if (pushGoods.getType() == PushGoods.TYPE_ACTIVITY) { + executePushActivity(pushGoods); // 鎺ㄩ�佹椿鍔� + } + } + + + /** + * 鎺ㄩ�佹椿鍔� + * @param pushGoods + * @throws Exception + * @throws PushGoodsException + * @throws PushException + */ + private void executePushActivity(PushGoods pushGoods) throws Exception, PushGoodsException, PushException { + String otherId = pushGoods.getOtherId(); + if (StringUtil.isNullOrEmpty(otherId)) { + throw new PushGoodsException(1, "娲诲姩id涓嶈兘涓虹┖"); + } + + GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(otherId); + if (goodsEvaluate == null) { + throw new PushGoodsException(1, "鍙戝湀娲诲姩淇℃伅涓嶅瓨鍦�"); + } + + if (goodsEvaluate.getType() != EvaluateEnum.activity) { + throw new PushGoodsException(1, "璇ュ唴瀹归潪鍙戝湀娲诲姩淇℃伅"); + } + + String picUrl = null; + List<ImgInfo> imgList = goodsEvaluate.getImgList(); + if (imgList != null && imgList.size() > 0) { + for (ImgInfo imgInfo: imgList) { + if (imgInfo.getType() == ImgEnum.img && !StringUtil.isNullOrEmpty(imgInfo.getUrl())) { + picUrl = imgInfo.getUrl(); + } + } + } + + if (StringUtil.isNullOrEmpty(picUrl)) { + throw new PushGoodsException(1, "璇ラ潪鍙戝湀娲诲姩鏃犲浘鐗囦俊鎭�"); + } + + + String versions = pushGoods.getVersions(); + JSONObject json = JSONObject.fromObject(versions); + + String versionsIOS = json.getString("IOS"); + List<String> listIOS = new ArrayList<String>(); + if (versionsIOS != null && versionsIOS.trim().length() > 0) { + if (versionsIOS.contains("鍏ㄦ帹")) { + listIOS = null; + } else { + listIOS = Arrays.asList(versionsIOS.split(",")); + } + } + + List<String> listAndroid = new ArrayList<String>(); + String versionsAndroid = json.getString("Android"); + if (versionsAndroid != null && versionsAndroid.trim().length() > 0) { + if (versionsAndroid.contains("鍏ㄦ帹")) { + listAndroid = null; + } else { + listAndroid = Arrays.asList(versionsAndroid.split(",")); + } + } + + String url = configService.get(ConfigKeyEnum.pushActivityLink.getKey()); + if (StringUtil.isNullOrEmpty(url)) { + throw new PushGoodsException(1, "鎺ㄩ�侀〉闈㈤摼鎺ヤ笉瀛樺湪"); + } + url = url + "?id=" + pushGoods.getId() + "&otherId=" + pushGoods.getOtherId(); + + // h娲诲姩鍏ㄦ帹 + pushService.pushUrl(pushGoods.getUid(), pushGoods.getTitle(), pushGoods.getContent(), url, listIOS, listAndroid); + } + + + /** + * 鎺ㄩ�佸晢鍝� + * @param pushGoods + * @throws Exception + * @throws PushGoodsException + * @throws PushException + */ + private void executePushGoods(PushGoods pushGoods) throws Exception, PushGoodsException, PushException { + Long id = pushGoods.getId(); List<PushGoodsGroup> goodsList = pushGoodsGroupService.getAllInfoByPushId(id); if (goodsList == null || goodsList.size() == 0) { throw new PushGoodsException(1, "鎺ㄩ�佹棤鍟嗗搧,璇峰畬鍠勬暟鎹�"); @@ -342,9 +500,7 @@ Long goodsId = commonGoods.getGoodsId(); String url = "https://item.taobao.com/item.htm?id=" + goodsId; - - pushService.pushGoods(pushGoods.getUid(), alertTitle, alertContent, url,listIOS, listAndroid); - + pushService.pushGoods(pushGoods.getUid(), pushGoods.getTitle(), pushGoods.getContent(), url,listIOS, listAndroid); } else { /* 澶氫釜鍟嗗搧鎺ㄩ�� */ String url = configService.get(ConfigKeyEnum.pushGoodsDetails.getKey()); @@ -353,9 +509,9 @@ } // 鐢熸垚閾炬帴 url = url + "?id=" + id; - - pushService.pushUrl(pushGoods.getUid(), alertTitle, alertContent, url, listIOS, listAndroid); + pushService.pushUrl(pushGoods.getUid(), pushGoods.getTitle(), pushGoods.getContent(), url, listIOS, listAndroid); } } + } diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserCustomSettingsServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserCustomSettingsServiceImpl.java index 9f1d837..791f0d3 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserCustomSettingsServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserCustomSettingsServiceImpl.java @@ -6,6 +6,7 @@ import javax.annotation.Resource; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import com.yeshi.fanli.dao.mybatis.user.UserCustomSettingsMapper; import com.yeshi.fanli.entity.bus.user.UserCustomSettings; @@ -22,6 +23,7 @@ private UserCustomSettingsMapper userCustomSettingsMapper; @Override + @Transactional public void saveModuleState(Long uid, String type, Integer state) throws UserCustomSettingsException { if (uid == null || type == null || state == null || state > 1 || state < 0) { throw new UserCustomSettingsException(1, "浼犻�掑弬鏁颁笉姝g‘"); @@ -41,7 +43,7 @@ } else if (type.equals(UserSettingTypeEnum.openSpreadHongBao.name())) { mineTypeNum = UserSettingTypeEnum.openSpreadHongBao; } else if (type.equals(UserSettingTypeEnum.noDisplayPhoneNum.name())) { - mineTypeNum = UserSettingTypeEnum.noDisplayPhoneNum; + mineTypeNum = UserSettingTypeEnum.noDisplayPhoneNum; } else { throw new UserCustomSettingsException(1, "鍙傛暟绫诲瀷涓嶅尮閰�"); } @@ -64,7 +66,6 @@ settings.setCreateTime(new Date()); userCustomSettingsMapper.insertSelective(settings); } - } @Override @@ -72,13 +73,11 @@ if (uid == null) { throw new UserCustomSettingsException(1, "uid涓嶈兘涓虹┖"); } - return userCustomSettingsMapper.getSettingsByUid(uid); } @Override public UserCustomSettings getSettingsByUidAndType(Long uid, String type) throws UserCustomSettingsException { - if (uid == null || type == null || type.trim().length() == 0) { throw new UserCustomSettingsException(1, "浼犻�掔殑鍙傛暟涓嶈兘涓虹┖"); } @@ -117,7 +116,7 @@ } else if (typeEnum.equals(UserSettingTypeEnum.openSpreadHongBao)) { userSettingsVO.setOpenSpreadHongBao(state); } else if (typeEnum.equals(UserSettingTypeEnum.noDisplayPhoneNum)) { - userSettingsVO.setOpenSpreadHongBao(state); + userSettingsVO.setNoDisplayPhoneNum(state); } } } diff --git a/fanli/src/main/java/com/yeshi/fanli/service/inter/count/HongBaoV2CountService.java b/fanli/src/main/java/com/yeshi/fanli/service/inter/count/HongBaoV2CountService.java index 1a745ee..eb69a6b 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/inter/count/HongBaoV2CountService.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/inter/count/HongBaoV2CountService.java @@ -207,6 +207,23 @@ * @param day * @return */ - public BigDecimal sumMoneyArrivalByUidAndNearDay(Long uid, int day); + public BigDecimal sumMoneyArrivalByUidAndNearDay(Long uid, int day); + + /** + * 缁熻鏀惰揣閲戦 + * @param uid + * @param minDate + * @param maxDate + * @return + */ + public BigDecimal sumMoneyBySettleTimeAndUid(Long uid, Date minDate, Date maxDate); + + + /** + * 180澶╁唴鏈敹璐х殑閲戦 + * @param uid + * @return + */ + public BigDecimal sumMoneyByANotSettleAndUid(Long uid); } diff --git a/fanli/src/main/java/com/yeshi/fanli/service/inter/dynamic/GoodsEvaluateService.java b/fanli/src/main/java/com/yeshi/fanli/service/inter/dynamic/GoodsEvaluateService.java index 3a974d3..2bb7781 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/inter/dynamic/GoodsEvaluateService.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/inter/dynamic/GoodsEvaluateService.java @@ -43,9 +43,9 @@ * @param state * @return */ - public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType); + public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType, String typeEnum); - public long count(String key, Integer state,int dynamicType); + public long count(String key, Integer state,int dynamicType, String typeEnum); /** @@ -92,7 +92,7 @@ public void saveCurrencyCoupon(String pid, int kind, CommentInfo commentInfo) throws GoodsEvaluateException, Exception; - public void saveActivityPic(String pid, ImgInfo imgInfo, MultipartHttpServletRequest fileRequest) + public void saveActivityPic(String pid, ImgInfo imgInfo, String picUrls, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception; diff --git a/fanli/src/main/java/com/yeshi/fanli/service/inter/homemodule/SpecialExtraService.java b/fanli/src/main/java/com/yeshi/fanli/service/inter/homemodule/SpecialExtraService.java new file mode 100644 index 0000000..89b86a4 --- /dev/null +++ b/fanli/src/main/java/com/yeshi/fanli/service/inter/homemodule/SpecialExtraService.java @@ -0,0 +1,27 @@ +package com.yeshi.fanli.service.inter.homemodule; + +import com.yeshi.fanli.entity.bus.homemodule.SpecialExtra; +import com.yeshi.fanli.exception.homemodule.SpecialException; + +/** + * 涓撻棰濆 + * + * @author Administrator + * + */ +public interface SpecialExtraService{ + + /** + * 淇濆瓨淇℃伅 + * @param record + */ + public void saveExtraInfo(SpecialExtra record) throws SpecialException; + + /** + * 鏌ヨ + * @param id + * @return + */ + public SpecialExtra selectByPrimaryKey(Long id); + +} diff --git a/fanli/src/main/java/com/yeshi/fanli/service/inter/homemodule/SpecialService.java b/fanli/src/main/java/com/yeshi/fanli/service/inter/homemodule/SpecialService.java index eead433..b0f6d19 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/inter/homemodule/SpecialService.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/inter/homemodule/SpecialService.java @@ -6,7 +6,9 @@ import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.homemodule.Special; +import com.yeshi.fanli.entity.bus.homemodule.SpecialExtra; import com.yeshi.fanli.exception.homemodule.SpecialException; +import com.yeshi.fanli.vo.homemodule.SpecialVO; import net.sf.json.JSONObject; @@ -22,7 +24,7 @@ public Special selectByPrimaryKey(Long id); - public List<Special> listQueryByCard(long start, int count, Long card, String key, Integer sex); + public List<SpecialVO> listQueryByCard(long start, int count, Long card, String key, Integer sex); public long countlistQueryByCard(Long card, String key, Integer sex); @@ -70,7 +72,7 @@ * @throws SpecialException * @throws Exception */ - public void saveObject(MultipartFile file, MultipartFile file2, MultipartFile file3, Special record, String jumpType) throws SpecialException, Exception; + public void saveObject(MultipartFile file, MultipartFile file2, MultipartFile file3, Special record, String jumpType, SpecialExtra extra) throws SpecialException, Exception; /** * 鏇存崲椤哄簭 diff --git a/fanli/src/main/java/com/yeshi/fanli/service/inter/money/extract/ExtractService.java b/fanli/src/main/java/com/yeshi/fanli/service/inter/money/extract/ExtractService.java index 7024cf9..def184b 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/inter/money/extract/ExtractService.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/inter/money/extract/ExtractService.java @@ -138,5 +138,21 @@ public List<String> getAutoExtractOpenIdsTo1212() throws Exception; public List<UserInfo> preAutoUserTo1212() throws Exception; + + /** + * 鑾峰彇鎻愮幇鎴愬姛璁板綍 + * @param page + * @param pageSize + * @param uid + * @return + */ + public List<Extract> getExtractSucceedRecord(int page, int pageSize, Long uid); + + /** + * 缁熻鎻愮幇鎴愬姛璁板綍 + * @param uid + * @return + */ + public long countExtractSucceedRecord(Long uid); } diff --git a/fanli/src/main/java/com/yeshi/fanli/service/inter/order/OrderMoneyDailyCountService.java b/fanli/src/main/java/com/yeshi/fanli/service/inter/order/OrderMoneyDailyCountService.java new file mode 100644 index 0000000..c070b1d --- /dev/null +++ b/fanli/src/main/java/com/yeshi/fanli/service/inter/order/OrderMoneyDailyCountService.java @@ -0,0 +1,25 @@ +package com.yeshi.fanli.service.inter.order; + +import java.util.Date; +import java.util.List; + +import com.yeshi.fanli.entity.order.OrderMoneyDailyCount; + +public interface OrderMoneyDailyCountService { + + /** + * 鏌ヨ + * @param uid + * @param minDay 鍙负绌� + * @param maxDay 鍙负绌� + * @return + */ + public List<OrderMoneyDailyCount> query(Long uid, Date minDay, Date maxDay); + + /** + * 淇濆瓨-鏇存柊淇℃伅 + * @param record + */ + public void saveDailyCount(OrderMoneyDailyCount record); + +} diff --git a/fanli/src/main/java/com/yeshi/fanli/service/inter/push/PushGoodsService.java b/fanli/src/main/java/com/yeshi/fanli/service/inter/push/PushGoodsService.java index 15d2b62..fbff3dc 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/inter/push/PushGoodsService.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/inter/push/PushGoodsService.java @@ -83,5 +83,13 @@ * @throws PushException */ public void handPush(Long id) throws Exception, PushGoodsException, PushException; + + /** + * 淇濆瓨淇℃伅 + * @param record + * @throws PushGoodsException + * @throws Exception + */ + public void saveInfo(PushGoods record) throws PushGoodsException, Exception; } diff --git a/fanli/src/main/java/com/yeshi/fanli/vo/homemodule/SpecialVO.java b/fanli/src/main/java/com/yeshi/fanli/vo/homemodule/SpecialVO.java new file mode 100644 index 0000000..ab9befc --- /dev/null +++ b/fanli/src/main/java/com/yeshi/fanli/vo/homemodule/SpecialVO.java @@ -0,0 +1,32 @@ +package com.yeshi.fanli.vo.homemodule; + +import com.google.gson.annotations.Expose; +import com.yeshi.fanli.entity.bus.homemodule.Special; + +public class SpecialVO extends Special{ + + private static final long serialVersionUID = 1L; + + private Boolean needSpin; + + @Expose + private String comment; + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } + + public Boolean getNeedSpin() { + return needSpin; + } + + public void setNeedSpin(Boolean needSpin) { + this.needSpin = needSpin; + } + + +} diff --git a/fanli/src/main/java/com/yeshi/fanli/vo/money/IncomeDetailVO.java b/fanli/src/main/java/com/yeshi/fanli/vo/money/IncomeDetailVO.java new file mode 100644 index 0000000..0836d40 --- /dev/null +++ b/fanli/src/main/java/com/yeshi/fanli/vo/money/IncomeDetailVO.java @@ -0,0 +1,34 @@ +package com.yeshi.fanli.vo.money; + +import java.math.BigDecimal; + +public class IncomeDetailVO { + private String icon;// 娓犻亾鍥炬爣 + private Integer num; // 璁㈠崟鏁伴噺 + private BigDecimal money;// 閲戦 + + public String getIcon() { + return icon; + } + + public void setIcon(String icon) { + this.icon = icon; + } + + public Integer getNum() { + return num; + } + + public void setNum(Integer num) { + this.num = num; + } + + public BigDecimal getMoney() { + return money; + } + + public void setMoney(BigDecimal money) { + this.money = money; + } + +} diff --git a/fanli/src/main/java/com/yeshi/fanli/vo/money/MoneyPredictVO.java b/fanli/src/main/java/com/yeshi/fanli/vo/money/MoneyPredictVO.java new file mode 100644 index 0000000..5638aac --- /dev/null +++ b/fanli/src/main/java/com/yeshi/fanli/vo/money/MoneyPredictVO.java @@ -0,0 +1,75 @@ +package com.yeshi.fanli.vo.money; + +import java.math.BigDecimal; + +public class MoneyPredictVO { + // 鎬荤殑 + private BigDecimal totalMoney; // 鎬婚浼版敹鐩� + private Integer totalNum; // 鎬讳粯娆捐鍗曟暟锛堢瑪锛� + // 鎴戠殑 + private BigDecimal mineMoney;// 棰勪及鎴戠殑鏀剁泭 + private Integer mineNum;// 浠樻璁㈠崟鏁帮紙绗旓級 + // 鍥㈤槦 + private BigDecimal teamMoney;// 绱鎻愮幇 + private Integer teamNum;// 绱鎻愮幇 + + private String countDate; // 缁熻鏃ユ湡 + + + public BigDecimal getTotalMoney() { + return totalMoney; + } + + public void setTotalMoney(BigDecimal totalMoney) { + this.totalMoney = totalMoney; + } + + public Integer getTotalNum() { + return totalNum; + } + + public void setTotalNum(Integer totalNum) { + this.totalNum = totalNum; + } + + public BigDecimal getMineMoney() { + return mineMoney; + } + + public void setMineMoney(BigDecimal mineMoney) { + this.mineMoney = mineMoney; + } + + public Integer getMineNum() { + return mineNum; + } + + public void setMineNum(Integer mineNum) { + this.mineNum = mineNum; + } + + public BigDecimal getTeamMoney() { + return teamMoney; + } + + public void setTeamMoney(BigDecimal teamMoney) { + this.teamMoney = teamMoney; + } + + public Integer getTeamNum() { + return teamNum; + } + + public void setTeamNum(Integer teamNum) { + this.teamNum = teamNum; + } + + public String getCountDate() { + return countDate; + } + + public void setCountDate(String countDate) { + this.countDate = countDate; + } + +} diff --git a/fanli/src/main/java/com/yeshi/fanli/vo/money/MoneyStatisticVO.java b/fanli/src/main/java/com/yeshi/fanli/vo/money/MoneyStatisticVO.java new file mode 100644 index 0000000..032980f --- /dev/null +++ b/fanli/src/main/java/com/yeshi/fanli/vo/money/MoneyStatisticVO.java @@ -0,0 +1,159 @@ +package com.yeshi.fanli.vo.money; + +import java.math.BigDecimal; + +public class MoneyStatisticVO { + private String link;// 閾炬帴 + private BigDecimal balanceMoney;// 璐︽埛浣欓 + private String extractingMoneyInfo;// 鎻愮幇涓殑璧勯噾淇℃伅 + + private String extractDesc; // 鎻愮幇璇存槑鏂囧瓧 + private String moneyArrivalDesc; // 璧勯噾鍒拌处璇存槑鏂囧瓧 + + // 鎻愮幇 + private BigDecimal monthExtractMoney;// 鏈湀鎻愮幇 + private BigDecimal lastMonthExtractMoney;// 涓婃湀鎻愮幇 + private BigDecimal totalExtractMoney;// 绱鎻愮幇 + + // 绱 + private BigDecimal totalFanLiMoney;// 绱鑷喘杩斿埄 + private BigDecimal totalShareMoney;// 绱鍒嗕韩濂栭噾 + private BigDecimal totalInviteMoney;// 绱閭�璇峰閲� + + // 鏀惰揣璇︽儏 + private BigDecimal monthSettleMoney;// 鏈湀宸叉敹璐� + private BigDecimal lastMonthSettleMoney;// 涓婃湀宸叉敹璐� + private BigDecimal notSettleMoney;// 寰呯‘璁ゆ敹璐� + + + private MoneyPredictVO todayPredict;// 浠婃棩棰勪及 + private MoneyPredictVO monthPredict;// 鏈湀棰勪及 + + public BigDecimal getBalanceMoney() { + return balanceMoney; + } + + public void setBalanceMoney(BigDecimal balanceMoney) { + this.balanceMoney = balanceMoney; + } + + public String getExtractingMoneyInfo() { + return extractingMoneyInfo; + } + + public void setExtractingMoneyInfo(String extractingMoneyInfo) { + this.extractingMoneyInfo = extractingMoneyInfo; + } + + public BigDecimal getMonthExtractMoney() { + return monthExtractMoney; + } + + public void setMonthExtractMoney(BigDecimal monthExtractMoney) { + this.monthExtractMoney = monthExtractMoney; + } + + public BigDecimal getLastMonthExtractMoney() { + return lastMonthExtractMoney; + } + + public void setLastMonthExtractMoney(BigDecimal lastMonthExtractMoney) { + this.lastMonthExtractMoney = lastMonthExtractMoney; + } + + public BigDecimal getTotalExtractMoney() { + return totalExtractMoney; + } + + public void setTotalExtractMoney(BigDecimal totalExtractMoney) { + this.totalExtractMoney = totalExtractMoney; + } + + public BigDecimal getTotalFanLiMoney() { + return totalFanLiMoney; + } + + public void setTotalFanLiMoney(BigDecimal totalFanLiMoney) { + this.totalFanLiMoney = totalFanLiMoney; + } + + public BigDecimal getTotalShareMoney() { + return totalShareMoney; + } + + public void setTotalShareMoney(BigDecimal totalShareMoney) { + this.totalShareMoney = totalShareMoney; + } + + public BigDecimal getTotalInviteMoney() { + return totalInviteMoney; + } + + public void setTotalInviteMoney(BigDecimal totalInviteMoney) { + this.totalInviteMoney = totalInviteMoney; + } + + public BigDecimal getMonthSettleMoney() { + return monthSettleMoney; + } + + public void setMonthSettleMoney(BigDecimal monthSettleMoney) { + this.monthSettleMoney = monthSettleMoney; + } + + public BigDecimal getLastMonthSettleMoney() { + return lastMonthSettleMoney; + } + + public void setLastMonthSettleMoney(BigDecimal lastMonthSettleMoney) { + this.lastMonthSettleMoney = lastMonthSettleMoney; + } + + public BigDecimal getNotSettleMoney() { + return notSettleMoney; + } + + public void setNotSettleMoney(BigDecimal notSettleMoney) { + this.notSettleMoney = notSettleMoney; + } + + public String getExtractDesc() { + return extractDesc; + } + + public void setExtractDesc(String extractDesc) { + this.extractDesc = extractDesc; + } + + public String getMoneyArrivalDesc() { + return moneyArrivalDesc; + } + + public void setMoneyArrivalDesc(String moneyArrivalDesc) { + this.moneyArrivalDesc = moneyArrivalDesc; + } + + public MoneyPredictVO getTodayPredict() { + return todayPredict; + } + + public void setTodayPredict(MoneyPredictVO todayPredict) { + this.todayPredict = todayPredict; + } + + public MoneyPredictVO getMonthPredict() { + return monthPredict; + } + + public void setMonthPredict(MoneyPredictVO monthPredict) { + this.monthPredict = monthPredict; + } + + public String getLink() { + return link; + } + + public void setLink(String link) { + this.link = link; + } +} diff --git a/fanli/src/main/java/com/yeshi/fanli/vo/push/PushRecommendVO.java b/fanli/src/main/java/com/yeshi/fanli/vo/push/PushRecommendVO.java new file mode 100644 index 0000000..98d9731 --- /dev/null +++ b/fanli/src/main/java/com/yeshi/fanli/vo/push/PushRecommendVO.java @@ -0,0 +1,110 @@ +package com.yeshi.fanli.vo.push; + +import java.util.List; + +import com.google.gson.annotations.Expose; +import com.yeshi.fanli.entity.common.JumpDetailV2; +import com.yeshi.fanli.vo.msg.ClientTextStyleVO; + +public class PushRecommendVO { + // 鎺ㄩ�佹椂闂� + @Expose + private Long pushtime; + // 鏍囬 + @Expose + private String title; + // 鍐呭 + @Expose + private String content; + // 鍥剧墖 + @Expose + private String picture; + // 鍚嶇О + @Expose + private String nickName; + // 娴忚鏁伴噺 + @Expose + private String scanNum; + // 鍙傛暟 + @Expose + private String params; + // 璺宠浆 + @Expose + private JumpDetailV2 jumpDetail; + + @Expose + private List<ClientTextStyleVO> totalwords; + + public Long getPushtime() { + return pushtime; + } + + public void setPushtime(Long pushtime) { + this.pushtime = pushtime; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getPicture() { + return picture; + } + + public void setPicture(String picture) { + this.picture = picture; + } + + public String getNickName() { + return nickName; + } + + public void setNickName(String nickName) { + this.nickName = nickName; + } + + public String getScanNum() { + return scanNum; + } + + public void setScanNum(String scanNum) { + this.scanNum = scanNum; + } + + public String getParams() { + return params; + } + + public void setParams(String params) { + this.params = params; + } + + public JumpDetailV2 getJumpDetail() { + return jumpDetail; + } + + public void setJumpDetail(JumpDetailV2 jumpDetail) { + this.jumpDetail = jumpDetail; + } + + public List<ClientTextStyleVO> getTotalwords() { + return totalwords; + } + + public void setTotalwords(List<ClientTextStyleVO> totalwords) { + this.totalwords = totalwords; + } + +} diff --git a/fanli/src/test/java/org/fanli/MyBatisProduce2.java b/fanli/src/test/java/org/fanli/MyBatisProduce2.java new file mode 100644 index 0000000..f23751f --- /dev/null +++ b/fanli/src/test/java/org/fanli/MyBatisProduce2.java @@ -0,0 +1,17 @@ +package org.fanli; + +import org.junit.Test; +import org.yeshi.utils.mybatis.MyBatisMapperUtil; + +import com.yeshi.fanli.entity.push.PushGoods; + +//@Ignore +public class MyBatisProduce2 { + + @Test + public void test3() { + MyBatisMapperUtil.createMapper(PushGoods.class); + } + + +} -- Gitblit v1.8.0