yujian
2020-01-02 3f2b34aa24482a45eace7d9882cb115251954c61
小程序
48个文件已修改
3个文件已添加
1543 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/TestController.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/admin/ActivityUserAdminController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/admin/UploadController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/admin/shop/BanLiShopGoodsClassAdminController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserOrderController.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/ConsumerController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/GoodsController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/InviteController.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/OrderController.java 341 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/UserAccountController.java 322 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/UserMsgController.java 357 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/elastic/ESOrderDao.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/HongBaoV2CountMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/order/CommonOrderMapper.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/order/ESOrder.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoV2CountMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandInfoServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/config/SpreadImgServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/count/HongBaoV2CountServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/ArticleOfficialServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsClassServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsSubClassServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/help/HelpClassServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/FloatADServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/HomeNavbarServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialCardServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SwiperPictureServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/LabelServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/ESOrderServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/shop/BanLiShopGoodsServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoShopServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/QrCodeServiceImpl.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserAccountServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserComplaintServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserRankingsServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/count/HongBaoV2CountService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/order/ESOrderService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/FilePathEnum.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/wx/WXLoginUtil.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/resource/image/share/tip_angle.png 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/TestController.java
@@ -124,52 +124,6 @@
    private UserMoneyExtraService userMoneyExtraService;
    
    
    @RequestMapping(value = "testimg")
    public void testImg(HttpServletRequest request, PrintWriter out) {
        long startTime = System.currentTimeMillis();
        List<String> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            list.add("i" + i);
        }
        try {
            final TaoBaoGoodsBrief goods = redisManager.getTaoBaoGoodsBrief(569823237075L);
        } catch (TaobaoGoodsDownException e1) {
            e1.printStackTrace();
        }
        String url = "http://www.baidu.com";
        list.parallelStream().forEach(ids -> {
            InputStream portrait = HttpUtil.getAsInputStream(
                    "https://wwc.alicdn.com/avatar/getAvatar.do?userId=1889722423&width=160&height=160&type=sns");
            System.out.println(ids + "开始时间:" + System.currentTimeMillis());
            String uid = "123";
            String auctionId = "test-" + ids;
            String destPath = FileUtil.getCacheDir() + "/" + auctionId + ".jpg";
            String shareImgPath = FileUtil.getCacheDir() + "/share_" + uid + "_" + auctionId + ".png";
            try {
                QRCodeUtil.getInstance(500).encode(url, destPath);
            } catch (Exception e) {
                e.printStackTrace();
            }
            long startDTime = System.currentTimeMillis();
            /*
             * try { //ImageUtil.drawGoodsShareImg(new FileInputStream(new
             * File(destPath)), portrait, goods, shareImgPath); } catch
             * (FileNotFoundException e) { e.printStackTrace(); }
             */
            System.out.println(System.currentTimeMillis() - startDTime);
            String shareImgUrl = COSManager.getInstance()
                    .uploadFile(new File(shareImgPath), "share_" + uid + "_" + auctionId + ".png").getUrl();
            System.out.println(ids + "结束时间:" + System.currentTimeMillis());
        });
        System.out.println("整体耗时:" + (System.currentTimeMillis() - startTime));
    }
    @RequestMapping(value = "kefu")
    public void kefu(HttpServletRequest request, PrintWriter out) {
fanli/src/main/java/com/yeshi/fanli/controller/admin/ActivityUserAdminController.java
@@ -25,6 +25,7 @@
import com.yeshi.fanli.entity.bus.activity.ActivityUser;
import com.yeshi.fanli.service.inter.activity.ActivityUserService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.StringUtil;
import net.sf.json.JSONArray;
@@ -44,7 +45,7 @@
            String contentType = file.getContentType();
            String type = contentType.substring(contentType.indexOf("/") + 1);
            // 文件路径
            String filePath = "/img/GoodsSubClass/" + UUID.randomUUID().toString().replace("-", "") + "." + type;
            String filePath = FilePathEnum.activityUserPortrait.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type;
            // 执行上传
            String fileLink = COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
            return fileLink;
fanli/src/main/java/com/yeshi/fanli/controller/admin/UploadController.java
@@ -27,6 +27,7 @@
import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
import com.yeshi.fanli.util.CMQManager;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
@@ -73,7 +74,7 @@
            String contentType = file.getContentType();
            String type = contentType.substring(contentType.indexOf("/") + 1);
            String uploadFilePath = COSManager.getInstance()
                    .uploadFile(inputStream, UUID.randomUUID().toString().replace("-", "") + "." + type).getUrl();
                    .uploadFile(inputStream, FilePathEnum.section.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type).getUrl();
            out.print(JsonUtil.loadTrueResult(uploadFilePath));
        } catch (IOException e) {
            e.printStackTrace();
@@ -96,7 +97,7 @@
            String contentType = file.getContentType();
            String type = contentType.substring(contentType.indexOf("/") + 1);
            String uploadFilePath = COSManager.getInstance()
                    .uploadFile(inputStream, UUID.randomUUID().toString().replace("-", "") + "." + type + ".apk")
                    .uploadFile(inputStream, FilePathEnum.apk.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type + ".apk")
                    .getUrl();
            out.print(JsonUtil.loadTrueResult(uploadFilePath));
        } catch (Exception e) {
@@ -114,7 +115,7 @@
            String contentType = file.getContentType();
            String type = contentType.substring(contentType.indexOf("/") + 1);
            String uploadFilePath = COSManager.getInstance()
                    .uploadFile(inputStream, "section/" + date + "/" + timeMillis + "." + type).getUrl();
                    .uploadFile(inputStream, FilePathEnum.section.getPath() + timeMillis + "." + type).getUrl();
            JSONObject data = new JSONObject();
            data.put("original", file.getOriginalFilename());
            data.put("name", file.getOriginalFilename());
@@ -274,7 +275,7 @@
            String contentType = file.getContentType();
            String type = contentType.substring(contentType.indexOf("/") + 1);
            // 上传文件相对位置
            String fileUrl="/img/admin/" + UUID.randomUUID().toString().replace("-", "") + "." + type;
            String fileUrl=FilePathEnum.section.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type;
            
            String uploadPath = COSManager.getInstance().uploadFile(inputStream, fileUrl).getUrl();
            
@@ -313,7 +314,7 @@
            String type = contentType.substring(contentType.indexOf("/") + 1);
            
            // 上传文件相对位置
            String fileUrl="/apk/admin/" + UUID.randomUUID().toString().replace("-", "") + "." + type + ".apk";
            String fileUrl= FilePathEnum.apk.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type + ".apk";
            
            String uploadFilePath = COSManager.getInstance().uploadFile(inputStream, fileUrl).getUrl();
            
fanli/src/main/java/com/yeshi/fanli/controller/admin/shop/BanLiShopGoodsClassAdminController.java
@@ -26,6 +26,7 @@
import com.yeshi.fanli.service.inter.shop.BanLiShopGoodsClassService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.StringUtil;
import net.sf.json.JSONObject;
@@ -79,7 +80,7 @@
        String type = contentType.substring(contentType.indexOf("/") + 1);
    
        // 文件路径
        String filePath="/img/shopGoodsClass/"+UUID.randomUUID().toString().replace("-", "") + "." + type;
        String filePath=FilePathEnum.banLiShopClass.getPath()+UUID.randomUUID().toString().replace("-", "") + "." + type;
        // 执行上传
        return COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
    }
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java
@@ -110,6 +110,7 @@
import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
import com.yeshi.fanli.util.AESUtil;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.GsonUtil;
import com.yeshi.fanli.util.HongBaoUtil;
import com.yeshi.fanli.util.RedisManager;
@@ -359,7 +360,7 @@
                form.setPortrait(weiXinUser.getHeadimgurl());
                String wxHeadImg = COSManager.getInstance()
                        .uploadFile(HttpUtil.getAsInputStream(weiXinUser.getHeadimgurl()),
                                Constant.WXHEADURL + UUID.randomUUID().toString())
                                FilePathEnum.userPortrait.getPath() + UUID.randomUUID().toString())
                        .getUrl();
                form.setWxPic(wxHeadImg);
                form.setNickName(weiXinUser.getNickname());
@@ -697,7 +698,7 @@
            find.setWxUnionId(weiXinUser.getUnionid());
            String wxHeadImg = COSManager.getInstance()
                    .uploadFile(HttpUtil.getAsInputStream(weiXinUser.getHeadimgurl()),
                            Constant.WXHEADURL + UUID.randomUUID().toString())
                            FilePathEnum.userPortrait.getPath() + UUID.randomUUID().toString())
                    .getUrl();
            find.setWxPic(wxHeadImg);
        } else { // 绑定淘宝
@@ -2379,12 +2380,6 @@
            if (!StringUtil.isNullOrEmpty(inviteCode)) {// 邀请码不为空
                inviteCode = inviteCode.trim();
                if (inviteCode.length() >= 4 && inviteCode.length() <= 12) {
                    if (!userVIPInfoService.isVIP(uid)) {
                        out.print(JsonUtil.loadFalseResult(20, "只有超级会员才能修改"));
                        return;
                    }
                    try {
                        userInfoExtraService.updateInviteCodeVip(inviteCode, uid);
                        out.print(JsonUtil.loadTrueResult("保存成功"));
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java
@@ -294,9 +294,9 @@
        // 本月未到账,以app端我的页面上月收益为准
        BigDecimal selfMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, 4, 1);
        BigDecimal shareMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, 4, 2);
        BigDecimal inviteMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, 4, 3);
        BigDecimal selfMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, 4, 1, null);
        BigDecimal shareMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, 4, 2, null);
        BigDecimal inviteMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, 4, 3, null);
        
        BigDecimal monthUnRecievedMoney = selfMoney.setScale(2, BigDecimal.ROUND_DOWN)
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserOrderController.java
@@ -171,7 +171,13 @@
        } else if (goodsType != null && goodsType == 0) {
            goodsType = null; // 所有平台订单
        }
        List<Integer> listSource = new ArrayList<>();
        if (goodsType != null) {
            listSource.add(goodsType);
        }
        try {
            if (slotTime != null) {
                SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
@@ -199,12 +205,12 @@
            // 查询列表
            List<CommonOrderVO> list = commonOrderService.getOrderByUid(acceptData, page, uid, state, type, orderState,
                    orderNo, startTime, endTime, dateType, goodsType);
                    orderNo, startTime, endTime, dateType, listSource);
            if (list != null && list.size() > 0) {
                // 统计总数
                count = commonOrderService.countGroupOrderNoByUid(uid, state, type, orderState, orderNo, startTime,
                        endTime, dateType, goodsType);
                        endTime, dateType, listSource);
            }
            // 需要统计筛选信息 :未失效的总金额 以及订单
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java
@@ -180,18 +180,23 @@
            endTime += " 23:59:59";
        }
        List<Integer> listSource = new ArrayList<>();
        if (goodsType != null) {
            listSource.add(goodsType);
        }
        try {
            // 筛选结果顶部统计
            String validMoney = "0.00";
            String invalidMoney = "0.00";
            if (page == 1) {
                BigDecimal predictMoney = hongBaoV2CountService.getRewardMoneyByToSearch(uid, dateType, orderType, 1,
                        orderNo, state, goodsType, startTime, endTime);
                        orderNo, state, startTime, endTime, listSource);
                if (predictMoney != null) 
                    validMoney = predictMoney.setScale(2, BigDecimal.ROUND_DOWN).toString();
                
                BigDecimal postSaleMoney = hongBaoV2CountService.getRewardMoneyByToSearch(uid, dateType, orderType, 2,
                        orderNo, state, goodsType, startTime, endTime);
                        orderNo, state, startTime, endTime, listSource);
                if (postSaleMoney != null) 
                    invalidMoney = postSaleMoney.setScale(2, BigDecimal.ROUND_DOWN).toString();
                
@@ -206,10 +211,10 @@
                        
            // 查询列表
            List<CommonOrderVO> list = commonOrderService.getOrderByUid(acceptData, page, uid, state, orderType, orderState,
                    orderNo, startTime, endTime, dateType, goodsType);
                    orderNo, startTime, endTime, dateType, listSource);
            // 统计总数
            long count = commonOrderService.countGroupOrderNoByUid(uid, state, orderType, orderState, orderNo, startTime,
                    endTime, dateType, goodsType);
                    endTime, dateType, listSource);
            // 判断是否需要显示订单找回提示   8秒内请求3次触发
            String orderFindUrl = null;
