yujian
2019-12-26 012232edc4dac15517c69c2af3934f901e818b7c
帮助中心 + 新人红包统计
21个文件已修改
7个文件已添加
776 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/admin/HelpCenterAdminController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/admin/TaoLiJinAdminController.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/BrandController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/BrandControllerV2.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/ElasticBaseDao.java 172 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/elastic/ESOrderDao.java 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/help/HelpCenterMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/tlj/UserTaoLiJinNewbiesMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/bus/help/HelpCenter.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/bus/tlj/UserTaoLiJinNewbies.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/bus/user/UserInfo.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/order/ESOrder.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/IntegralJob.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/help/HelpCenterMapper.xml 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/redpack/RedPackBalanceMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/tlj/UserTaoLiJinNewbiesMapper.xml 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/help/HelpCenterServiceImpl.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/ESOrderServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackGiveRecordServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinNewbiesServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/help/HelpCenterService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/order/ESOrderService.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/redpack/UserTaoLiJinNewbiesService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/Constant.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/admin/HelpCenterAdminController.java
@@ -101,6 +101,9 @@
        JSONObject data = new JSONObject();
        data.put("id", crrent.getId());
        data.put("title", crrent.getTitle());
        data.put("state", crrent.getState());
        data.put("weight", crrent.getWeight());
        if (crrent.getStartTime() != null) {
            data.put("startTime", TimeUtil.getWholeTime(crrent.getStartTime().getTime()));
@@ -141,7 +144,7 @@
     */
    @RequestMapping(value = "query")
    public void query(String callback, Integer pageIndex, Integer pageSize, String key, Long cid, Integer orderMode,
            String version, String platform, PrintWriter out) {
            String version, String platform, Integer state,PrintWriter out) {
        try {
            if (orderMode == null)
                orderMode = 1;
@@ -152,7 +155,7 @@
            if (pageSize == null)
                pageSize = Constant.PAGE_SIZE;
            List<HelpCenter> list = helpCenterService.query(0, Integer.MAX_VALUE, key, cid, orderMode);
            List<HelpCenter> list = helpCenterService.query(0, Integer.MAX_VALUE, key, cid, orderMode, state);
            if (list == null || list.size() == 0) {
                JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
                return;
fanli/src/main/java/com/yeshi/fanli/controller/admin/TaoLiJinAdminController.java
New file
@@ -0,0 +1,64 @@
package com.yeshi.fanli.controller.admin;
import java.io.PrintWriter;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.yeshi.utils.JsonUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinNewbies;
import com.yeshi.fanli.service.inter.redpack.UserTaoLiJinNewbiesService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
import net.sf.json.JSONObject;
@Controller
@RequestMapping("admin/new/api/v1/tlj")
public class TaoLiJinAdminController {
    @Resource
    private UserTaoLiJinNewbiesService userTaoLiJinNewbiesService;
    /**
     * 新人红包查询
     * @param callback
     * @param pageIndex
     * @param key
     * @param order
     * @param out
     */
    @RequestMapping(value = "queryNewbies")
    public void queryNewbies(String callback, Integer pageIndex, String key, Integer order, PrintWriter out) {
        try {
            int pageSize = Constant.PAGE_SIZE;
            List<UserTaoLiJinNewbies> list = userTaoLiJinNewbiesService.query(pageIndex, pageSize, key, order);
            if (list == null || list.size() == 0) {
                JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未查找到相关信息"));
                return;
            }
            long count = userTaoLiJinNewbiesService.count(key);
            int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
            PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
            Gson gson = new GsonBuilder().serializeNulls().setDateFormat("yyyy/MM/dd HH:mm:ss").create();
            JSONObject data = new JSONObject();
            data.put("pe", pe);
            data.put("result_list", gson.toJson(list));
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
        } catch (Exception e) {
            e.printStackTrace();
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("系统异常")));
        }
    }
}
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/BrandController.java
@@ -27,6 +27,7 @@
import com.yeshi.fanli.service.inter.brand.BrandClassShopService;
import com.yeshi.fanli.service.inter.brand.BrandInfoRecordService;
import com.yeshi.fanli.service.inter.brand.TaoBaoShopHistoryService;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
@@ -70,6 +71,9 @@
    @Resource
    private BrandInfoRecordService brandInfoRecordService;
    
    @Resource
    private ConfigService configService;
    
    /**
     * 获取品牌分类
@@ -86,6 +90,7 @@
            }
            JSONObject data = new JSONObject();
            data.put("bgPicture", configService.get("brand_background_picture"));
            data.put("count", list.size());
            data.put("list", JsonUtil.getApiCommonGson().toJson(list));
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java
@@ -2127,7 +2127,7 @@
            }
            data.put("moduleState", mySettings);
            int tailor = 0;
            boolean tailor = false;
            int welfareCenterNews = 0;
            String invitCode = null;
            UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
@@ -2137,10 +2137,9 @@
                }
                // vip邀请码优先
                if (!StringUtil.isNullOrEmpty(userInfoExtra.getInviteCodeVip())) {
                    tailor = 1;
                    invitCode = userInfoExtra.getInviteCodeVip();
                } else if (!StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) {
                    tailor = 2;
                    tailor = true;
                    invitCode = userInfoExtra.getInviteCode();
                }
                
@@ -2163,8 +2162,12 @@
                        userInfo.setWeiXin(userInfoExtra.getWeiXin());
                }
                
                data.put("erCode", userInfoExtra.getErCode());
                // 二维码
                userInfo.setErCode(userInfoExtra.getErCode());
            }
            // 显示邀请码特制入口
            data.put("tailor", tailor);
            // 1.6.5 之后返回 微信号提示
            if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion()))
                userInfo.setWeiXinTip("添加微信号后,你的邀请人和直接粉丝可以通过微信与你建立联系。");
@@ -2197,6 +2200,7 @@
                data.put("redPackLock", verifyForbid);
            }
            if  (!StringUtil.isNullOrEmpty(invitCode)) {
                // 2.0.6 返回邀请人
                if (VersionUtil.greaterThan_2_0_6(acceptData.getPlatform(), acceptData.getVersion())) {
@@ -2206,15 +2210,6 @@
                        bossName = threeSale.getBoss().getNickName();
                    }
                    data.put("bossName", bossName);
                    if(tailor == 2) {
                        long firstTeam = threeSaleSerivce.countFirstTeam(uid, 1);
                        if (firstTeam >= 2) {
                            data.put("tailor", true);
                        }
                    } else {
                        data.put("tailor", false);
                    }
                }
            }
            
@@ -2331,7 +2326,7 @@
     */
    @RequestMapping(value = "saveInfo")
    public void saveInfo(AcceptData acceptData, String nickName, String weiXin, Integer sex, Long uid,
            String inviteCode, MultipartFile qrCodeFile, PrintWriter out) {
            String inviteCode, MultipartFile qrCodeFile, HttpServletRequest request, PrintWriter out) {
        try {
            if (uid == null) {
                out.print(JsonUtil.loadFalseResult("用户未登录"));
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/BrandControllerV2.java
@@ -1,7 +1,6 @@
package com.yeshi.fanli.controller.client.v2;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@@ -663,19 +662,25 @@
            out.print(JsonUtil.loadFalseResult("页码不正确"));
            return;
        }
        if (cid != null && cid == 0) {
            cid = null;
        }
        
        JSONObject data = new JSONObject();
        if (page == 1  && cid == null) { // 精选页banner
            List<SwiperPicture> banners = swiperPictureService.getByBannerCardAndVersion("brand_banners",acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
            if (banners == null)
                banners = new ArrayList<>();
            data.put("banners", JsonUtil.getApiCommonGson().toJson(banners));
        }
        if (page == 1 && cid != null) {
            List<BrandInfo> brandlist = brandInfoService.listValidByCidToApp(cid);
            if(brandlist == null)
                brandlist = new ArrayList<BrandInfo>();
            data.put("brandlist", JsonUtil.getApiCommonGson().toJson(brandlist));
        }
        
        long count = brandInfoService.countValidByCidToApp(cid);
        
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java
@@ -626,5 +626,31 @@
        }
    }
    
    /**
     * 站内信提醒队员添加微信号
     *
     * @param acceptData
     * @param uid
     * @param inviteId
     * @param out
     */
    @RequestMapping(value = "tailorCode")
    public void tailorCode(AcceptData acceptData, Long uid, PrintWriter out) {
        if (uid == null) {
            out.print(JsonUtil.loadFalseResult("传递参数缺失"));
            return;
        }
        JSONObject data = new JSONObject();
        data.put("num", threeSaleSerivce.countFirstTeam(uid, 1));
        data.put("limit", Constant.INVITE_CODRE_TAILOR_LIMIT);
        data.put("use", "邀请码的作用");
        data.put("useInfo", "1.邀请码可帮助好友激活邀请功能;\r\n2.好友通过你的邀请码激活邀请功能后,将成为你的直接粉丝,未来产生的订单你都有奖金;\r\n3.邀请码具有唯一性。");
        data.put("merit", "专属邀请码优势");
        data.put("meritInfo", "1.你可以自由设置4~12位简单易记的邀请码;\r\n" + "2.专属邀请码是对你和你的团队尊贵身份的彰显。");
        out.print(JsonUtil.loadTrueResult(data));
    }
    
}
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java
@@ -244,11 +244,13 @@
        try {
            long count = 0;
            List<CommonOrderVO> list = null;
            List<ESOrder> listES = esOrderService.multiMatchQuery(key, uid.toString());
            List<ESOrder> listES = esOrderService.query(key, uid.toString());
            if (listES.size() != 0) {
                list = commonOrderService.searchOrderByUid(page, Constant.PAGE_SIZE, uid, listES);
                count = commonOrderService.countSearchOrderByUid(uid, listES);
            }
            if (list == null) {
                list = new ArrayList<>();
            }
fanli/src/main/java/com/yeshi/fanli/dao/ElasticBaseDao.java
New file
@@ -0,0 +1,172 @@
package com.yeshi.fanli.dao;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.apache.http.HttpHost;
import org.elasticsearch.action.delete.DeleteRequest;
import org.elasticsearch.action.get.GetRequest;
import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.action.update.UpdateRequest;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.SearchHits;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.springframework.stereotype.Repository;
import org.yeshi.utils.JsonUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@Repository
public abstract class ElasticBaseDao<T> {
    // 地址
    private static String host = "192.168.1.200";
    // 端口
    private static Integer port = 9200;
    // 数据库名称
    public static String index = "order";
    // 初始化api客户端
    public static RestHighLevelClient client = new RestHighLevelClient(
            RestClient.builder(new HttpHost(host, port, "http")));
    /**
     * 插入数据
     *
     * @param bean
     * @return
     */
    public void save(T bean) {
        String json = JsonUtil.getSimpleGson().toJson(bean);
        IndexRequest request = new IndexRequest(index);
        request.source(json, XContentType.JSON);
        // 同步执行
        try {
            client.index(request, RequestOptions.DEFAULT);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    /**
     * 插入数据
     *
     * @param bean
     * @return
     */
    public void save(T bean, String id) {
        String json = JsonUtil.getSimpleGson().toJson(bean);
        IndexRequest request = new IndexRequest(index).id(id);
        request.source(json, XContentType.JSON);
        // 同步执行
        try {
            client.index(request, RequestOptions.DEFAULT);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    /**
     * 更新
     * @param Document id
     * @param bean
     */
    public void update(String id, T bean) {
        UpdateRequest request = new UpdateRequest(index, id);
        String json = new GsonBuilder().create().toJson(bean);
        request.doc(json, XContentType.JSON);
        try {
            client.update(request, RequestOptions.DEFAULT);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /**
     *删除
     *
     * @param Document id
     */
    public void delete(String id) {
        DeleteRequest request = new DeleteRequest(index, id);
        try {
            client.delete(request, RequestOptions.DEFAULT);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    /**
     * 查询
     *
     * @param Document id
     * @return
     */
    public T get(String id, Class<T> entityClass) {
        GetRequest request = new GetRequest(index, id);
        try {
            GetResponse getResponse = client.get(request, RequestOptions.DEFAULT);
            if (getResponse.isExists()) {
                String content = getResponse.getSourceAsString();
                return new Gson().fromJson(content, entityClass);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
    /**
     * 查询
     * @param document 列名
     * @param key 匹配词-将分开单个字
     * @param start
     * @param count
     * @param entityClass
     * @return
     */
    public List<T> query(String document, String key, int start, int count, Class<T> entityClass) {
        List<T> list = new ArrayList<>();
        SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
        sourceBuilder.query(QueryBuilders.termQuery(document, key));
        sourceBuilder.from(start); // 索引以开始搜索的选项。预设为0。
        sourceBuilder.size(count); // 返回的搜索命中次数的选项。默认为10
        sourceBuilder.timeout(new TimeValue(60, TimeUnit.SECONDS)); // 设置一个可选的超时时间,以控制允许搜索的时间。
        SearchRequest searchRequest = new SearchRequest();
        searchRequest.indices(index);
        searchRequest.source(sourceBuilder);
        try {
            SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
            SearchHits hits = searchResponse.getHits();
            SearchHit[] searchHits = hits.getHits();
            Gson gson = new Gson();
            for (SearchHit hit : searchHits) {
                String content = hit.getSourceAsString();
                list.add(gson.fromJson(content, entityClass));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return list;
    }
}
fanli/src/main/java/com/yeshi/fanli/dao/elastic/ESOrderDao.java
New file
@@ -0,0 +1,115 @@
package com.yeshi.fanli.dao.elastic;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.elasticsearch.action.search.MultiSearchRequest;
import org.elasticsearch.action.search.MultiSearchResponse;
import org.elasticsearch.action.search.MultiSearchResponse.Item;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.common.unit.Fuzziness;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.FuzzyQueryBuilder;
import org.elasticsearch.index.query.MatchPhraseQueryBuilder;
import org.elasticsearch.index.query.MatchQueryBuilder;
import org.elasticsearch.index.query.MoreLikeThisQueryBuilder;
import org.elasticsearch.index.query.MultiMatchQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.index.query.TermQueryBuilder;
import org.elasticsearch.index.query.WildcardQueryBuilder;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.SearchHits;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.springframework.stereotype.Repository;
import com.google.gson.Gson;
import com.yeshi.fanli.dao.ElasticBaseDao;
import com.yeshi.fanli.entity.order.ESOrder;
@Repository
public class ESOrderDao extends ElasticBaseDao<ESOrder> {
    /**
     * 查询匹配
     *
     * @param key 搜索词
     * @param uid 用户id
     * @return
     */
    public List<ESOrder> queryMatch(String key, String uid) {
        List<ESOrder> list = new ArrayList<ESOrder>();
        // 商品名称匹配
        MatchQueryBuilder match1 = new MatchQueryBuilder("goodsName", key).fuzziness(Fuzziness.AUTO);
        // 订单号匹配
        MatchQueryBuilder match2 = new MatchQueryBuilder("orderNo", key).fuzziness(Fuzziness.AUTO);
        TermQueryBuilder term1 = QueryBuilders.termQuery("uid", uid);
        // 上级
        TermQueryBuilder term2 = QueryBuilders.termQuery("uidDirect", uid);
        // 上上级
        TermQueryBuilder term3 = QueryBuilders.termQuery("uidIndirect", uid);
        SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
        sourceBuilder.query(match1).query(match2).query(term1).query(term2).query(term3);
        SearchRequest searchRequest = new SearchRequest();
        searchRequest.indices(index);
        searchRequest.source(sourceBuilder);
        try {
            SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
            SearchHits hits = searchResponse.getHits();
            SearchHit[] searchHits = hits.getHits();
            Gson gson = new Gson();
            for (SearchHit hit : searchHits) {
                String content = hit.getSourceAsString();
                list.add(gson.fromJson(content, ESOrder.class));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return list;
    }
    /**
     * 查询匹配
     *
     * @param key 搜索词
     * @param uid 用户id
     * @return
     */
    public List<ESOrder> query(String key, String uid) {
        List<ESOrder> list = new ArrayList<ESOrder>();
        // 商品名称匹配
        BoolQueryBuilder should1 = QueryBuilders.boolQuery().should(QueryBuilders.matchPhraseQuery("orderNo", key))
                .should(QueryBuilders.matchPhraseQuery("goodsName", key));
        // 用户id匹配
        BoolQueryBuilder should2 = QueryBuilders.boolQuery().should(QueryBuilders.termQuery("uid", uid))
                .should(QueryBuilders.termQuery("uidDirect", uid)).should(QueryBuilders.termQuery("uidDirect", uid));
        // 查询创建
        SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
        sourceBuilder.query(QueryBuilders.boolQuery().must(should1).must(should2));
        SearchRequest searchRequest = new SearchRequest();
        searchRequest.indices(index);
        searchRequest.source(sourceBuilder);
        try {
            SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
            SearchHits hits = searchResponse.getHits();
            SearchHit[] searchHits = hits.getHits();
            Gson gson = new Gson();
            for (SearchHit hit : searchHits) {
                String content = hit.getSourceAsString();
                list.add(gson.fromJson(content, ESOrder.class));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return list;
    }
}
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/help/HelpCenterMapper.java
@@ -24,9 +24,9 @@
    
    List<HelpCenter> query(@Param("start") int start, @Param("count") int count, 
            @Param("key") String title, @Param("cid") Long cid,
             @Param("orderMode") Integer orderMode);
             @Param("orderMode") Integer orderMode,  @Param("state") Integer state);
    
    long countQuery(@Param("key") String title, @Param("cid") Long cid);
    long countQuery(@Param("key") String title, @Param("cid") Long cid, @Param("state") Integer state);
    
    /**
     * 批量删除
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/tlj/UserTaoLiJinNewbiesMapper.java
@@ -1,6 +1,7 @@
package com.yeshi.fanli.dao.mybatis.tlj;
import java.math.BigDecimal;
import java.util.List;
import org.apache.ibatis.annotations.Param;
@@ -40,4 +41,15 @@
     */
    void resetMoney(long id);
    
    /**
     * 查询
     * @param start
     * @param count
     * @param key 匹配词
     * @return
     */
    List<UserTaoLiJinNewbies> query(@Param("start") long start, @Param("count") int count, @Param("key") String key, @Param("order") Integer order);
    long count(@Param("key") String key);
}
fanli/src/main/java/com/yeshi/fanli/entity/bus/help/HelpCenter.java
@@ -34,6 +34,9 @@
    @Column(name = "h_weight")
    private Integer weight; // 权重
    
    @Column(name = "h_state")
    private Integer state;
    @Column(name = "h_cid")
    private HelpClass helpClass; // 分类
    
@@ -118,4 +121,12 @@
        this.endTime = endTime;
    }
    public Integer getState() {
        return state;
    }
    public void setState(Integer state) {
        this.state = state;
    }
}
fanli/src/main/java/com/yeshi/fanli/entity/bus/tlj/UserTaoLiJinNewbies.java
@@ -34,6 +34,10 @@
    private Date updateTime;
    
    private Integer state;
    private BigDecimal win;
    private BigDecimal reduce;
    public Long getId() {
        return id;
    }
@@ -81,4 +85,29 @@
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }
    public BigDecimal getWin() {
        return win;
    }
    public void setWin(BigDecimal win) {
        this.win = win;
    }
    public BigDecimal getReduce() {
        return reduce;
    }
    public void setReduce(BigDecimal reduce) {
        this.reduce = reduce;
    }
    public Integer getState() {
        return state;
    }
    public void setState(Integer state) {
        this.state = state;
    }
}
fanli/src/main/java/com/yeshi/fanli/entity/bus/user/UserInfo.java
@@ -136,6 +136,11 @@
    @Expose
    private String weiXin;
    // 二维码
    @Transient
    @Expose
    private String erCode;
    // 微信提示语
    @Transient
    @Expose
@@ -435,6 +440,14 @@
        this.type = type;
    }
    public String getErCode() {
        return erCode;
    }
    public void setErCode(String erCode) {
        this.erCode = erCode;
    }
    @Override
    public int hashCode() {
        final int prime = 31;
fanli/src/main/java/com/yeshi/fanli/entity/order/ESOrder.java
New file
@@ -0,0 +1,75 @@
package com.yeshi.fanli.entity.order;
public class ESOrder {
    // 订单相关uid
    private Long uid;
    // 上级直接uid
    private Long uidDirect;
    // 上 上级直接uid
    private Long uidIndirect;
    // 商品名称
    private String goodsName;
    // 订单号
    private String orderNo;
    // 交易id
    private String tradeId;
    // 交易平台
    private Integer platform;
    public Long getUid() {
        return uid;
    }
    public void setUid(Long uid) {
        this.uid = uid;
    }
    public Long getUidDirect() {
        return uidDirect;
    }
    public void setUidDirect(Long uidDirect) {
        this.uidDirect = uidDirect;
    }
    public Long getUidIndirect() {
        return uidIndirect;
    }
    public void setUidIndirect(Long uidIndirect) {
        this.uidIndirect = uidIndirect;
    }
    public String getGoodsName() {
        return goodsName;
    }
    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }
    public String getOrderNo() {
        return orderNo;
    }
    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }
    public String getTradeId() {
        return tradeId;
    }
    public void setTradeId(String tradeId) {
        this.tradeId = tradeId;
    }
    public Integer getPlatform() {
        return platform;
    }
    public void setPlatform(Integer platform) {
        this.platform = platform;
    }
}
fanli/src/main/java/com/yeshi/fanli/job/IntegralJob.java
New file
@@ -0,0 +1,34 @@
package com.yeshi.fanli.job;
import javax.annotation.Resource;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import com.yeshi.fanli.service.inter.user.integral.IntegralTaskRecordService;
import com.yeshi.fanli.util.Constant;
/**
 * 金币任务
 *
 * @author Administrator
 *
 */
@Component
public class IntegralJob {
    @Resource
    private IntegralTaskRecordService integralTaskRecordService;
    /**
     * 金币过期
     */
    @Scheduled(cron = "0 13 3 * * ? ")
    public void updateGoods() {
        if (!Constant.IS_TASK)
            return;
        integralTaskRecordService.invalidGoldCoin();
    }
}
fanli/src/main/java/com/yeshi/fanli/mapping/help/HelpCenterMapper.xml
@@ -6,6 +6,7 @@
    <id column="h_id" property="id" jdbcType="BIGINT"/>
    <result column="h_title" property="title" jdbcType="VARCHAR"/>
    <result column="h_weight" property="weight" jdbcType="INTEGER"/>
    <result column="h_state" property="state" jdbcType="INTEGER"/>
    <result column="h_start_time" property="startTime" jdbcType="TIMESTAMP"/>
    <result column="h_end_time" property="endTime" jdbcType="TIMESTAMP"/>
    <result column="h_createtime" property="createtime" jdbcType="TIMESTAMP"/>
@@ -17,17 +18,18 @@
    </association>
  </resultMap>
  
  <sql id="Base_Column_List">h_id,h_title,h_weight,h_cid,h_start_time,h_end_time,h_createtime,h_updatetime</sql>
  <sql id="Base_Column_List">h_id,h_title,h_weight,h_state,h_cid,h_start_time,h_end_time,h_createtime,h_updatetime</sql>
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long">select
    <include refid="Base_Column_List"/>from yeshi_ec_help_center where h_id = #{id,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from yeshi_ec_help_center where h_id = #{id,jdbcType=BIGINT}</delete>
  <insert id="insert" parameterType="com.yeshi.fanli.entity.bus.help.HelpCenter" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_help_center (h_id,h_title,h_weight,h_cid,h_start_time,h_end_time,h_createtime,h_updatetime) values (#{id,jdbcType=BIGINT},#{title,jdbcType=VARCHAR},#{weight,jdbcType=INTEGER},#{helpClass.id,jdbcType=BIGINT},#{startTime,jdbcType=TIMESTAMP},#{endTime,jdbcType=TIMESTAMP},#{createtime,jdbcType=TIMESTAMP},#{updatetime,jdbcType=TIMESTAMP})</insert>
  <insert id="insert" parameterType="com.yeshi.fanli.entity.bus.help.HelpCenter" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_help_center (h_id,h_title,h_weight,h_state,h_cid,h_start_time,h_end_time,h_createtime,h_updatetime) values (#{id,jdbcType=BIGINT},#{title,jdbcType=VARCHAR},#{weight,jdbcType=INTEGER},#{state,jdbcType=INTEGER},#{helpClass.id,jdbcType=BIGINT},#{startTime,jdbcType=TIMESTAMP},#{endTime,jdbcType=TIMESTAMP},#{createtime,jdbcType=TIMESTAMP},#{updatetime,jdbcType=TIMESTAMP})</insert>
  <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.bus.help.HelpCenter" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_help_center
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">h_id,</if>
      <if test="title != null">h_title,</if>
      <if test="weight != null">h_weight,</if>
      <if test="state != null">h_state,</if>
      <if test="helpClass != null">h_cid,</if>
      <if test="startTime != null">h_start_time,</if>
      <if test="endTime != null">h_end_time,</if>
@@ -38,6 +40,7 @@
      <if test="id != null">#{id,jdbcType=BIGINT},</if>
      <if test="title != null">#{title,jdbcType=VARCHAR},</if>
      <if test="weight != null">#{weight,jdbcType=INTEGER},</if>
      <if test="state != null">#{state,jdbcType=INTEGER},</if>
      <if test="helpClass != null">#{helpClass.id,jdbcType=BIGINT},</if>
      <if test="startTime != null">#{startTime,jdbcType=TIMESTAMP},</if>
      <if test="endTime != null">#{endTime,jdbcType=TIMESTAMP},</if>
@@ -45,11 +48,12 @@
      <if test="updatetime != null">#{updatetime,jdbcType=TIMESTAMP},</if>
    </trim>
  </insert>
  <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.bus.help.HelpCenter">update yeshi_ec_help_center set h_title = #{title,jdbcType=VARCHAR},h_weight = #{weight,jdbcType=INTEGER},h_cid = #{helpClass.id,jdbcType=BIGINT},h_start_time = #{startTime,jdbcType=TIMESTAMP},h_end_time = #{endTime,jdbcType=TIMESTAMP},h_createtime = #{createtime,jdbcType=TIMESTAMP},h_updatetime = #{updatetime,jdbcType=TIMESTAMP} where h_id = #{id,jdbcType=BIGINT}</update>
  <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.bus.help.HelpCenter">update yeshi_ec_help_center set h_title = #{title,jdbcType=VARCHAR},h_weight = #{weight,jdbcType=INTEGER},h_state = #{state,jdbcType=INTEGER},h_cid = #{helpClass.id,jdbcType=BIGINT},h_start_time = #{startTime,jdbcType=TIMESTAMP},h_end_time = #{endTime,jdbcType=TIMESTAMP},h_createtime = #{createtime,jdbcType=TIMESTAMP},h_updatetime = #{updatetime,jdbcType=TIMESTAMP} where h_id = #{id,jdbcType=BIGINT}</update>
  <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.bus.help.HelpCenter">update yeshi_ec_help_center
    <set>
      <if test="title != null">h_title=#{title,jdbcType=VARCHAR},</if>
      <if test="weight != null">h_weight=#{weight,jdbcType=INTEGER},</if>
      <if test="state != null">h_state=#{state,jdbcType=INTEGER},</if>
      <if test="helpClass != null">h_cid=#{helpClass.id,jdbcType=BIGINT},</if>
      <if test="startTime != null">h_start_time=#{startTime,jdbcType=TIMESTAMP},</if>
      <if test="endTime != null">h_end_time=#{endTime,jdbcType=TIMESTAMP},</if>
@@ -69,6 +73,9 @@
              AND ht.h_cid = #{cid}
       </if>
       
       <if test='state != null'>
              AND ht.h_state = #{state}
       </if>
       <if test='orderMode == 1'>
            ORDER BY  ht.h_weight  DESC 
       </if>
@@ -103,11 +110,14 @@
       <if test='cid != null'>
              AND h_cid  = #{cid}
       </if>
        <if test='state != null'>
              AND ht.h_state = #{state}
       </if>
    </select>
    
   <select id="listValid" resultMap="BaseResultMap">
    SELECT  h_id, h_title FROM yeshi_ec_help_center    
    WHERE h_id > #{pageId}
    WHERE h_id > #{pageId} AND h_state = 1
         AND IF(h_start_time IS NULL,TRUE, h_start_time<![CDATA[<=]]>NOW())
          AND IF(h_end_time IS NULL,TRUE, h_end_time >=NOW())
      <if test='key != null and key != ""'>
fanli/src/main/java/com/yeshi/fanli/mapping/redpack/RedPackBalanceMapper.xml
@@ -100,6 +100,12 @@
    <if test="order == 4">
        ORDER BY dd4.totalWin DESC
    </if>
    <if test="order == 5">
        ORDER BY b.rpb_create_time
    </if>
    <if test="order == 6">
        ORDER BY b.rpb_create_time DESC
    </if>
    LIMIT #{start},#{count}
  </select>
  
fanli/src/main/java/com/yeshi/fanli/mapping/tlj/UserTaoLiJinNewbiesMapper.xml
@@ -10,6 +10,20 @@
    <result column="wnu_create_time" property="createTime" jdbcType="TIMESTAMP"/>
    <result column="wnu_update_time" property="updateTime" jdbcType="TIMESTAMP"/>
  </resultMap>
  <resultMap id="ResultMap" type="com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinNewbies">
    <id column="wnu_id" property="id" jdbcType="BIGINT"/>
    <result column="wnu_money" property="money" jdbcType="DECIMAL"/>
    <result column="wnu_num" property="num" jdbcType="INTEGER"/>
    <result column="wnu_end_time" property="endTime" jdbcType="TIMESTAMP"/>
    <result column="wnu_create_time" property="createTime" jdbcType="TIMESTAMP"/>
    <result column="wnu_update_time" property="updateTime" jdbcType="TIMESTAMP"/>
    <result column="win" property="win" jdbcType="DECIMAL"/>
    <result column="reduce" property="reduce" jdbcType="DECIMAL"/>
    <result column="state" property="state" jdbcType="INTEGER"/>
  </resultMap>
  <sql id="Base_Column_List">wnu_id,wnu_money,wnu_num,wnu_end_time,wnu_create_time,wnu_update_time</sql>
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long">select
    <include refid="Base_Column_List"/>from yeshi_ec_user_taolijin_new_user where wnu_id = #{id,jdbcType=BIGINT}
@@ -66,4 +80,19 @@
       WHERE wnu_id = #{id,jdbcType=BIGINT} FOR UPDATE
  </select>
  
  <select id="query" resultMap="ResultMap">
      SELECT d.*,SUM(IF(t.`utd_money` <![CDATA[<]]>  0,t.`utd_money`,0)) AS reduce,SUM(IF(t.`utd_money`>0,t.`utd_money`,0)) AS win, IF(d.`wnu_end_time` <![CDATA[<]]> NOW(),1,0)AS state
      FROM yeshi_ec_user_taolijin_new_user d
    LEFT JOIN `yeshi_ec_user_taolijin_detail` t ON t.`utd_uid` = d.`wnu_id`
    WHERE t.`utd_create_time` > '2019-12-14'  <if test="key != null and key !=''"> AND d.`wnu_id` LIKE '%${key}%'</if>
    GROUP BY d.`wnu_id`
    <if test="order == 1">ORDER BY d.`wnu_create_time`</if>
    <if test="order == 2">ORDER BY d.`wnu_create_time` DESC</if>
    LIMIT #{start},#{count}
  </select>
  <select id="count" resultType="Long">
      SELECT IFNULL(COUNT(d.`wnu_id`),0) FROM yeshi_ec_user_taolijin_new_user d
    WHERE  1=1  <if test="key != null and key !=''"> AND d.`wnu_id` LIKE '%${key}%'</if>
  </select>
</mapper>
fanli/src/main/java/com/yeshi/fanli/service/impl/help/HelpCenterServiceImpl.java
@@ -70,6 +70,16 @@
        if (helpCenter.getHelpClass() == null || helpCenter.getHelpClass().getId() <= 0)
            throw new HelpCenterException(1,"分类题不能为空");
        
        Integer state = helpCenter.getState();
        if (state == null) {
            helpCenter.setState(0);
        }
        Integer weight = helpCenter.getWeight();
        if (weight == null) {
            helpCenter.setWeight(0);
        }
        helpCenter.setUpdatetime(new Date());
        Long id = helpCenter.getId();
        if (id == null) {
@@ -81,7 +91,6 @@
                throw new HelpCenterException(1,"此类内容已不存在,请刷新");
            
            helpCenter.setCreatetime(result.getCreatetime());
            helpCenter.setWeight(result.getWeight());
            helpCenterMapper.updateByPrimaryKey(helpCenter);
        }
        
@@ -227,13 +236,13 @@
    }
    @Override
    public List<HelpCenter> query(int pageIndex, int pageSize, String key, Long cid, Integer orderMode) {
        return helpCenterMapper.query(pageIndex, pageSize, key, cid, orderMode);
    public List<HelpCenter> query(int pageIndex, int pageSize, String key, Long cid, Integer orderMode, Integer state) {
        return helpCenterMapper.query(pageIndex, pageSize, key, cid, orderMode, state);
    }
    @Override
    public long countQuery(String key, Long cid) {
        return helpCenterMapper.countQuery(key, cid);
    public long countQuery(String key, Long cid, Integer state) {
        return helpCenterMapper.countQuery(key, cid, state);
    }
    
fanli/src/main/java/com/yeshi/fanli/service/impl/order/ESOrderServiceImpl.java
New file
@@ -0,0 +1,30 @@
package com.yeshi.fanli.service.impl.order;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.elastic.ESOrderDao;
import com.yeshi.fanli.entity.order.ESOrder;
import com.yeshi.fanli.service.inter.order.ESOrderService;
@Service
public class ESOrderServiceImpl implements ESOrderService {
    @Resource
    private ESOrderDao esOrderDao;
    @Override
    public void add(ESOrder record) {
        esOrderDao.save(record, record.getPlatform() + "#" + record.getTradeId());
    }
    @Override
    public List<ESOrder> query(String key, String uid) {
        return esOrderDao.query(key, uid);
    }
}
fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackGiveRecordServiceImpl.java
@@ -27,6 +27,7 @@
import com.yeshi.fanli.entity.redpack.RedPackDetail.RedPackDetailTypeEnum;
import com.yeshi.fanli.entity.redpack.RedPackGiveRecord;
import com.yeshi.fanli.exception.redpack.RedPackGiveRecordException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.money.msg.UserMoneyMsgNotificationService;
import com.yeshi.fanli.service.inter.redpack.RedPackBalanceService;
import com.yeshi.fanli.service.inter.redpack.RedPackConfigService;
@@ -179,21 +180,25 @@
        try {
            redPackBalanceService.subRedPack(uid, amount, RedPackDetailFactory.createGiveOthers(giveRecord));
        } catch (Exception e) {
            LogHelper.errorDetailInfo(e);
            throw new RedPackGiveRecordException(1, "红包创建失败");
        }
        // 发送消息(非测试下)
        if (!Constant.IS_TEST) {
        UserRedPackGiftMQMsg msg = new UserRedPackGiftMQMsg();
        msg.setId(giveRecord.getId());
        msg.setUid(uid);
        Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.redPackGiftDrawback,
                msg);
        // 延迟一分钟
        message.setStartDeliverTime(endTime.getTime() + 1000 * 60);
            Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.redPackGiftDrawback,    msg);
            message.setStartDeliverTime(endTime.getTime() + 1000 * 60); // 延迟一分钟
        try {
            producer.send(message);
        } catch (Exception e) {
                LogHelper.errorDetailInfo(e);
            throw new RedPackGiveRecordException(1, "红包创建失败");
        }
        }
        return tips;
    }
fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinNewbiesServiceImpl.java
@@ -4,6 +4,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
@@ -406,4 +407,14 @@
        return userTaoLiJinNewbiesMapper.selectByPrimaryKey(uid);
    }
    @Override
    public long count(String key) {
        return userTaoLiJinNewbiesMapper.count(key);
    }
    @Override
    public List<UserTaoLiJinNewbies> query(int page, int count, String key,Integer order) {
        return userTaoLiJinNewbiesMapper.query((page -1)* count, count, key, order);
    }
}
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java
@@ -877,14 +877,17 @@
            new File(targetPath).delete();
        }
        // 原二维码
        String erCode = extra.getErCode();
        UserInfoExtra update = new UserInfoExtra();
        update.setId(extra.getId());
        update.setErCode(fileLink);
        userInfoExtraMapper.updateByPrimaryKeySelective(update);
        // 原二维码
        if (!StringUtil.isNullOrEmpty(extra.getErCode())) {
            COSManager.getInstance().deleteFile(extra.getErCode());
        if (!StringUtil.isNullOrEmpty(erCode)) {
            COSManager.getInstance().deleteFile(erCode);
        }
    }
}
fanli/src/main/java/com/yeshi/fanli/service/inter/help/HelpCenterService.java
@@ -51,9 +51,9 @@
     * @param endTime   结束时间
     * @return
     */
    public List<HelpCenter> query(int pageIndex, int pageSize, String key, Long cid, Integer orderMode) ;
    public List<HelpCenter> query(int pageIndex, int pageSize, String key, Long cid, Integer orderMode,Integer state) ;
    
    public long countQuery(String key, Long cid);
    public long countQuery(String key, Long cid,Integer state);
    
    /**
fanli/src/main/java/com/yeshi/fanli/service/inter/order/ESOrderService.java
New file
@@ -0,0 +1,24 @@
package com.yeshi.fanli.service.inter.order;
import java.util.List;
import com.yeshi.fanli.entity.order.ESOrder;
public interface ESOrderService {
    /**
     * 增加
     * @param record
     */
    void add(ESOrder record);
    /**
     * 查询订单
     * @param key  商品名称模糊查询、订单号完全匹配
     * @param uid
     * @return
     */
    List<ESOrder> query(String key, String uid);
}
fanli/src/main/java/com/yeshi/fanli/service/inter/redpack/UserTaoLiJinNewbiesService.java
@@ -1,5 +1,7 @@
package com.yeshi.fanli.service.inter.redpack;
import java.util.List;
import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinNewbies;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.exception.tlj.UserTaoLiJinNewbiesException;
@@ -38,4 +40,8 @@
     */
    public String createTaoLiJinForBuy(TaoBaoGoodsBrief goods, Long uid) throws UserTaoLiJinNewbiesException;
    public List<UserTaoLiJinNewbies> query(int page, int count, String key, Integer order);
    public long count(String key);
}
fanli/src/main/java/com/yeshi/fanli/util/Constant.java
@@ -179,6 +179,10 @@
    // 奖励券倒计时 - 天数
    public static final int COUPON_REWARD_LIMIT_DAY = 5;  
    
    // 专属邀请码申请直接粉丝限制
    public static final int INVITE_CODRE_TAILOR_LIMIT = 2;
    public static WXGZConfig wxGZConfig;
    // 短信验证码配置