@@ -244,7 +249,7 @@
        try {
            long count = 0;
            List<CommonOrderVO> list = null;
            List<ESOrder> listES = esOrderService.query(key, uid.toString());
            List<ESOrder> listES = esOrderService.query(key, uid.toString(), null);
            
            if (listES.size() != 0) {
                list = commonOrderService.searchOrderByUid(page, Constant.PAGE_SIZE, uid, listES);
@@ -273,6 +278,7 @@
     * @param acceptData
     * @param uid
     *            用户id
     *    type 类型:0全部、1淘宝 2京东、拼多多
     * @param out
     */
    @RequestMapping(value = "getOrderCount", method = RequestMethod.POST)
@@ -298,8 +304,9 @@
            JSONObject data = new JSONObject();
            data.put("userInfo", userInfo);
            
            List<Integer> listSource = new ArrayList<>();
            if (type == null || type == 0) {
                OrderCountVO total = commonOrderService.getOrderCount(uid, null, type);
                OrderCountVO total = commonOrderService.getOrderCount(uid, null, null);
                data.put("total", total.getSelf() + total.getShared() + total.getInvite());
                data.put("self", total.getSelf());
                data.put("shared", total.getShared());
@@ -309,19 +316,21 @@
                data.put("self", 0);
                data.put("shared", 0);
                data.put("invite", 0);
                listSource.add(type);
            }
                        
            // 今天
            OrderCountVO today = commonOrderService.getOrderCount(uid, 1, type);
            OrderCountVO today = commonOrderService.getOrderCount(uid, 1, listSource);
            today.setTotal(today.getSelf() + today.getShared() + today.getInvite());
            // 昨天
            OrderCountVO yesterday = commonOrderService.getOrderCount(uid, 2, type);
            OrderCountVO yesterday = commonOrderService.getOrderCount(uid, 2, listSource);
            yesterday.setTotal(yesterday.getSelf() + yesterday.getShared() + yesterday.getInvite());
            // 本月
            OrderCountVO thisMonth = commonOrderService.getOrderCount(uid, 3, type);
            OrderCountVO thisMonth = commonOrderService.getOrderCount(uid, 3, listSource);
            thisMonth.setTotal(thisMonth.getSelf() + thisMonth.getShared() + thisMonth.getInvite());
            // 上月
            OrderCountVO lastMonth = commonOrderService.getOrderCount(uid, 4, type);
            OrderCountVO lastMonth = commonOrderService.getOrderCount(uid, 4, listSource);
            lastMonth.setTotal(lastMonth.getSelf() + lastMonth.getShared() + lastMonth.getInvite());
            data.put("today", today);
@@ -368,9 +377,9 @@
            show = hongBaoV2CountService.getHongBaoCount(uid, null) > 0;
        }
        
        BigDecimal selfMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 1);
        BigDecimal shareMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 2);
        BigDecimal inviteMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 3);
        BigDecimal selfMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 1, null);
        BigDecimal shareMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 2, null);
        BigDecimal inviteMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 3, null);
        
        JSONObject data = new JSONObject();
        data.put("show", show);
fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/ConsumerController.java
@@ -2,7 +2,6 @@
import java.io.PrintWriter;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
@@ -22,8 +21,8 @@
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
import com.yeshi.fanli.dto.ConfigParamsDTO;
import com.yeshi.fanli.dto.WXMPAcceptData;
import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.entity.goods.ScanHistoryV2;
@@ -39,7 +38,6 @@
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil;
import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
@@ -96,7 +94,7 @@
     * @param out
     */
    @RequestMapping("collectionGoods")
    public void collectionGoods(AcceptData acceptData, Long uid, Long goodsId, int type, Integer goodsType,
    public void collectionGoods(WXMPAcceptData acceptData, Long uid, Long goodsId, int type, Integer goodsType,
            PrintWriter out) {
        try {
            if (goodsType == null || goodsType < 2 || goodsType > 3) {
@@ -150,7 +148,7 @@
     * @param out
     */
    @RequestMapping("deleteCollectionGoods")
    public void deleteCollectionGoods(AcceptData acceptData, Long uid, String ids, Integer type, PrintWriter out) {
    public void deleteCollectionGoods(WXMPAcceptData acceptData, Long uid, String ids, Integer type, PrintWriter out) {
        if (uid == null || uid <= 0) {
            out.print(JsonUtil.loadFalseResult("用户未登录"));
            return;
@@ -187,7 +185,7 @@
     * @param out
     */
    @RequestMapping("collectionGoodsList")
    public void collectionGoodsList(AcceptData acceptData, Long uid, Integer page, Integer goodsType, PrintWriter out) {
    public void collectionGoodsList(WXMPAcceptData acceptData, Long uid, Integer page, Integer goodsType, PrintWriter out) {
        if (uid == null) {
            out.print(JsonUtil.loadFalseResult("用户未登录"));
            return;
@@ -290,7 +288,7 @@
     * @param out
     */
    @RequestMapping(value = "deleteScanhistory", method = RequestMethod.POST)
    public void deleteScanHistory(AcceptData acceptData, String type, Long uid, String ids, PrintWriter out) {
    public void deleteScanHistory(WXMPAcceptData acceptData, String type, Long uid, String ids, PrintWriter out) {
        if ("1".equals(type)) {
            // 全部删除
            scanHistoryV2Service.deleteByDeviceOrUid(uid, acceptData.getDevice());
@@ -319,7 +317,7 @@
     * @param out
     */
    @RequestMapping(value = "getScanHistory", method = RequestMethod.POST)
    public void getScanHistory(AcceptData acceptData, Long uid, int page, Integer goodsType, PrintWriter out) {
    public void getScanHistory(WXMPAcceptData acceptData, Long uid, int page, Integer goodsType, PrintWriter out) {
        if (page < 1) {
            out.print(JsonUtil.loadFalseResult(1, "page不小于1"));
            return;
fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/GoodsController.java
@@ -32,7 +32,6 @@
import com.yeshi.fanli.dto.pdd.PDDGoodsResult;
import com.yeshi.fanli.dto.pdd.PDDPromotionUrl;
import com.yeshi.fanli.dto.pdd.PDDSearchFilter;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
import com.yeshi.fanli.entity.bus.share.UserShareGoodsHistory;
import com.yeshi.fanli.entity.bus.user.ShamUser;
@@ -44,43 +43,28 @@
import com.yeshi.fanli.exception.user.UserInfoExtraException;
import com.yeshi.fanli.log.LogHelper;
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.config.SystemClientParamsService;
import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service;
import com.yeshi.fanli.service.inter.goods.ScanHistoryV2Service;
import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
import com.yeshi.fanli.service.inter.jd.JDGoodsClassService;
import com.yeshi.fanli.service.inter.money.UserMoneyExtraService;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.redpack.UserTaoLiJinNewbiesService;
import com.yeshi.fanli.service.inter.taobao.TLJBuyGoodsService;
import com.yeshi.fanli.service.inter.taobao.TLJFreeBuyGoodsService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService;
import com.yeshi.fanli.service.inter.user.QrCodeService;
import com.yeshi.fanli.service.inter.user.ShamUserService;
import com.yeshi.fanli.service.inter.user.TBPidService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
import com.yeshi.fanli.service.inter.user.integral.IntegralGetService;
import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.JumpDetailUtil;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.ThreadUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil;
import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
import com.yeshi.fanli.util.factory.CommonGoodsFactory;
import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
import com.yeshi.fanli.util.jd.JDApiUtil;
@@ -584,7 +568,7 @@
     * @param out
     */
    @RequestMapping(value = "getRecommendGoods", method = RequestMethod.POST)
    public void getRecommendGoods(AcceptData acceptData, long id, Integer goodsType, PrintWriter out) {
    public void getRecommendGoods(WXMPAcceptData acceptData, long id, Integer goodsType, PrintWriter out) {
        if (goodsType == null || goodsType < 2 || goodsType > 3) {
            out.print(JsonUtil.loadFalseResult(1, "请传递正确平台参数"));
            return;
fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/InviteController.java
@@ -15,6 +15,7 @@
import org.yeshi.utils.DateUtil;
import org.yeshi.utils.JsonUtil;
import com.yeshi.fanli.dto.WXMPAcceptData;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.user.ThreeSale;
import com.yeshi.fanli.entity.bus.user.ThreeSaleExtraInfo;
@@ -65,7 +66,7 @@
     * @param out
     */
    @RequestMapping(value = "tailorCode")
    public void tailorCode(AcceptData acceptData, String callback, Long uid, PrintWriter out) {
    public void tailorCode(WXMPAcceptData acceptData, String callback, Long uid, PrintWriter out) {
        if (uid == null) {
            out.print(JsonUtil.loadFalseResult("用户id缺失"));
            return;
@@ -85,7 +86,7 @@
     * @param out
     */
    @RequestMapping(value = "countMyTeam", method = RequestMethod.POST)
    public void countMyTeam(AcceptData acceptData, long uid, PrintWriter out) {
    public void countMyTeam(WXMPAcceptData acceptData, long uid, PrintWriter out) {
        try {
            long firstTeam = threeSaleSerivce.countFirstTeam(uid, 1);
            long firstTeamTotal = threeSaleSerivce.countFirstTeam(uid, null);
@@ -145,7 +146,7 @@
     * @param out
     */
    @RequestMapping(value = "listMyTeam", method = RequestMethod.POST)
    public void listMyTeam(AcceptData acceptData, int page, long uid, int type, PrintWriter out) {
    public void listMyTeam(WXMPAcceptData acceptData, int page, long uid, int type, PrintWriter out) {
        if (type != 1 && type != 2) {
            out.print(JsonUtil.loadFalseResult("粉丝类型不正确"));
            return;
@@ -311,4 +312,63 @@
        result.put("list", resultArray);
        return result;
    }
    /**
     * 获取用户信息
     * @param acceptData
     * @param uid
     * @param out
     */
    @RequestMapping(value = "getBossInfo", method = RequestMethod.POST)
    public void getBossInfo(AcceptData acceptData, Long uid, PrintWriter out) {
        if (uid == null || uid <= 0) {
            out.print(JsonUtil.loadFalseResult("用户未登录"));
            return;
        }
        JSONObject bossData = getBossInfo(uid, threeSaleSerivce.getMyBoss(uid));
        out.print(JsonUtil.loadTrueResult(bossData));
    }
    /**
     * 上级信息组织
     *
     * @param acceptData
     * @param uid
     * @param threeSale
     * @return
     */
    private JSONObject getBossInfo(long uid, ThreeSale threeSale) {
        JSONObject bossData = new JSONObject();
        if (threeSale != null && threeSale.getBoss() != null) {
            UserInfo boss = threeSale.getBoss();
            bossData.put("hasBoss", true);
            bossData.put("inviteId", threeSale.getId());
            bossData.put("nickName", boss.getNickName());
            bossData.put("portrait", boss.getPortrait());
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
            Long createTime = threeSale.getCreateTime();
            Date inviteTime = new Date(createTime);
            UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(boss.getId());
            if (userInfoExtra != null && !StringUtil.isNullOrEmpty(userInfoExtra.getWeiXin())) {
                bossData.put("weiXin", userInfoExtra.getWeiXin());
                bossData.put("weiXinState", 3);
                bossData.put("weiXinTip", "添加TA的微信,你可向TA学习如何通过板栗快省赚钱。");
            } else {
                if (!threeSaleExtraInfoSerivce.isRemindBoss(boss.getId(), uid)) {
                    bossData.put("weiXinState", 1);
                    bossData.put("weiXinTip", "点击提醒TA,系统会发送一封站内信,提醒其添加微信号。");
                } else {
                    bossData.put("weiXinState", 2);
                    bossData.put("weiXinTip", "系统已发送提醒,邀请人添加微信后你可复制,如对方迟迟不添加,你可联系人工客服寻求帮助");
                }
            }
            bossData.put("inviteTime", "你于 " + sdf.format(inviteTime) + "接受了TA的邀请");
        } else {
            bossData.put("hasBoss", false);
            bossData.put("helpLink", configService.get("invite_code_hlep_link"));
            bossData.put("weiXinTip", "恭喜你,我们的优质用户;\r\n你并没有邀请人,但你的邀请激活功能是被默认开启的;\r\n你拥有独特的无邀请人激活码。");
        }
        return bossData;
    }
}
fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/OrderController.java
@@ -2,18 +2,40 @@
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
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.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.DateUtil;
import org.yeshi.utils.JsonUtil;
import com.yeshi.fanli.dto.WXMPAcceptData;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.order.ESOrder;
import com.yeshi.fanli.exception.order.CommonOrderException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.config.SystemClientParamsService;
import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
import com.yeshi.fanli.service.inter.order.CommonOrderService;
import com.yeshi.fanli.service.inter.order.ESOrderService;
import com.yeshi.fanli.service.inter.user.UserCustomSettingsService;
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.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.vo.order.CommonOrderVO;
import com.yeshi.fanli.vo.order.OrderCountVO;
import com.yeshi.fanli.vo.user.UserInfoExtraVO;
import com.yeshi.fanli.vo.user.UserSettingsVO;
import net.sf.json.JSONObject;
@@ -30,6 +52,24 @@
    
    @Resource
    private HongBaoV2CountService hongBaoV2CountService;
    @Resource
    private CommonOrderService commonOrderService;
    @Resource
    private ConfigService configService;
    @Resource
    private UserInfoService userInfoService;
    @Resource
    private UserInfoExtraService userInfoExtraService;
    @Resource
    private RedisManager redisManager;
    @Resource
    private ESOrderService esOrderService;
    /**
     * 统计奖金
@@ -41,7 +81,7 @@
     * @param out
     */
    @RequestMapping(value = "getBonusCount", method = RequestMethod.POST)
    public void getBonusCount(AcceptData acceptData, Long uid, Integer dateType, PrintWriter out) {
    public void getBonusCount(WXMPAcceptData acceptData, Long uid, Integer dateType, PrintWriter out) {
        if (uid == null) {
            out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
            return;
@@ -54,6 +94,10 @@
        } catch (Exception e) {
        }
        List<Integer> listSource = new ArrayList<>();
        listSource.add(Constant.SOURCE_TYPE_JD);
        listSource.add(Constant.SOURCE_TYPE_PDD);
        // 验证是否显示模块
        if (settings != null && settings.getNoBonusCount() != null) {
            if (settings.getNoBonusCount() == 1) {
@@ -65,9 +109,9 @@
            show = hongBaoV2CountService.getHongBaoCount(uid, null) > 0;
        }
        BigDecimal selfMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 1);
        BigDecimal shareMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 2);
        BigDecimal inviteMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 3);
        BigDecimal selfMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 1, listSource);
        BigDecimal shareMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 2, listSource);
        BigDecimal inviteMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 3, listSource);
        JSONObject data = new JSONObject();
        data.put("show", show);
@@ -76,4 +120,293 @@
        data.put("inviteMoney", inviteMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
        out.print(JsonUtil.loadTrueResult(data));
    }
    /**
     * 订单列表
     *
     * @param acceptData
     * @param page
     * @param uid
     * @param state
     *            状态:0全部 1-未到账 2-已到账 3-已失效 4已收货
     * @param type
     *            类型:1-返利订单 2-分享订单 3-邀请订单
     * @param orderState
     *            1有效订单 2 维权订单 3失效订单
     * @param orderNo
     *            订单号
     * @param startTime
     *            起始时间
     * @param endTime
     *            结束时间
     * @param slotTime
     *            时间段:1-最近三天 2-最近七天 3最近半月 4本月 5近三月 6近半年
     * @param dateType
     *            1-今日 2-昨天 3-本月 4-上个月 |
     * @param source
     *             页面来源:welfareCore-福利中心、bonus -奖金统计(我的界面)
     * @param out
     */
    @RequestMapping(value = "getOrderList", method = RequestMethod.POST)
    public void getOrderList(AcceptData acceptData, Integer page, Long uid, Integer state, String type,
            Integer orderState, String orderNo,    String startTime, String endTime, Integer slotTime,
            Integer dateType, Integer goodsType, String source, PrintWriter out) {
        if (uid == null) {
            out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
            return;
        }
        if (page == null || page < 1)
            page = 1;
        // 搜索内容、订单号
        if (!StringUtil.isNullOrEmpty(orderNo)) {
            searchOrder(orderNo, page, uid, out);
            return;
        }
        // 转换状态
        if (state != null) {
            if (state == 0) {
                state = null; // 所有
            } else if (state == 4) {
                state = null;
                orderState = 4; // 已收货
            } else if (state == 5) {
                state = null;
                orderState = 2; // 已维权
            }
        }
        if (state != null && orderState != null && (orderState == 2 || orderState == 3)) {
            state = null;
        }
        // 订单类型
        Integer orderType = null;
        if (StringUtil.isNullOrEmpty(type)) {
            orderType = null;
        } else if (!"0".equalsIgnoreCase(type)){
            orderType = Integer.parseInt(type);
        }
        if (goodsType != null && goodsType == 0)
            goodsType = null;
        // 筛选时间
        if (slotTime != null) {
            try {
                SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
                switch (slotTime) {
                case 1: // 最近三天
                    endTime = sd.format(new Date());
                    startTime = DateUtil.reduceDay(2, endTime);
                    break;
                case 2: // 最近七天
                    endTime = sd.format(new Date());
                    startTime = DateUtil.reduceDay(6, endTime);
                    break;
                case 3: // 最近15天 (半月)
                    endTime = sd.format(new Date());
                    startTime = DateUtil.reduceDay(14, endTime);
                    break;
                case 4: // 最近三十天 (本月)
                    dateType = 10;
                    break;
                case 5: // 最近九十天(近三月)
                    dateType = 11;
                    break;
                case 6: // 最近一百八十天(近半年)
                    dateType = 12;
                    break;
                default:
                    break;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        if (endTime != null && endTime.trim().length() > 0) {
            endTime += " 23:59:59";
        }
        List<Integer> listSource = new ArrayList<>();
        if (goodsType != null) {
            listSource.add(goodsType);
        } else {
            listSource.add(Constant.SOURCE_TYPE_JD);
            listSource.add(Constant.SOURCE_TYPE_PDD);
        }
        try {
            // 筛选结果顶部统计
            String validMoney = "0.00";
            String invalidMoney = "0.00";
            if (page == 1) {
                BigDecimal predictMoney = hongBaoV2CountService.getRewardMoneyByToSearch(uid, dateType, orderType, 1,
                        orderNo, state, startTime, endTime, listSource);
                if (predictMoney != null)
                    validMoney = predictMoney.setScale(2, BigDecimal.ROUND_DOWN).toString();
                BigDecimal postSaleMoney = hongBaoV2CountService.getRewardMoneyByToSearch(uid, dateType, orderType, 2,
                        orderNo, state, startTime, endTime, listSource);
                if (postSaleMoney != null)
                    invalidMoney = postSaleMoney.setScale(2, BigDecimal.ROUND_DOWN).toString();
                if (orderType != null && dateType != null && dateType == 4) {
                    if (orderType == 1) {
                        dateType = 6; // 返利订单有效
                    } else {
                        dateType = 5; // 新版查询本月到账
                    }
                }
            }
            // 查询列表
            List<CommonOrderVO> list = commonOrderService.getOrderByUid(acceptData, page, uid, state, orderType, orderState,
                    orderNo, startTime, endTime, dateType, listSource);
            // 统计总数
            long count = commonOrderService.countGroupOrderNoByUid(uid, state, orderType, orderState, orderNo, startTime,
                    endTime, dateType, listSource);
            // 判断是否需要显示订单找回提示   8秒内请求3次触发
            String orderFindUrl = null;
            if (state ==null && page == 1) {
                if (redisManager.frequencyLimit("orderlist-" + acceptData.getDevice(), 8, 4)||count==0L) {
                    orderFindUrl = configService.get("order_find_notify_url");
                }
            }
            JSONObject data = new JSONObject();
            data.put("count", count);
            data.put("list", JsonUtil.getApiCommonGson().toJson(list));
            data.put("helpUrl", configService.get("order_list_help"));
            data.put("validMoney", "¥ " + validMoney);
            data.put("invalidMoney", "¥ " + invalidMoney);
            data.put("findOrderHelpUrl", orderFindUrl);
            out.print(JsonUtil.loadTrueResult(data));
        } catch (CommonOrderException e) {
            out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
        } catch (Exception e) {
            out.print(JsonUtil.loadFalseResult(1, "查询失败"));
            LogHelper.errorDetailInfo(e);
        }
    }
    /**
     * 搜索订单
     * @param key
     * @param out
     */
    private void searchOrder(String key, Integer page, Long uid, PrintWriter out) {
        try {
            long count = 0;
            List<CommonOrderVO> list = null;
            List<Integer> listSource = new ArrayList<>();
            listSource.add(Constant.SOURCE_TYPE_JD);
            listSource.add(Constant.SOURCE_TYPE_PDD);
            List<ESOrder> listES = esOrderService.query(key, uid.toString(), listSource);
            if (listES.size() != 0) {
                list = commonOrderService.searchOrderByUid(page, Constant.PAGE_SIZE, uid, listES);
                count = commonOrderService.countSearchOrderByUid(uid, listES);
            }
            if (list == null) {
                list = new ArrayList<>();
            }
            JSONObject data = new JSONObject();
            data.put("count", count);
            data.put("list", JsonUtil.getApiCommonGson().toJson(list));
            out.print(JsonUtil.loadTrueResult(data));
        } catch (Exception e) {
            out.print(JsonUtil.loadFalseResult(1, "查询失败"));
            e.printStackTrace();
            LogHelper.errorDetailInfo(e);
        }
    }
    /**
     * 用户订单统计
     *
     * @param acceptData
     * @param uid
     *            用户id
     *   type 类型:0全部、1淘宝 2京东、拼多多
     * @param out
     */
    @RequestMapping(value = "getOrderCount", method = RequestMethod.POST)
    public void getOrderCount(AcceptData acceptData, Long uid, Integer type, PrintWriter out) {
        if (uid == null) {
            out.print(JsonUtil.loadFalseResult(1, "请求参数不正确"));
            return;
        }
        try {
            UserInfo user = userInfoService.selectByPKey(uid);
            if (user == null) {
                out.print(JsonUtil.loadFalseResult(1, "用户不存在"));
                return;
            }
            UserInfo userInfo = UserUtil.filterForClientUser(user);
            UserInfoExtraVO userInfoExtra = userInfoExtraService.getInfoExtraVOByUid(user.getId());
            if (userInfoExtra != null && userInfoExtra.getUserRank() != null) {
                userInfo.setRankIcon(userInfoExtra.getUserRank().getIcon());
                userInfo.setRankNamePicture(userInfoExtra.getUserRank().getPicture());
            }
            JSONObject data = new JSONObject();
            data.put("userInfo", userInfo);
            List<Integer> listSource = new ArrayList<>();
            if (type == null || type == 0) {
                listSource.add(Constant.SOURCE_TYPE_JD);
                listSource.add(Constant.SOURCE_TYPE_PDD);
                OrderCountVO total = commonOrderService.getOrderCount(uid, null, listSource);
                data.put("total", total.getSelf() + total.getShared() + total.getInvite());
                data.put("self", total.getSelf());
                data.put("shared", total.getShared());
                data.put("invite", total.getInvite());
            } else {
                data.put("total", 0);
                data.put("self", 0);
                data.put("shared", 0);
                data.put("invite", 0);
                listSource.add(type);
            }
            // 今天
            OrderCountVO today = commonOrderService.getOrderCount(uid, 1, listSource);
            today.setTotal(today.getSelf() + today.getShared() + today.getInvite());
            // 昨天
            OrderCountVO yesterday = commonOrderService.getOrderCount(uid, 2, listSource);
            yesterday.setTotal(yesterday.getSelf() + yesterday.getShared() + yesterday.getInvite());
            // 本月
            OrderCountVO thisMonth = commonOrderService.getOrderCount(uid, 3, listSource);
            thisMonth.setTotal(thisMonth.getSelf() + thisMonth.getShared() + thisMonth.getInvite());
            // 上月
            OrderCountVO lastMonth = commonOrderService.getOrderCount(uid, 4, listSource);
            lastMonth.setTotal(lastMonth.getSelf() + lastMonth.getShared() + lastMonth.getInvite());
            data.put("today", today);
            data.put("yesterday", yesterday);
            data.put("thisMonth", thisMonth);
            data.put("lastMonth", lastMonth);
            out.print(JsonUtil.loadTrueResult(data));
        } catch (Exception e) {
            out.print(JsonUtil.loadFalseResult(1, "获取信息失败"));
            e.printStackTrace();
        }
    }
}
fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/UserAccountController.java
@@ -1,6 +1,13 @@
package com.yeshi.fanli.controller.wxmp.v1;
import java.io.PrintWriter;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -15,25 +22,45 @@
import org.yeshi.utils.wx.WXXCXUtil;
import com.google.gson.Gson;
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.dto.WXMPAcceptData;
import com.yeshi.fanli.dto.user.wx.WXMPLoginData;
import com.yeshi.fanli.dto.user.wx.WXMPLoginResult;
import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode;
import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode.ForbiddenUserIdentifyCodeTypeEnum;
import com.yeshi.fanli.entity.bus.user.SMSHistory;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.entity.bus.user.WeiXinUser;
import com.yeshi.fanli.entity.bus.user.vip.UserVIPInfo;
import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum;
import com.yeshi.fanli.entity.shop.BanLiShopOrder;
import com.yeshi.fanli.exception.user.UserAccountException;
import com.yeshi.fanli.exception.user.UserInfoExtraException;
import com.yeshi.fanli.exception.user.vip.UserVIPInfoException;
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.shop.BanLiShopOrderService;
import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService;
import com.yeshi.fanli.service.inter.user.UserAccountService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService;
import com.yeshi.fanli.service.inter.user.wx.WXMPUserLoginService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.ThreadUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.vo.user.UserVipRateVO;
import net.sf.json.JSONObject;
@@ -59,6 +86,25 @@
    @Resource
    private ForbiddenUserIdentifyCodeService forbiddenUserIdentifyCodeService;
    @Resource
    private UserMoneyDetailService userMoneyDetailService;
    @Resource
    private ConfigService configService;
    @Resource
    private UserVIPInfoService userVIPInfoService;
    @Resource
    private UserVipConfigService userVipConfigService;
    @Resource
    private BanLiShopOrderService banLiShopOrderService;
    @Resource
    private HongBaoV2CountService hongBaoV2CountService;
    /**
     * 通过邀请码获取用户信息
     * 
@@ -347,7 +393,283 @@
        } catch (UserAccountException e) {
            out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
        }
    }
    /**
     * 绑定电话号码 V1.5.3
     *
     * @param acceptData
     * @param vcode
     * @param phone
     * @param out
     */
    @RequestMapping(value = "bindPhone")
    public void bindPhone(WXMPAcceptData acceptData, Long uid, String vcode, String phone, PrintWriter out) {
        if (StringUtil.isNullOrEmpty(vcode)) {
            out.print(JsonUtil.loadFalseResult("验证码不能为空"));
            return;
        }
        if (StringUtil.isNullOrEmpty(phone)) {
            out.print(JsonUtil.loadFalseResult("电话号码不能为空"));
            return;
        }
        phone = phone.replaceAll(" ", "");
        String oldVCode = redisManager.getSMSVCode(phone, SMSHistory.TYPE_BIND);
        if (Constant.IS_OUTNET) {
            if (!vcode.equalsIgnoreCase(oldVCode)) {
                out.print(JsonUtil.loadFalseResult(9001, "验证码错误,重新输入"));
                return;
            }
            redisManager.clearSMSFrequencyLimit(phone, SMSHistory.TYPE_BIND);
        }
        try {
            // 绑定用户
            userAccountService.bindPhoneNew(uid, phone);
            UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
            // 判断电话号码是否已经封禁
            ForbiddenUserIdentifyCode ic = forbiddenUserIdentifyCodeService
                    .listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.phone, phone);
            if (ic != null && ic.getEffective() != null && ic.getEffective()) {
                out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
                // 封禁用户
                // 封禁绑定的正常用户
                if (user != null && user.getState() != null && user.getState() == UserInfo.STATE_NORMAL) {
                    userAccountService.forbiddenUser(uid, "封禁:绑定被封禁的电话号码");
                }
                return;
            }
            JSONObject data = new JSONObject();
            data.put("user", UserUtil.filterForClientUser(user));
            out.print(JsonUtil.loadTrueResult(data));
        } catch (UserAccountException e) {
            out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
        } catch (Exception e) {
            out.print(JsonUtil.loadFalseResult(1, "绑定失败"));
        }
    }
    /**
     * 获取vip信息
     *
     * @param acceptData
     * @param uid
     * @param out
     */
    @RequestMapping(value = "getVIPInfo")
    public void getVIPInfo(String callback, WXMPAcceptData acceptData, Long uid, PrintWriter out) {
        if (uid == null || uid <= 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "用户未登录"));
            return;
        }
        UserInfo userInfo = userInfoService.selectByPKey(uid);
        if (userInfo == null) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "该用户不存在"));
            return;
        }
        //
        String inviteCode = userInfoExtraService.getInviteCodeByUid(uid);
        UserVipRateVO vo = new UserVipRateVO();
        vo.setId(uid);
        vo.setInviteCode(inviteCode);
        vo.setNickName(userInfo.getNickName());
        vo.setPortrait(userInfo.getPortrait());
        vo.setHelpLink(userVipConfigService.getValueByKey("help_link_vip_h5"));
        vo.setCsdLink(configService.get("customer_service_link"));
        Date now = new Date();
        Date start = new Date(0);
        // 返利订单、奖励券提成
        List<UserMoneyDetailTypeEnum> typeFanli = new ArrayList<>();
        typeFanli.add(UserMoneyDetailTypeEnum.fanli);
        typeFanli.add(UserMoneyDetailTypeEnum.orderReward);
        BigDecimal finishMoney = userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeFanli, start, now)
                .abs();
        // 邀请订单、分享订单、补贴
        List<UserMoneyDetailTypeEnum> typeList = new ArrayList<>();
        typeList.add(UserMoneyDetailTypeEnum.share);
        typeList.add(UserMoneyDetailTypeEnum.invite);
        typeList.add(UserMoneyDetailTypeEnum.inviteAndShare);
        typeList.add(UserMoneyDetailTypeEnum.systemEqualize);
        typeList.add(UserMoneyDetailTypeEnum.subsidy);
        BigDecimal rewardMoney = userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, start, now).abs();
        UserVIPInfo userVIPInfo = userVIPInfoService.selectByUid(uid);
        vo.setVipInfo(userVIPInfo);
        String leftTime = "";
        if (userVIPInfo != null && userVIPInfo.getApplyTime() != null) {
            // TODO 计算时间
            long s = 48 * 60 * 60 - ((System.currentTimeMillis() - userVIPInfo.getApplyTime().getTime()) / 1000);
            if (s > 3600) {
                leftTime = s / 3600 + "小时";
                leftTime = "还剩" + leftTime;
            } else if (s >= 60) {
                leftTime = s / 60 + "分钟";
                leftTime = "还剩" + leftTime;
            } else if (s > 0) {
                leftTime = s + "秒";
                leftTime = "还剩" + leftTime;
            }
        }
        vo.setLeftTime(leftTime);
        if (userVIPInfo != null && userVIPInfo.getState() != null
                && userVIPInfo.getState() == UserVIPInfo.STATE_SUCCESS) { // VIP
            vo.setSuccessTime(TimeUtil.getGernalTime(userVIPInfo.getSuccessTime().getTime(), "yyyy.MM.dd"));
            vo.setConserveMoney(finishMoney);
            vo.setEarnMoney(rewardMoney);
        } else {
            BigDecimal rate = new BigDecimal("0.409");
            vo.setConserveMoney(MoneyBigDecimalUtil.mul2(finishMoney, rate));
            vo.setEarnMoney(MoneyBigDecimalUtil.mul2(rewardMoney, rate));
        }
        vo.setFinishMoney(hongBaoV2CountService.getRewardMoneyBySelf(uid));
        List<Integer> list = new ArrayList<Integer>();
        list.add(BanLiShopOrder.STATE_SUCCESS);
        BigDecimal payMoney = new BigDecimal(userVipConfigService.getValueByKey("require_order_pay"));
        vo.setFinishTeam(hongBaoV2CountService.countValidOrderTeamUserByUid(uid, TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME), payMoney));
        vo.setFinishHongBao(banLiShopOrderService.countByUidAndState(uid, list));
        // 区分老用户和新用户
        String limtDate = userVipConfigService.getValueByKey("vip_execute_time");
        Date executeDate = null;
        try {
            SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd");
            executeDate = format.parse(limtDate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(uid);
        if (extra != null
                && (extra.getFirstLoginTime() == null || extra.getFirstLoginTime().getTime() < executeDate.getTime())) {
            vo.setLimitTeam(Long.parseLong(userVipConfigService.getValueByKey("require_invite_num_old_user")));
        } else {
            vo.setLimitTeam(Long.parseLong(userVipConfigService.getValueByKey("require_invite_num_new_user")));
        }
        vo.setLimitHongBao(Long.parseLong(userVipConfigService.getValueByKey("require_shop_buy")));
        vo.setLimitMoney(new BigDecimal(userVipConfigService.getValueByKey("require_fan_money")));
        vo.setLimitgoldCoin(Long.parseLong(userVipConfigService.getValueByKey("require_gold_coin")));
        GsonBuilder gsonBuilder = new GsonBuilder();
        gsonBuilder.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());
                }
            }
        });
        Gson gson = gsonBuilder.create();
        JSONObject data = new JSONObject();
        data.put("info", gson.toJson(vo));
        data.put("welfare", userVipConfigService.getValueByKey("vip_welfare"));
        if (!StringUtil.isNullOrEmpty(callback)) {
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(gson.toJson(vo))));
        } else {
            out.print(JsonUtil.loadTrueResult(gson.toJson(vo)));
        }
    }
    /**
     * 开通VIP
     *
     * @param callback
     * @param acceptData
     * @param uid
     * @param out
     */
    @RequestMapping(value = "applyVip")
    public void applyVip(String callback, WXMPAcceptData acceptData, Long uid, PrintWriter out) {
        if (uid == null || uid <= 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "用户未登录"));
            return;
        }
        UserInfo userInfo = userInfoService.selectByPKey(uid);
        if (userInfo == null) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "该用户不存在"));
            return;
        }
        // 省钱 -自购产生返利
        List<Integer> list = new ArrayList<Integer>();
        list.add(BanLiShopOrder.STATE_SUCCESS);
        BigDecimal payMoney = new BigDecimal(userVipConfigService.getValueByKey("require_order_pay"));
        long finishTeam = hongBaoV2CountService.countValidOrderTeamUserByUid(uid, TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME), payMoney);
        long finishHongBao = banLiShopOrderService.countByUidAndState(uid, list);
        BigDecimal finishMoney = hongBaoV2CountService.getRewardMoneyBySelf(uid);
        long limitTeam = 0;
        // 区分老用户和新用户
        String limtDate = userVipConfigService.getValueByKey("vip_execute_time");
        Date executeDate = null;
        try {
            SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd");
            executeDate = format.parse(limtDate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(uid);
        if (extra != null
                && (extra.getFirstLoginTime() == null || extra.getFirstLoginTime().getTime() < executeDate.getTime())) {
            limitTeam = (Long.parseLong(userVipConfigService.getValueByKey("require_invite_num_old_user")));
        } else {
            limitTeam = (Long.parseLong(userVipConfigService.getValueByKey("require_invite_num_new_user")));
        }
        long limitHongBao = (Long.parseLong(userVipConfigService.getValueByKey("require_shop_buy")));
        BigDecimal limitMoney = (new BigDecimal(userVipConfigService.getValueByKey("require_fan_money")));
        if (finishTeam >= limitTeam && finishHongBao >= limitHongBao && finishMoney.compareTo(limitMoney) >= 0) {
            // 条件符合
        } else {
            if (!StringUtil.isNullOrEmpty(callback)) {
                out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("未达到开通条件")));
            } else {
                out.print(JsonUtil.loadFalseResult("未达到开通条件"));
            }
            return;
        }
        // 开通
        try {
            userVIPInfoService.applyVIP(uid);
        } catch (UserVIPInfoException e) {
            if (!StringUtil.isNullOrEmpty(callback)) {
                out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(e.getMsg())));
            } else {
                out.print(JsonUtil.loadFalseResult(e.getMsg()));
            }
            return;
        }
        if (!StringUtil.isNullOrEmpty(callback)) {
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("已申请")));
        } else {
            out.print(JsonUtil.loadTrueResult("已申请"));
        }
    }
}
fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/UserMsgController.java
New file
@@ -0,0 +1,357 @@
package com.yeshi.fanli.controller.wxmp.v1;
import java.io.PrintWriter;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
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.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.BigDecimalUtil;
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.dto.msg.MsgCommonDTO;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.msg.MsgAccountDetail;
import com.yeshi.fanli.entity.bus.msg.MsgDeviceReadState;
import com.yeshi.fanli.entity.bus.msg.MsgInviteDetail;
import com.yeshi.fanli.entity.bus.msg.MsgMoneyDetail;
import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail;
import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail.MsgTypeOrderTypeEnum;
import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail;
import com.yeshi.fanli.entity.bus.msg.UserMsgUnReadNum;
import com.yeshi.fanli.entity.bus.msg.UserSystemMsg;
import com.yeshi.fanli.entity.common.JumpDetailV2;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.money.msg.MsgMoneyDetailService;
import com.yeshi.fanli.service.inter.msg.MsgConfigService;
import com.yeshi.fanli.service.inter.msg.MsgDeviceReadStateService;
import com.yeshi.fanli.service.inter.msg.MsgOtherDetailService;
import com.yeshi.fanli.service.inter.msg.UserMsgReadStateService;
import com.yeshi.fanli.service.inter.msg.UserSystemMsgService;
import com.yeshi.fanli.service.inter.order.msg.MsgOrderDetailService;
import com.yeshi.fanli.service.inter.user.invite.MsgInviteDetailService;
import com.yeshi.fanli.service.inter.user.msg.MsgAccountDetailService;
import com.yeshi.fanli.util.JumpDetailUtil;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.util.annotation.RequestSerializableByKey;
import com.yeshi.fanli.util.factory.msg.UserMsgVOFactory;
import com.yeshi.fanli.vo.msg.UserCommonMsgVO;
import com.yeshi.fanli.vo.msg.UserMsgCenter;
import com.yeshi.fanli.vo.msg.UserMsgVO;
import com.yeshi.fanli.vo.msg.UserSystemMsgVO;
import net.sf.json.JSONObject;
@Controller("WXMPUserMsgController")
@RequestMapping("/wxmp/api/v1/msg")
public class UserMsgController {
    @Resource
    private MsgOrderDetailService msgOrderDetailService;
    @Resource
    private MsgMoneyDetailService msgMoneyDetailService;
    @Resource
    private MsgInviteDetailService msgInviteDetailService;
    @Resource
    private MsgAccountDetailService msgAccountDetailService;
    @Resource
    private MsgOtherDetailService msgOtherDetailService;
    @Resource
    private UserMsgReadStateService userMsgReadStateService;
    @Resource
    private UserSystemMsgService userSystemMsgService;
    @Resource
    private JumpDetailV2Service jumpDetailV2Service;
    @Resource
    private MsgConfigService msgConfigService;
    @Resource
    private MsgDeviceReadStateService msgDeviceReadStateService;
    // 消息的类型
    final static String MSG_TYPE_ORDER = "order";
    final static String MSG_TYPE_MONEY = "money";
    final static String MSG_TYPE_ACCOUNT = "account";
    final static String MSG_TYPE_INVITE = "invite";
    final static String MSG_TYPE_OTHER = "other";
    /**
     * 消息列表
     * @param acceptData
     * @param uid
     * @param page
     * @param type
     * @param out
     */
    @RequestSerializableByKey(key = "#acceptData.device")
    @RequestMapping(value = "getMsgList", method = RequestMethod.POST)
    public void getMsgList(AcceptData acceptData, Long uid, PrintWriter out) {
        if (uid != null && uid == 0)
            uid = null;
        if (uid != null) {
            userSystemMsgService.syncSystemZNX(uid);
        }
        List<UserMsgCenter> listCenter = new ArrayList<>();
        // 单条消息
        List<UserCommonMsgVO> commonMsgList = new ArrayList<>();
        long currentTime = System.currentTimeMillis();
        // 板栗快省小助手
        MsgCommonDTO zhuShouMsg = msgConfigService.getZhuShouMsg();
        if (zhuShouMsg != null && zhuShouMsg.getShow() == true) {
            boolean read = false;
            MsgDeviceReadState state = msgDeviceReadStateService.getByDeviceAndPlatformAndType(
                    UserCommonMsgVO.TYPE_ZHUSHOU, acceptData.getDevice(),
                    acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2);
            if (state != null && state.getReadTime() != null
                    && zhuShouMsg.getUpdateTime().getTime() < state.getReadTime().getTime())
                read = true;
            // 查询是否已读
            if ((zhuShouMsg.getStartTime() != null && currentTime < zhuShouMsg.getStartTime().getTime())
                    || (zhuShouMsg.getEndTime() != null && currentTime > zhuShouMsg.getEndTime().getTime())) {
                // 不显示
            } else {
                JSONObject params = null;
                if (StringUtil.isNullOrEmpty(zhuShouMsg.getParams())) {
                    params = JSONObject.fromObject(zhuShouMsg.getParams());
                }
                JumpDetailV2 wxmpJumDetail = JumpDetailUtil.getWXMPJumDetail(zhuShouMsg.getJumpDetail(), params);
                commonMsgList.add(new UserCommonMsgVO(zhuShouMsg.getIcon(), zhuShouMsg.getTitle(),
                        zhuShouMsg.getUpdateTime(), UserCommonMsgVO.TYPE_ZHUSHOU, zhuShouMsg.getContent(), read,
                        wxmpJumDetail, null, 0));
            }
        }
        // 2、消息区域
        if (uid != null && uid > 0) {
            int page = 1;
            List<UserMsgVO> list = new ArrayList<>();
            List<MsgOrderDetail> detailList = msgOrderDetailService.listMsgOrderDetail(uid, page);
            if (detailList != null && detailList.size() > 0) {
                for (MsgOrderDetail detail : detailList) {
                    JSONObject params = new JSONObject();
                    params.put("orderNo", detail.getOrderId());
                    if (detail.getType() == MsgTypeOrderTypeEnum.share || detail.getType() == MsgTypeOrderTypeEnum.invite)
                        params.put("orderHideNo", UserUtil.filterOrderId(detail.getOrderId()));
                    JumpDetailV2 wxmpJumDetail = JumpDetailUtil.getWXMPJumDetail(jumpDetailV2Service.getByTypeCache("order_search"), params);
                    UserMsgVO userMsgVO = UserMsgVOFactory.create(detail, wxmpJumDetail, params);
                    userMsgVO.setType(MSG_TYPE_ORDER);
                    list.add(userMsgVO);
                }
            }
            List<MsgMoneyDetail> detailList1 = msgMoneyDetailService.listMsgMoneyDetail(uid, page);
            if (detailList1 != null && detailList1.size() > 0) {
                for (MsgMoneyDetail detail : detailList1) {
                    UserMsgVO userMsgVO = UserMsgVOFactory.create(detail);
                    userMsgVO.setType(MSG_TYPE_MONEY);
                    list.add(userMsgVO);
                }
            }
            List<MsgAccountDetail> detailList2 = msgAccountDetailService.listMsgAccountDetail(uid, page);
            if (detailList2 != null && detailList2.size() > 0) {
                for (MsgAccountDetail detail : detailList2) {
                    UserMsgVO userMsgVO = UserMsgVOFactory.create(detail);
                    userMsgVO.setType(MSG_TYPE_ACCOUNT);
                    list.add(userMsgVO);
                }
            }
            List<MsgInviteDetail> detailList3 = msgInviteDetailService.listMsgInviteDetail(uid, page);
            if (detailList3 != null && detailList3.size() > 0) {
                for (MsgInviteDetail detail : detailList3) {
                    UserMsgVO userMsgVO = UserMsgVOFactory.create(detail);
                    if (userMsgVO != null) {
                        userMsgVO.setType(MSG_TYPE_INVITE);
                        list.add(userMsgVO);
                    }
                }
            }
            List<MsgOtherDetail> detailList4 = msgOtherDetailService.listMsgOtherDetail(uid, page);
            if (detailList4 != null && detailList4.size() > 0) {
                for (MsgOtherDetail detail : detailList4) {
                    UserMsgVO userMsgVO = UserMsgVOFactory.create(detail);
                    if (userMsgVO != null) {
                        userMsgVO.setType(MSG_TYPE_OTHER);
                        list.add(userMsgVO);
                    }
                }
            }
            if (list.size() > 0) {
                // 时间排序
                listSort(list);
                if (list.size() >= 20) {
                    list = list.subList(0, 19);
                }
                for (UserMsgVO userMsgVO : list) {
                    UserMsgCenter userMsgCenter = new UserMsgCenter();
                    userMsgCenter.setUserMsg(userMsgVO);
                    listCenter.add(userMsgCenter);
                }
            }
        }
        GsonBuilder builder = new GsonBuilder();
        builder = getTimeDescJsonBuilder(builder);
        JSONObject root = new JSONObject();
        if (uid != null && uid > 0) {
            UserMsgUnReadNum num = userMsgReadStateService.getReadStateByUid(uid);
            UserSystemMsg usm = userSystemMsgService.getLatestUserSystemMsg(uid);
            if (usm != null) {
                UserSystemMsgVO userSystemMsgVO = new UserSystemMsgVO(usm.getId(), usm.getType().name(), usm.getSolved(), "系统消息", usm.getTitle(),
                        usm.getTimeTag() == 1 ? "http://img.flqapp.com/resource/msg/icon_emergent.png" : "",
                        "http://img.flqapp.com/resource/msg/icon_msg_system.png",
                        getTimeDesc(new Date(), usm.getCreateTime()), num.getTypeSystem());
                // TODO 跳转地址
                JSONObject params = new JSONObject();
                params.put("url", "http://apph5.yeshitv.com/special/1.0.9/jingXuanN_9.html?type=9_9");
                JumpDetailV2 wxmpJumDetail = JumpDetailUtil.getWXMPJumDetail(jumpDetailV2Service.getByTypeCache("web"), params);
                userSystemMsgVO.setJumpDetail(wxmpJumDetail);
                root.put("systemMsg", userSystemMsgVO);
            }
        }
        root.put("list", builder.create().toJson(listCenter));
        root.put("commonList", builder.create().toJson(commonMsgList));
        root.put("count", listCenter.size());
        out.print(JsonUtil.loadTrueResult(root));
    }
    private static void listSort(List<UserMsgVO> list) {
        Collections.sort(list, new Comparator<UserMsgVO>() {
            @Override
            public int compare(UserMsgVO o1, UserMsgVO o2) {
                if (o1.getTime().getTime() > o2.getTime().getTime()) {
                    return -1;
                } else if (o1 == o2) {
                    return 0;
                } else {
                    return 1;
                }
            }
        });
    }
    private String getTimeDesc(Date nowDate, Date targetDate) {
        Calendar now = Calendar.getInstance();
        now.setTime(nowDate);
        if (TimeUtil.getGernalTime(targetDate.getTime(), "yyyy-MM-dd")
                .equalsIgnoreCase(TimeUtil.getGernalTime(now.getTimeInMillis(), "yyyy-MM-dd"))) {
            return "今天 " + TimeUtil.getGernalTime(targetDate.getTime(), "HH:mm");
        } else if (TimeUtil.getGernalTime(targetDate.getTime(), "yyyy-MM-dd")
                .equalsIgnoreCase(TimeUtil.getGernalTime(now.getTimeInMillis() - 1000 * 60 * 60 * 24L, "yyyy-MM-dd"))) {
            return "昨天 " + TimeUtil.getGernalTime(targetDate.getTime(), "HH:mm");
        } else {
            return TimeUtil.getGernalTime(targetDate.getTime(), "yyyy.MM.dd HH:mm");
        }
    }
    private GsonBuilder getTimeDescJsonBuilder(GsonBuilder builder) {
        builder = builder.registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
            @Override
            public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) {
                if (value == null) {
                    return new JsonPrimitive("");
                } else {
                    Calendar now = Calendar.getInstance();
                    return new JsonPrimitive(getTimeDesc(new Date(now.getTimeInMillis()), value));
                }
            }
        }).registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() {
            @Override
            public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) {
                if (value == null) {
                    return new JsonPrimitive("0");
                } else {
                    return new JsonPrimitive(BigDecimalUtil.getWithNoZera(value).toString());
                }
            }
        });
        return builder;
    }
    /**
     *  消息未读清理
     * @param acceptData
     * @param uid
     * @param out
     */
    @RequestMapping(value = "setAllMsgRead", method = RequestMethod.POST)
    public void setAllMsgRead(AcceptData acceptData, Long uid, PrintWriter out) {
        msgDeviceReadStateService.setAllMsgRead(acceptData.getDevice(),
                "android".equalsIgnoreCase(acceptData.getPlatform()) ? 1 : 2);
        if (uid == null) {
            out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
            return;
        }
        // 初始化读取状态
        msgDeviceReadStateService.initReadState(acceptData.getDevice(),
                "android".equalsIgnoreCase(acceptData.getPlatform()) ? 1 : 2, UserCommonMsgVO.TYPE_RECOMMEND);
        msgDeviceReadStateService.initReadState(acceptData.getDevice(),
                "android".equalsIgnoreCase(acceptData.getPlatform()) ? 1 : 2, UserCommonMsgVO.TYPE_ZHUSHOU);
        // 设置设备消息所有已读
        msgDeviceReadStateService.setAllMsgRead(acceptData.getDevice(),
                "android".equalsIgnoreCase(acceptData.getPlatform()) ? 1 : 2);
        UserMsgUnReadNum num = userMsgReadStateService.getReadStateByUid(uid);
        int totalNum = num.getTypeAccount() + num.getTypeInvite() + num.getTypeMoney() + num.getTypeOrder()
                + num.getTypeScore() + num.getTypeSystem() + num.getTypeOther();
        if (totalNum == 0) {
            out.print(JsonUtil.loadFalseResult(1, "没有未读消息"));
            return;
        } else {
            userMsgReadStateService.setAllMsgRead(uid);
        }
        out.print(JsonUtil.loadTrueResult(""));
    }
}
fanli/src/main/java/com/yeshi/fanli/dao/elastic/ESOrderDao.java
@@ -31,7 +31,7 @@
     * @param uid 用户id
     * @return
     */
    public List<ESOrder> query(String key, String uid) {
    public List<ESOrder> query(String key, String uid, List<Integer> listPlatform) {
        List<ESOrder> list = new ArrayList<ESOrder>();
        // 商品名称匹配
        BoolQueryBuilder should1 = QueryBuilders.boolQuery().should(QueryBuilders.matchPhraseQuery("orderNo", key))
@@ -42,7 +42,16 @@
        // 查询创建
        SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
        sourceBuilder.query(QueryBuilders.boolQuery().must(should1).must(should2));
        if (listPlatform == null || listPlatform.size() == 0) {
            sourceBuilder.query(QueryBuilders.boolQuery().must(should1).must(should2));
        } else {
            BoolQueryBuilder should3 = QueryBuilders.boolQuery();
            for (Integer platform: listPlatform) {
                should3.should(QueryBuilders.termQuery("platform", platform));
            }
            sourceBuilder.query(QueryBuilders.boolQuery().must(should1).must(should2).must(should3));
        }
        
        SearchRequest searchRequest = new SearchRequest();
        searchRequest.indices(getDocument(ESOrder.class));
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/HongBaoV2CountMapper.java
@@ -221,6 +221,5 @@
    BigDecimal getRewardMoneyByDate(@Param("uid") Long uid, @Param("day")Integer dateType, 
            @Param("type") Integer hbType, @Param("orderState") Integer orderState,
            @Param("orderNo") String orderNo, @Param("moneyState") Integer moneyState,  
            @Param("source") Integer source,
            @Param("startTime") String startTime, @Param("endTime") String endTime);
            @Param("startTime") String startTime, @Param("endTime") String endTime,@Param("listSource") List<Integer> listSource);
}
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/order/CommonOrderMapper.java
@@ -27,7 +27,7 @@
    List<CommonOrderVO> listUserOrder(@Param("start") long start, @Param("count") int count, @Param("uid") Long uid,
            @Param("state") Integer state, @Param("type") Integer type, @Param("orderState") Integer orderState,
            @Param("orderNo") String orderNo, @Param("startTime") String startTime, @Param("endTime") String endTime,
            @Param("day") Integer day, @Param("source") Integer source);
            @Param("day") Integer day, @Param("listSource") List<Integer> listSource);
    /**
     * 统计用户订单 并订单号分组
@@ -40,7 +40,7 @@
    long countUserOrder(@Param("uid") Long uid, @Param("state") Integer state, @Param("type") Integer type,
            @Param("orderState") Integer orderState, @Param("orderNo") String orderNo,
            @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("day") Integer day,
            @Param("source") Integer source);
            @Param("listSource") List<Integer> listSource);
    /**
     * 判断部分失效状态
@@ -87,7 +87,7 @@
     * @param uid
     * @return
     */
    OrderCountVO getOrderCount(@Param("uid") Long uid, @Param("day")Integer day, @Param("source") Integer source);
    OrderCountVO getOrderCount(@Param("uid") Long uid, @Param("day")Integer day, @Param("listSource") List<Integer> listSource);
    
    /**
     * 昨日总订单-根据红包类型 自购 邀请 分享
fanli/src/main/java/com/yeshi/fanli/entity/order/ESOrder.java
@@ -31,7 +31,7 @@
    // 交易id
    @Field(index=true, store = true, type = FieldType.Text)
    private String tradeId;
    // 交易平台
    // 交易平台 (1淘宝 2京东  3拼多多)
    @Field(index=true, store = true, type = FieldType.Integer)
    private Integer platform;
    
fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoV2CountMapper.xml
@@ -485,9 +485,6 @@
        <!-- 订单号查询 -->
        <if test="orderNo != null and orderNo !='' ">AND co.co_order_no = #{orderNo}</if>
        
        <!-- 来源 -->
        <if test="source != null">AND co.co_source_type = #{source}</if>
        <!-- 时间段筛选 -->
        <if test="startTime != null and startTime != '' ">
            AND <![CDATA[co.co_third_create_time >= #{startTime}]]>
@@ -495,6 +492,12 @@
        <if test="endTime != null and endTime != '' ">
            AND <![CDATA[co.co_third_create_time <= #{endTime}]]>
        </if>
        <if test="listSource != null and listSource.size() > 0">
            <foreach collection="listSource" item="item" open="AND (" close=")" separator="or">
                co.co_source_type = #{item}
            </foreach>
        </if>
    </select>
fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml
@@ -452,7 +452,11 @@
        <!-- 订单号查询 -->
        <if test="orderNo != null and orderNo !='' ">AND co.co_order_no = #{orderNo}</if>
        <!-- 订单来源 -->
        <if test="source != null">AND co.co_source_type = #{source}</if>
        <if test="listSource != null and listSource.size() > 0">
            <foreach collection="listSource" item="item" open="AND (" close=")" separator="or">
                co.co_source_type = #{item}
            </foreach>
        </if>
        GROUP BY co.`co_order_no`, co.`co_source_type` ORDER BY
        co.co_third_create_time DESC LIMIT ${start},${count}
    </select>
@@ -485,7 +489,11 @@
        <!-- 订单号查询 -->
        <if test="orderNo != null and orderNo !='' ">AND co.co_order_no = #{orderNo}</if>
        <!-- 订单来源 -->
        <if test="source != null">AND co.co_source_type = #{source}</if>
        <if test="listSource != null and listSource.size() > 0">
            <foreach collection="listSource" item="item" open="AND (" close=")" separator="or">
                co.co_source_type = #{item}
            </foreach>
        </if>
        GROUP BY co.`co_order_no`, co.`co_source_type` )A
    </select>
    <select id="listOrderGoodsInfo" resultMap="ResultMap"
@@ -618,7 +626,11 @@
            '%Y%m'),DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
        </if>
        <!-- 订单来源 -->
        <if test="source != null and source != 0">AND co.co_source_type = #{source}</if>
        <if test="listSource != null and listSource.size() > 0">
            <foreach collection="listSource" item="item" open="AND (" close=")" separator="or">
                co.co_source_type = #{item}
            </foreach>
        </if>
    </sql>
    <select id="getOrderCount" resultMap="OrderCountMap">
        SELECT sum(self) as self,sum(shared) as shared,sum(invite) as invite
fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandInfoServiceImpl.java
@@ -36,6 +36,7 @@
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
import com.yeshi.fanli.vo.brand.BrandInfoVO;
@@ -208,7 +209,7 @@
        String type = contentType.substring(contentType.indexOf("/") + 1);
        // 文件路径
        String filePath = "/img/brand/" + UUID.randomUUID().toString().replace("-", "") + "." + type;
        String filePath = FilePathEnum.brand.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type;
        // 执行上传
        String fileLink = COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
fanli/src/main/java/com/yeshi/fanli/service/impl/config/SpreadImgServiceImpl.java
@@ -14,6 +14,7 @@
import com.yeshi.fanli.dao.mybatis.user.SpreadImgMapper;
import com.yeshi.fanli.entity.bus.invite.SpreadImg;
import com.yeshi.fanli.service.inter.config.SpreadImgService;
import com.yeshi.fanli.util.FilePathEnum;
@Service
public class SpreadImgServiceImpl implements SpreadImgService {
@@ -78,7 +79,7 @@
        String type = contentType.substring(contentType.indexOf("/") + 1);
    
        // 文件路径
        String filePath="/img/invite/"+UUID.randomUUID().toString().replace("-", "") + "." + type;
        String filePath=FilePathEnum.invite.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type;
        // 执行上传
        return COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
    }
fanli/src/main/java/com/yeshi/fanli/service/impl/count/HongBaoV2CountServiceImpl.java
@@ -344,16 +344,16 @@
    }
    
    @Override
    public BigDecimal getRewardMoneyToCount(Long uid, Integer dateType, Integer hbType) {
        return hongBaoV2CountMapper.getRewardMoneyByDate(uid, dateType, hbType, null, null, null, null, null, null);
    public BigDecimal getRewardMoneyToCount(Long uid, Integer dateType, Integer hbType, List<Integer> listSource) {
        return hongBaoV2CountMapper.getRewardMoneyByDate(uid, dateType, hbType, null, null, null, null, null, listSource);
    }
    
    
    @Override
    public BigDecimal getRewardMoneyByToSearch(Long uid, Integer dateType, Integer orderType, Integer orderState,
            String orderNo,  Integer moneyState, Integer source, String startTime,  String endTime) {
        return hongBaoV2CountMapper.getRewardMoneyByDate(uid, dateType, orderType, orderState, orderNo, moneyState, source,
                startTime, endTime);
            String orderNo,  Integer moneyState, String startTime,  String endTime, List<Integer> listSource) {
        return hongBaoV2CountMapper.getRewardMoneyByDate(uid, dateType, orderType, orderState, orderNo, moneyState,
                startTime, endTime, listSource);
    }
    
}
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/ArticleOfficialServiceImpl.java
@@ -18,6 +18,7 @@
import com.yeshi.fanli.entity.dynamic.ArticleOfficial;
import com.yeshi.fanli.exception.dynamic.ArticleOfficialException;
import com.yeshi.fanli.service.inter.dynamic.ArticleOfficialService;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.vo.dynamic.ArticleVO;
@@ -148,7 +149,7 @@
        String type = contentType.substring(contentType.indexOf("/") + 1);
        // 文件路径
        String filePath = "/img/article/" + UUID.randomUUID().toString().replace("-", "") + "." + type;
        String filePath = FilePathEnum.article.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type;
        // 执行上传
        String fileLink = COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsClassServiceImpl.java
@@ -28,6 +28,7 @@
import com.yeshi.fanli.service.inter.goods.TaoBaoClassService;
import com.yeshi.fanli.service.inter.lable.LabelClassService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.StringUtil;
@Service
@@ -241,7 +242,7 @@
        String type = contentType.substring(contentType.indexOf("/") + 1);
        // 文件路径
        String filePath = "/img/GoodsClass/" + UUID.randomUUID().toString().replace("-", "") + "." + type;
        String filePath = FilePathEnum.goodsClass.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type;
        // 执行上传
        String fileLink = COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
@@ -268,7 +269,7 @@
        String contentType = file.getContentType();
        String type = contentType.substring(contentType.indexOf("/") + 1);
        // 上传文件相对位置
        String fileUrl = "ClassImg/" + UUID.randomUUID().toString().replace("-", "") + "." + type;
        String fileUrl = FilePathEnum.goodsClassOld.getPath()+ UUID.randomUUID().toString().replace("-", "") + "." + type;
        boolean deleteFile = true;
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/GoodsSubClassServiceImpl.java
@@ -26,6 +26,7 @@
import com.yeshi.fanli.service.inter.goods.TaoBaoClassService;
import com.yeshi.fanli.service.inter.lable.LabelClassService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.StringUtil;
@Service
@@ -291,7 +292,7 @@
        String type = contentType.substring(contentType.indexOf("/") + 1);
        // 文件路径
        String filePath = "/img/GoodsSubClass/" + UUID.randomUUID().toString().replace("-", "") + "." + type;
        String filePath =FilePathEnum.goodsSubClass.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type;
        // 执行上传
        String fileLink = COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsServiceImpl.java
@@ -55,6 +55,7 @@
import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
import com.yeshi.fanli.util.AESUtil;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.FileUtil;
import com.yeshi.fanli.util.ImageUtil;
import com.yeshi.fanli.util.RedisManager;
@@ -304,7 +305,7 @@
            }
            FileUploadResult shareImgResult = COSManager.getInstance().uploadInputStream(shareImgInputStream,
                    "sharegoods/share_" + uid + "_" + goods.getAuctionId() + "_" + System.currentTimeMillis() + ".png");
                    FilePathEnum.shareGoods.getPath() + "share_" + uid + "_" + goods.getAuctionId() + "_" + System.currentTimeMillis() + ".png");
            if (shareImgResult == null || StringUtil.isNullOrEmpty(shareImgResult.getUrl())) {
                throw new ShareGoodsException(6, "分享图片保存失败");
fanli/src/main/java/com/yeshi/fanli/service/impl/help/HelpClassServiceImpl.java
@@ -29,6 +29,7 @@
import com.yeshi.fanli.exception.homemodule.FloatADException;
import com.yeshi.fanli.service.inter.help.HelpClassService;
import com.yeshi.fanli.service.inter.homemodule.AdActivityVersionControlService;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.StringUtil;
@Service
@@ -82,7 +83,7 @@
            InputStream inputStream = file.getInputStream();
            String contentType = file.getContentType();
            String type = contentType.substring(contentType.indexOf("/") + 1);
            String filePath ="/img/HelpClass/" + UUID.randomUUID().toString().replace("-", "") + "." + type;
            String filePath =FilePathEnum.helpClass.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type;
            picture = COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
        }
                
@@ -194,7 +195,7 @@
        String contentType = file.getContentType();
        String type = contentType.substring(contentType.indexOf("/") + 1);
        
        String filePath ="/img/HelpClass/" + UUID.randomUUID().toString().replace("-", "") + "." + type;
        String filePath =FilePathEnum.helpClass.getPath()+ UUID.randomUUID().toString().replace("-", "") + "." + type;
        
        /*  修改图片时,先删除已存在图片  */
        String picture = helpClass.getPicture();
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/FloatADServiceImpl.java
@@ -21,6 +21,7 @@
import com.yeshi.fanli.exception.homemodule.FloatADException;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.homemodule.FloatADService;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.StringUtil;
@Service
@@ -146,7 +147,7 @@
        String type = contentType.substring(contentType.indexOf("/") + 1);
    
        // 文件路径
        String filePath="/img/FloatAD/"+UUID.randomUUID().toString().replace("-", "") + "." + type;
        String filePath= FilePathEnum.floatAD.getPath() +UUID.randomUUID().toString().replace("-", "") + "." + type;
        // 执行上传
        String fileLink= COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
        
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/HomeNavbarServiceImpl.java
@@ -23,6 +23,7 @@
import com.yeshi.fanli.service.inter.goods.GoodsClassService;
import com.yeshi.fanli.service.inter.homemodule.HomeNavbarService;
import com.yeshi.fanli.service.inter.homemodule.SwiperBannerService;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.StringUtil;
@@ -182,7 +183,7 @@
        String type = contentType.substring(contentType.indexOf("/") + 1);
    
        // 文件路径
        String filePath="/img/HomeNavbar/"+UUID.randomUUID().toString().replace("-", "") + "." + type;
        String filePath= FilePathEnum.homeNavbar.getPath() +UUID.randomUUID().toString().replace("-", "") + "." + type;
        // 执行上传
        String fileLink= COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
        
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialCardServiceImpl.java
@@ -21,6 +21,7 @@
import com.yeshi.fanli.service.inter.homemodule.SpecialCardService;
import com.yeshi.fanli.service.inter.homemodule.SpecialPlaceService;
import com.yeshi.fanli.service.inter.homemodule.SpecialService;
import com.yeshi.fanli.util.FilePathEnum;
@Service
@@ -149,7 +150,7 @@
        String type = contentType.substring(contentType.indexOf("/") + 1);
    
        // 文件路径
        String filePath="/img/SpecialCard/"+UUID.randomUUID().toString().replace("-", "") + "." + type;
        String filePath=FilePathEnum.specialCard.getPath() +UUID.randomUUID().toString().replace("-", "") + "." + type;
        // 执行上传
        String fileLink= COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
        
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialServiceImpl.java
@@ -38,6 +38,7 @@
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;
@@ -265,7 +266,7 @@
        String type = contentType.substring(contentType.indexOf("/") + 1);
        // 文件路径
        String filePath = "/img/special/" + UUID.randomUUID().toString().replace("-", "") + "." + type;
        String filePath =FilePathEnum.special.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type;
        // 执行上传
        String fileLink = COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SwiperPictureServiceImpl.java
@@ -22,7 +22,6 @@
import com.yeshi.fanli.entity.AppVersionInfo;
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.SwiperPicture;
import com.yeshi.fanli.entity.common.JumpDetailV2;
import com.yeshi.fanli.exception.banner.SwiperPictureException;
@@ -30,6 +29,7 @@
import com.yeshi.fanli.service.inter.config.AppVersionService;
import com.yeshi.fanli.service.inter.homemodule.AdActivityVersionControlService;
import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.StringUtil;
@Service
@@ -193,7 +193,7 @@
        String type = contentType.substring(contentType.indexOf("/") + 1);
        // 文件路径
        String filePath = "/img/swiperPic/" + UUID.randomUUID().toString().replace("-", "") + "." + type;
        String filePath = FilePathEnum.swiper.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type;
        // 执行上传
        String fileLink = COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/LabelServiceImpl.java
@@ -25,6 +25,7 @@
import com.yeshi.fanli.entity.common.AdminUser;
import com.yeshi.fanli.exception.goods.quality.LabelException;
import com.yeshi.fanli.service.inter.lable.LabelService;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.StringUtil;
import jxl.Sheet;
@@ -245,7 +246,7 @@
        String contentType = file.getContentType();
        String type = contentType.substring(contentType.indexOf("/") + 1);
        // 上传文件相对位置
        String fileUrl="LableImg/"+UUID.randomUUID().toString().replace("-", "") + "." + type;
        String fileUrl=FilePathEnum.lable.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type;
        
        boolean deleteFile =true;
        
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -169,26 +169,30 @@
    public List<CommonOrderVO> listGroupOrderNoByUid(long start, int count, Long uid, Integer state, Integer type,
            Integer orderState, String orderNo, String startTime, String endTime, Integer dateType, Integer source)
            throws CommonOrderException {
        List<Integer> listSource = new ArrayList<>();
        if (source != null) {
            listSource.add(source);
        }
        return commonOrderMapper.listUserOrder(start, count, uid, state, type, orderState, orderNo, startTime, endTime,
                dateType, source);
                dateType, listSource);
    }
    @Override
    public long countGroupOrderNoByUid(Long uid, Integer state, Integer type, Integer orderState, String orderNo,
            String startTime, String endTime, Integer dateType, Integer source) throws CommonOrderException {
            String startTime, String endTime, Integer dateType, List<Integer> listSource) throws CommonOrderException {
        return commonOrderMapper.countUserOrder(uid, state, type, orderState, orderNo, startTime, endTime, dateType,
                source);
                listSource);
    }
    @Override
    public List<CommonOrderVO> getOrderByUid(AcceptData acceptData, Integer page, Long uid, Integer state, Integer type,
            Integer orderState, String orderNo, String startTime, String endTime, Integer dateType, Integer source)
            Integer orderState, String orderNo, String startTime, String endTime, Integer dateType, List<Integer> listSource)
            throws CommonOrderException, Exception {
        int pageSize = Constant.PAGE_SIZE;
        List<CommonOrderVO> listOrder = listGroupOrderNoByUid((page - 1) * pageSize, pageSize, uid, state, type,
                orderState, orderNo, startTime, endTime, dateType, source);
        List<CommonOrderVO> listOrder = commonOrderMapper.listUserOrder((page - 1) * pageSize, pageSize, uid, state, type,
                orderState, orderNo, startTime, endTime,    dateType, listSource);
        // 订单信息为空
        if (listOrder == null || listOrder.size() == 0) {
@@ -814,8 +818,8 @@
    }
    @Override
    public OrderCountVO getOrderCount(Long uid, Integer day, Integer source) {
        return commonOrderMapper.getOrderCount(uid, day, source);
    public OrderCountVO getOrderCount(Long uid, Integer day, List<Integer> listSource) {
        return commonOrderMapper.getOrderCount(uid, day, listSource);
    }
    @Override
fanli/src/main/java/com/yeshi/fanli/service/impl/order/ESOrderServiceImpl.java
@@ -24,7 +24,7 @@
    
    @Override
    public List<ESOrder> query(String key, String uid) {
        return esOrderDao.query(key, uid);
    public List<ESOrder> query(String key, String uid, List<Integer> listPlatform) {
        return esOrderDao.query(key, uid, listPlatform);
    }
}
fanli/src/main/java/com/yeshi/fanli/service/impl/shop/BanLiShopGoodsServiceImpl.java
@@ -22,6 +22,7 @@
import com.yeshi.fanli.service.inter.shop.BanLiShopGoodsImgService;
import com.yeshi.fanli.service.inter.shop.BanLiShopGoodsService;
import com.yeshi.fanli.service.inter.shop.BanLiShopGoodsSetService;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.StringUtil;
@Service
@@ -198,7 +199,7 @@
        String contentType = file.getContentType();
        String type = contentType.substring(contentType.indexOf("/") + 1);
        // 文件路径
        String filePath="/img/BanLiShopGoods/"+UUID.randomUUID().toString().replace("-", "") + "." + type;
        String filePath=FilePathEnum.banLiShopGoods.getPath() +UUID.randomUUID().toString().replace("-", "") + "." + type;
        // 执行上传
        String fileLink= COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
        return fileLink;
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoShopServiceImpl.java
@@ -22,6 +22,7 @@
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.db.MongoDBManager;
import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
@@ -134,7 +135,7 @@
        String type = contentType.substring(contentType.indexOf("/") + 1);
        // 文件路径
        String filePath = "/img/TaoBaoShop/" + UUID.randomUUID().toString().replace("-", "") + "." + type;
        String filePath = FilePathEnum.taoBaoShop.getPath()  + UUID.randomUUID().toString().replace("-", "") + "." + type;
        // 执行上传
        String fileLink = COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
fanli/src/main/java/com/yeshi/fanli/service/impl/user/QrCodeServiceImpl.java
@@ -20,6 +20,7 @@
import com.yeshi.fanli.service.inter.user.QrCodeService;
import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.FileUtil;
import com.yeshi.fanli.util.ImageUtil;
import com.yeshi.fanli.util.StringUtil;
@@ -73,7 +74,7 @@
                String imgUrl = COSManager.getInstance()
                        .uploadFile(new File(targetPath),
                                "ercode/" + "ercode_" + uid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg")
                                FilePathEnum.ercode.getPath() + "ercode_" + uid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg")
                        .getUrl();
                if (new File(erCodeTempPath).exists())
@@ -121,8 +122,8 @@
                String newUrl = url.substring(index + 1);
                String urlMd5 = newUrl.substring(0, newUrl.lastIndexOf("."));
                String imgUrl = COSManager.getInstance()
                        .uploadFile(new File(targetPath), "ercode/" + "ercode_" + uid + "_" + urlMd5 + ".jpg").getUrl();
                String imgUrl = COSManager.getInstance().uploadFile(new File(targetPath),
                        FilePathEnum.ercode.getPath() + "ercode_" + uid + "_" + urlMd5 + ".jpg").getUrl();
                if (new File(erCodeTempPath).exists())
                    new File(erCodeTempPath).delete();
@@ -191,9 +192,9 @@
        if (new File(targetPath).exists() && new File(targetPath).length() > 0) {
            String fileUrl = null;
            if (uid == null) {
                fileUrl = "ercode/" + "ercode_" + uuid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg";
                fileUrl = FilePathEnum.ercode.getPath() + "ercode_" + uuid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg";
            } else {
                fileUrl = "ercode/" + "ercode_" + uid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg";
                fileUrl = FilePathEnum.ercode.getPath() + "ercode_" + uid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg";
            }
            // 上传文件
@@ -267,9 +268,9 @@
            // 上传文件相对位置
            String fileUrl = null;
            if (uid == null) {
                fileUrl = "ercode/" + "ercode_" + uuid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg";
                fileUrl = FilePathEnum.ercode.getPath() + "ercode_" + uuid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg";
            } else {
                fileUrl = "ercode/" + "ercode_" + uid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg";
                fileUrl = FilePathEnum.ercode.getPath() + "ercode_" + uid + "_" + System.currentTimeMillis() + "_" + urlMd5 + ".jpg";
            }
            // 上传
@@ -311,7 +312,7 @@
        InputStream drawStream = ImageUtil.drawGoodsShareSingle(erCodeStream, portraitStream, goods);
        // 上传位置
        String uuid = UUID.randomUUID().toString().replace("-", "");
        String upPath = "sharegoods/xcx/poster" + uuid + "_" + goods.getGoodsId() + "_" + System.currentTimeMillis() + ".png";
        String upPath = FilePathEnum.shareXCX.getPath() + uuid + "_" + goods.getGoodsId() + "_" + System.currentTimeMillis() + ".png";
        // 上传文件
        return COSManager.getInstance().uploadInputStream(drawStream, upPath);
    }
@@ -323,7 +324,7 @@
        InputStream drawStream = ImageUtil.drawGoodsShareXCX(erCodeStream, user, goods);
        // 上传位置
        String uuid = UUID.randomUUID().toString().replace("-", "");
        String upPath = "sharegoods/xcx/poster" + uuid + "_" + goods.getGoodsId() + "_" + System.currentTimeMillis() + ".png";
        String upPath = FilePathEnum.shareXCX.getPath() + uuid + "_" + goods.getGoodsId() + "_" + System.currentTimeMillis() + ".png";
        // 上传文件
        return COSManager.getInstance().uploadInputStream(drawStream, upPath);
    }
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserAccountServiceImpl.java
@@ -60,6 +60,7 @@
import com.yeshi.fanli.service.inter.user.msg.UserAccountMsgNotificationService;
import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.FileUtil;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
@@ -912,7 +913,7 @@
            fw.close();
            String logUrl = COSManager.getInstance()
                    .uploadFile(new File(logPath), "beifen/" + new File(logPath).getName()).getUrl();
                    .uploadFile(new File(logPath), FilePathEnum.beifen.getPath() + new File(logPath).getName()).getUrl();
            return logUrl;
        } catch (IOException e) {
            e.printStackTrace();
@@ -1128,7 +1129,7 @@
                        InputStream asInputStream = HttpUtil.getAsInputStream(weiXinUser.getHeadimgurl());
                        if (asInputStream != null) {
                            FileUploadResult result = COSManager.getInstance().uploadFile(asInputStream,
                                    String.format("/portrait/wx/%s_%s.jpg", weiXinUser.getUnionid(),
                                    String.format(FilePathEnum.userPortrait.getPath() + "%s_%s.jpg", weiXinUser.getUnionid(),
                                            System.currentTimeMillis() + ""));
                            if (result != null && !StringUtil.isNullOrEmpty(result.getUrl()))
                                portrait = result.getUrl();
@@ -1353,7 +1354,7 @@
                LogHelper.test("微信头像下载失败: " + weiXinUser.getUnionid() + " " + headimgurl);
            } else {
                FileUploadResult result = COSManager.getInstance().uploadFile(asInputStream, String
                        .format("/portrait/wx/%s_%s.jpg", weiXinUser.getUnionid(), System.currentTimeMillis() + ""));
                        .format(FilePathEnum.userPortrait.getPath() + "%s_%s.jpg", weiXinUser.getUnionid(), System.currentTimeMillis() + ""));
                if (result != null && !StringUtil.isNullOrEmpty(result.getUrl())) {
                    headimgurl = result.getUrl();
                } else {
@@ -1413,7 +1414,7 @@
            InputStream asInputStream = HttpUtil.getAsInputStream(weiXinUser.getHeadimgurl());
            if (asInputStream != null) {
                FileUploadResult result = COSManager.getInstance().uploadFile(asInputStream, String
                        .format("/portrait/wx/%s_%s.jpg", weiXinUser.getUnionid(), System.currentTimeMillis() + ""));
                        .format(FilePathEnum.userPortrait.getPath() +"%s_%s.jpg", weiXinUser.getUnionid(), System.currentTimeMillis() + ""));
                if (result != null && !StringUtil.isNullOrEmpty(result.getUrl()))
                    portrait = result.getUrl();
            } else {
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserComplaintServiceImpl.java
@@ -17,6 +17,7 @@
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.exception.user.UserComplaintException;
import com.yeshi.fanli.service.inter.user.UserComplaintService;
import com.yeshi.fanli.util.FilePathEnum;
import net.sf.json.JSONArray;
@@ -51,7 +52,7 @@
                String contentType = file.getContentType();
                String type = contentType.substring(contentType.indexOf("/") + 1);
                // 上传文件相对位置
                String fileUrl="/img/UserComplaint/"+UUID.randomUUID().toString().replace("-", "") + "." + type;
                String fileUrl= FilePathEnum.userComplaint.getPath() +UUID.randomUUID().toString().replace("-", "") + "." + type;
                
                String uploadFilePath = COSManager.getInstance().uploadFile(inputStream, fileUrl).getUrl();
                array.add(uploadFilePath);
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java
@@ -52,6 +52,7 @@
import com.yeshi.fanli.service.inter.user.UserRankService;
import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.InviteCodeFilterUtil;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.account.UserUtil;
@@ -379,10 +380,11 @@
            userInfoExtraMapper.insertSelective(userInfoExtra);
        }
        // 发送激活成功消息
        Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.inviteCodeActive,
                new Gson().toJson(new InviteCodeActiveMQMsg(uid, new Date())));
        producer.send(message);
        if (!Constant.IS_TEST) { // 发送激活成功消息
            Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.inviteCodeActive,
                    new Gson().toJson(new InviteCodeActiveMQMsg(uid, new Date())));
            producer.send(message);
        }
        return mycode;
    }
@@ -447,7 +449,7 @@
                    LogHelper.test("微信头像下载失败: " + weiXinUser.getUnionid() + " " + headimgurl);
                } else {
                    FileUploadResult result = COSManager.getInstance().uploadFile(asInputStream, String.format(
                            "/portrait/wx/%s_%s.jpg", weiXinUser.getUnionid(), System.currentTimeMillis() + ""));
                            FilePathEnum.userPortrait.getPath() + "%s_%s.jpg", weiXinUser.getUnionid(), System.currentTimeMillis() + ""));
                    if (result != null && !StringUtil.isNullOrEmpty(result.getUrl())) {
                        headimgurl = result.getUrl();
                    } else {
@@ -496,10 +498,12 @@
            userInfoExtra.setCreateTime(new Date());
            userInfoExtraMapper.insertSelective(userInfoExtra);
        }
        // 发送激活成功消息
        Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.inviteCodeActive,
                new Gson().toJson(new InviteCodeActiveMQMsg(uid, new Date())));
        producer.send(message);
        if (!Constant.IS_TEST) { // 发送激活成功消息
            Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.inviteCodeActive,
                    new Gson().toJson(new InviteCodeActiveMQMsg(uid, new Date())));
            producer.send(message);
        }
    }
    @Override
@@ -564,7 +568,7 @@
                    LogHelper.test("微信头像下载失败: " + weiXinUser.getUnionid() + " " + headimgurl);
                } else {
                    FileUploadResult result = COSManager.getInstance().uploadFile(asInputStream, String.format(
                            "/portrait/wx/%s_%s.jpg", weiXinUser.getUnionid(), System.currentTimeMillis() + ""));
                            FilePathEnum.userPortrait.getPath() + "%s_%s.jpg", weiXinUser.getUnionid(), System.currentTimeMillis() + ""));
                    if (result != null && !StringUtil.isNullOrEmpty(result.getUrl())) {
                        headimgurl = result.getUrl();
                    } else {
@@ -614,6 +618,12 @@
        } else {
            userInfoExtra.setCreateTime(new Date());
            userInfoExtraMapper.insertSelective(userInfoExtra);
        }
        if (!Constant.IS_TEST) { // 发送激活成功消息
            Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.inviteCodeActive,
                    new Gson().toJson(new InviteCodeActiveMQMsg(uid, new Date())));
            producer.send(message);
        }
    }
@@ -846,10 +856,12 @@
        update.setInviteCodeVip(inviteCodeVip);
        update.setUpdateTime(new Date());
        userInfoExtraMapper.updateByPrimaryKeySelective(update);
        //发送邀请码更改成功的消息
        Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.userInfoUpdate,
                new Gson().toJson(new UserInfoUpdateMQMsg(uid, UserInfoUpdateTypeEnum.inviteCode, inviteCodeVip, new Date())));
        producer.send(message);
        if(!Constant.IS_TEST) { //发送邀请码更改成功的消息
            Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.userInfoUpdate,
                    new Gson().toJson(new UserInfoUpdateMQMsg(uid, UserInfoUpdateTypeEnum.inviteCode, inviteCodeVip, new Date())));
            producer.send(message);
        }
    }
    
    
@@ -869,7 +881,7 @@
        }
        
        // 执行上传
        String filePath = "/img/user/erCode/" + UUID.randomUUID().toString().replace("-", "") + ".jpg";
        String filePath = FilePathEnum.userERcode.getPath() + UUID.randomUUID().toString().replace("-", "") + ".jpg";
        String fileLink = COSManager.getInstance().uploadFile(new File(targetPath), filePath).getUrl();
    
        // 删除本地图片
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java
@@ -49,6 +49,7 @@
import com.yeshi.fanli.service.inter.user.tb.TaoBaoUnionAuthRecordService;
import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.ThreadUtil;
import com.yeshi.fanli.util.account.UserUtil;
@@ -169,7 +170,7 @@
                        UserInfo temp = userInfoMapper.selectByPrimaryKey(form.getId());
                        COSManager cosManager = COSManager.getInstance();
                        InputStream inputStream = HttpUtil.getAsInputStream(temp.getPortrait());
                        String uploadFile = cosManager.uploadFile(inputStream, UUID.randomUUID().toString()).getUrl();
                        String uploadFile = cosManager.uploadFile(inputStream, FilePathEnum.userPortrait.getPath() + UUID.randomUUID().toString()).getUrl();
                        UserInfo updateTemp = new UserInfo(temp.getId());
                        updateTemp.setPortrait(uploadFile);
                        userInfoMapper.updateByPrimaryKeySelective(updateTemp);
@@ -239,7 +240,7 @@
            find.setWxUnionId(weiXinUser.getUnionid());
            String wxHeadImg = COSManager.getInstance()
                    .uploadFile(HttpUtil.getAsInputStream(weiXinUser.getHeadimgurl()),
                            Constant.WXHEADURL + UUID.randomUUID().toString())
                            FilePathEnum.userPortrait.getPath() + UUID.randomUUID().toString())
                    .getUrl();
            find.setPortrait(wxHeadImg);
            find.setWxPic(wxHeadImg);
@@ -600,7 +601,7 @@
        Thumbnails.of(file.getInputStream()).size(200, 200).toFile(targetPath);
        // 执行上传
        String filePath = "/img/user/" + UUID.randomUUID().toString().replace("-", "") + ".jpg";
        String filePath =FilePathEnum.userPortrait.getPath() + UUID.randomUUID().toString().replace("-", "") + ".jpg";
        String fileLink = COSManager.getInstance().uploadFile(new File(targetPath), filePath).getUrl();
        // 删除本地图片
@@ -616,7 +617,7 @@
        userInfoMapper.updateByPrimaryKeySelective(userInfo);
        // 删除原头像
        if (!StringUtil.isNullOrEmpty(portrait) && portrait.contains("/img/user/")) {
        if (!StringUtil.isNullOrEmpty(portrait)) {
            COSManager.getInstance().deleteFile(portrait);
        }
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserRankingsServiceImpl.java
@@ -29,6 +29,7 @@
import com.yeshi.fanli.exception.user.UserRankingsException;
import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
import com.yeshi.fanli.service.inter.user.UserRankingsService;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.vo.order.HongBaoV2VO;
@@ -134,7 +135,7 @@
        String type = contentType.substring(contentType.indexOf("/") + 1);
        // 上传文件相对位置
        String fileUrl = "userRankings/" + UUID.randomUUID().toString().replace("-", "") + "." + type;
        String fileUrl = FilePathEnum.userRankings.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type;
        InputStream inputStream = file.getInputStream();
        String uploadFilePath = COSManager.getInstance().uploadFile(inputStream, fileUrl).getUrl();
@@ -254,7 +255,7 @@
            System.out.println("name" + name);
            String prefix = name.substring(name.lastIndexOf(".") + 1);
            // 上传文件相对位置
            String fileUrl = "userRankings/" + UUID.randomUUID().toString().replace("-", "") + "." + prefix;
            String fileUrl = FilePathEnum.userRankings.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + prefix;
            System.out.println(fileUrl);
            FileInputStream is = new FileInputStream(filePic);
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java
@@ -28,7 +28,6 @@
import com.yeshi.fanli.dto.share.ShareGoodsRecordDTO;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.share.UserShareGoodsGroup;
import com.yeshi.fanli.entity.bus.share.UserShareGoodsHistory;
import com.yeshi.fanli.entity.bus.share.UserShareGoodsRecord;
import com.yeshi.fanli.entity.bus.share.UserShareGoodsRecord.ShareSourceTypeEnum;
import com.yeshi.fanli.entity.bus.user.UserGoodsStorage;
@@ -44,7 +43,6 @@
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.user.QrCodeService;
import com.yeshi.fanli.service.inter.user.UserAccountService;
import com.yeshi.fanli.service.inter.user.UserGoodsStorageService;
import com.yeshi.fanli.service.inter.user.UserShareGoodsGroupService;
@@ -52,13 +50,13 @@
import com.yeshi.fanli.service.inter.user.integral.IntegralGetService;
import com.yeshi.fanli.util.AESUtil;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.ImageUtil;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.factory.CommonGoodsFactory;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.vo.goods.GoodsDetailVO;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@@ -490,7 +488,7 @@
        InputStream inputStream = ImageUtil.drawGoodsShareBigImg(erCodeInputStream, portrait, listGoods);
        FileUploadResult shareImg = COSManager.getInstance().uploadInputStream(inputStream,
                "sharegoods/share_" + uid + "_" + shareId + "_" + System.currentTimeMillis() + ".png");
                FilePathEnum.shareGoods.getPath() + "share_" + uid + "_" + shareId + "_" + System.currentTimeMillis() + ".png");
        return shareImg;
    }
@@ -1025,7 +1023,7 @@
        InputStream inputStream = ImageUtil.drawGoodsSharePicture(erCodeInputStream, portrait, listGoods);
        FileUploadResult shareImg = COSManager.getInstance().uploadInputStream(inputStream,
                "sharegoods/share_" + uid + "_" + shareId + "_" + System.currentTimeMillis() + ".png");
                FilePathEnum.shareGoods.getPath() + "share_" + uid + "_" + shareId + "_" + System.currentTimeMillis() + ".png");
        return shareImg;
    }
fanli/src/main/java/com/yeshi/fanli/service/inter/count/HongBaoV2CountService.java
@@ -238,7 +238,7 @@
     * @param hbType
     * @return
     */
    public BigDecimal getRewardMoneyToCount(Long uid, Integer dateType, Integer hbType);
    public BigDecimal getRewardMoneyToCount(Long uid, Integer dateType, Integer hbType, List<Integer> listSource);
    /**
     * 统计红包个数
@@ -261,6 +261,6 @@
     * @return
     */
    public BigDecimal getRewardMoneyByToSearch(Long uid, Integer dateType, Integer hbType, Integer orderState, String orderNo,
             Integer moneyState, Integer source, String startTime, String endTime);
             Integer moneyState, String startTime, String endTime, List<Integer> listSource);
}
fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderService.java
@@ -66,7 +66,7 @@
     * @throws CommonOrderException
     */
    long countGroupOrderNoByUid(Long uid, Integer state, Integer type, Integer orderState, String orderNo,
            String startTime, String endTime, Integer dateType, Integer source) throws CommonOrderException;
            String startTime, String endTime, Integer dateType, List<Integer> listSource) throws CommonOrderException;
    /**
     * 移动段订单列表
@@ -80,7 +80,7 @@
     * @return
     */
    public List<CommonOrderVO> getOrderByUid(AcceptData acceptData, Integer page, Long uid, Integer state, Integer type,
            Integer orderState, String orderNo, String startTime, String endTime, Integer dateType, Integer source)
            Integer orderState, String orderNo, String startTime, String endTime, Integer dateType, List<Integer> listSource)
            throws CommonOrderException,Exception;
    /**
@@ -362,7 +362,7 @@
     * @param source
     * @return
     */
    public OrderCountVO getOrderCount(Long uid, Integer day, Integer source);
    public OrderCountVO getOrderCount(Long uid, Integer day,  List<Integer> listSource);
    /**
     * 搜索订单信息
fanli/src/main/java/com/yeshi/fanli/service/inter/order/ESOrderService.java
@@ -18,7 +18,7 @@
     * @param uid
     * @return
     */
    List<ESOrder> query(String key, String uid);
    List<ESOrder> query(String key, String uid, List<Integer> listPlatform);
    
    
}
fanli/src/main/java/com/yeshi/fanli/util/FilePathEnum.java
New file
@@ -0,0 +1,51 @@
package com.yeshi.fanli.util;
public enum FilePathEnum {
    userPortrait("/img/user/", "用户头像"), // -- /portrait/wx/ -- /wx/headImg/
    userERcode("/img/user/erCode/", "用户上传微信二维码"),
    userComplaint("/img/UserComplaint/", "用户吐槽图片"),
    userRankings("/userRankings/", "奖金排行榜假用户头像"),
    beifen("/beifen/", ""),
    activityUserPortrait("/img/GoodsSubClass/", "活动用户头像"),
    apk("/apk/admin/", "上传Apk安装包"), // -- /img/admin/
    section("/section/", "后台上传图片路径"), // -- /img/admin/
    shareGoods("/sharegoods/", "分享商品图片"),
    shareXCX("/sharegoods/xcx/", "分享小程序图片"),
    ercode("/ercode/", "分享邀请图二维码图片"),
    invite("/img/invite/", "分享邀请好友图片"),
    helpClass("/img/HelpClass/", "帮助中心分类图片"),
    goodsClassOld("/ClassImg/", "商品一级分类图片-老版"),
    goodsClass("/img/GoodsClass/", "商品一级分类图片"),
    goodsSubClass("/img/GoodsSubClass/", "商品二级以下分类图片"),
    lable("/LableImg/", "标签图片"),
    taoBaoShop("/img/TaoBaoShop/", "淘宝店铺图片"),
    brand("/img/brand/", "品牌图片"),
    article("/img/article/", "学院文章图片"),
    floatAD("/img/FloatAD/", "首页弹框图片"),
    homeNavbar("/img/HomeNavbar/", "导航栏图片"),
    specialCard("/img/SpecialCard/", "专题管理图片"),
    special("/img/special/", "专题图片"),
    swiper("/img/swiperPic/", "轮播图片"),
    banLiShopClass("/img/shopGoodsClass/", "板栗商城分类图片"),
    banLiShopGoods("/img/BanLiShopGoods/", "板栗商城商品图片");
    private final String path;
    private final String desc;
    private FilePathEnum(String path, String desc) {
        this.path = path;
        this.desc = desc;
    }
    public String getDesc() {
        return desc;
    }
    public String getPath() {
        return path;
    }
}
fanli/src/main/java/com/yeshi/fanli/util/wx/WXLoginUtil.java
@@ -12,6 +12,7 @@
import com.yeshi.fanli.entity.bus.user.WeiXinUserParam;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.StringUtil;
public class WXLoginUtil {
@@ -102,7 +103,7 @@
                }
                
                FileUploadResult result = COSManager.getInstance().uploadFile(asInputStream,
                        String.format("/portrait/wx/%s_%s.jpg", user.getUnionid(), System.currentTimeMillis() + ""));
                        String.format(FilePathEnum.userPortrait.getPath() + "%s_%s.jpg", user.getUnionid(), System.currentTimeMillis() + ""));
                if (result != null && !StringUtil.isNullOrEmpty(result.getUrl())) {
                    user.setHeadimgurl(result.getUrl());
                    // COS删除其余头像
fanli/src/main/resource/image/share/tip_angle.png