admin
2019-06-05 07c13064382007999e87abe81efe76c98a47dce8
修改部分bug
17个文件已修改
1个文件已添加
299 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/admin/MessageController.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ConfigController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsClassController.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/HelpController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/SearchController.java 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/brand/BrandClassShop.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/UpdateTaoBaoGoodsJob.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/push/DeviceActiveMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandClassShopServiceImpl.java 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoV2ServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.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/UserAccountServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/brand/BrandClassShopService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/DaTaoKeUtil.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/admin/MessageController.java
New file
@@ -0,0 +1,71 @@
package com.yeshi.fanli.controller.admin;
import java.io.PrintWriter;
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.JsonUtil;
import com.google.gson.Gson;
import com.yeshi.fanli.dto.msg.MsgCommonDTO;
import com.yeshi.fanli.exception.ConfigException;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.msg.MsgConfigService;
@Controller
@RequestMapping("admin/new/api/v1/message")
public class MessageController {
    @Resource
    private ConfigService configService;
    @Resource
    private MsgConfigService msgConfigService;
    @RequestMapping(value = "getZhuShou")
    public void getZhuShou(String callback, PrintWriter out) {
        // 返利券小助手
        MsgCommonDTO zhuShouMsg = msgConfigService.getZhuShouMsg();
        JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(new Gson().toJson(zhuShouMsg)));
    }
    @RequestMapping(value = "saveZhuShou", method = RequestMethod.POST)
    public void saveZhouShou(String callback, MsgCommonDTO dto, PrintWriter out) {
        if (dto.getJumpDetail() == null) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请指定跳转方式"));
            return;
        }
        try {
            msgConfigService.addZhuShouMsg(dto);
        } catch (ConfigException e) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
            return;
        }
        JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(""));
    }
    @RequestMapping(value = "getGuanXuan", method = RequestMethod.POST)
    public void getGuanXuan(String callback, PrintWriter out) {
        MsgCommonDTO guanXuan = msgConfigService.getGuanXuanMsg();
        JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(new Gson().toJson(guanXuan)));
    }
    @RequestMapping(value = "saveGuanXuan", method = RequestMethod.POST)
    public void saveGuanXuan(String callback, MsgCommonDTO dto, PrintWriter out) {
        if (dto.getJumpDetail() == null) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请指定跳转方式"));
            return;
        }
        try {
            msgConfigService.addGuanXuanMsg(dto);
        } catch (ConfigException e) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
            return;
        }
        JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(""));
    }
}
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ConfigController.java
@@ -14,6 +14,7 @@
import com.yeshi.fanli.entity.bus.homemodule.FloatAD;
import com.yeshi.fanli.entity.config.AppHomeFloatImg;
import com.yeshi.fanli.entity.taobao.ClientTBPid;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.homemodule.FloatADService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
@@ -48,6 +49,9 @@
    @Resource
    private FloatADService floatADService;
    @Resource
    private JumpDetailV2Service jumpDetailV2Service;
    /**
     * 首页配置信息
@@ -157,7 +161,8 @@
    @RequestMapping(value = "getWebConfig", method = RequestMethod.POST)
    public void getWebConfig(AcceptData acceptData, String url, PrintWriter out) {
        JSONObject data = new JSONObject();
        if (url != null && (url.contains("s.click") || url.contains("taobao.com") || url.contains("tmall.com")|| url.contains("m.tb.cn"))) {
        if (url != null && (url.contains("s.click") || url.contains("taobao.com") || url.contains("tmall.com")
                || url.contains("m.tb.cn"))) {
            data.put("baichuan", true);// 采用阿里百川的方式加载webview
            data.put("goodsDetail", true);// 需要拦截商品详情
        } else {
@@ -195,6 +200,9 @@
            JSONObject data = new JSONObject();
            data.put("serviceProtocolLink", serviceProtocol);
            data.put("privacyProtocolLink", privacyProtocol);
            // 购物车跳转方式(包含jumpDetail与params)
            JSONObject source = JSONObject.fromObject(configService.get("taobao_cart_jump_detail"));
            data.put("taoBaoCart", source);
            out.print(JsonUtil.loadTrueResult(data));
        } catch (Exception e) {
            out.print(JsonUtil.loadFalseResult("获取失败"));
@@ -240,7 +248,17 @@
    @RequestMapping(value = "getOrderConfig", method = RequestMethod.POST)
    public void getOrderConfig(AcceptData acceptData, PrintWriter out) {
        JSONObject data = new JSONObject();
        // 测试
        data.put("showTaoBaoOrder", "0".equalsIgnoreCase(configService.get("show_taobao_order").trim()) ? false : true);
        data.put("taoBaoOrderUrl", "https://main.m.taobao.com/olist/index.html");
        out.print(JsonUtil.loadTrueResult(data));
    }
    @RequestMapping(value = "getKeFuConfig", method = RequestMethod.POST)
    public void getKeFuConfig(AcceptData acceptData, PrintWriter out) {
        JSONObject data = new JSONObject();
        data.put("meiqia", "1".equalsIgnoreCase(configService.get("kefu_meiqia")) ? true : false);// 是否跳转美洽,不跳转美洽就用原来的
        out.print(JsonUtil.loadTrueResult(data));
    }
}
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsClassController.java
@@ -112,7 +112,6 @@
    @Resource
    private SwiperPictureService swiperPictureService;
    @Resource(name = "taskExecutor")
    private TaskExecutor executor;
@@ -243,7 +242,6 @@
    }
    @RequestMapping(value = "getCouponGoods", method = RequestMethod.POST)
    public void getCouponGoods(AcceptData acceptData, int page, long gcid, PrintWriter out) {
        // GoodsClass goodsClass = goodsClassService.getGoodsClass(gcid);
@@ -293,7 +291,8 @@
    @RequestMapping(value = "getgoods", method = RequestMethod.POST)
    public void getGoods(AcceptData acceptData, int page, long scid, String filter, String order, String startprice,
            String endprice, String fastFilter, PrintWriter out) {
        BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
        BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
                acceptData.getPackages());
        if (system == null) {
            out.print(JsonUtil.loadFalseResult("系统不存在"));
            return;
@@ -401,7 +400,8 @@
    @RequestMapping(value = "getsecondclassgoods", method = RequestMethod.POST)
    public void getSecondClassGoods(AcceptData acceptData, int page, long scid, String filter, String order,
            String startprice, String endprice, String fastFilter, Integer totalSales, PrintWriter out) {
        BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
        BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
                acceptData.getPackages());
        if (system == null) {
            out.print(JsonUtil.loadFalseResult("系统不存在"));
            return;
@@ -575,7 +575,8 @@
    @RequestMapping("choiceGoods")
    public void choiceGoods(AcceptData acceptData, long gcid, int page, PrintWriter out) {
        BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
        BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
                acceptData.getPackages());
        if (system == null) {
            out.print(JsonUtil.loadFalseResult("系统不存在"));
            return;
@@ -666,7 +667,6 @@
        data.put("result", array);
        out.print(JsonUtil.loadTrueResult(data));
    }
    @RequestMapping("getCouponList")
@@ -749,7 +749,7 @@
            result = TaoKeApiUtil.searchCouple(goodsClassService.getKeysById(id), null, page, 20);
        List<TaoBaoSearchNav> navList = TaoBaoUtil.getBaseNav();
        if (result.getNavList() != null)
        if (result != null && result.getNavList() != null)
            navList.addAll(result.getNavList());
        if (navList == null)
@@ -810,7 +810,6 @@
            } else if (tversion > 47){
                changePicture = true;
            }
            
            List<Map<String, Object>> listCache = goodsClassService.getClassListAllCache(changePicture);
            if (listCache == null) {
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/HelpController.java
@@ -71,6 +71,8 @@
    @RequestMapping(value = "updateApp")
    public void updateApp(AcceptData acceptData, PrintWriter out) {
        Map<String, String> params = new HashMap<>();
        if ("android".equalsIgnoreCase(acceptData.getPlatform())) {// android更新
            acceptData.setVersion("10");
        params.put("method", "update");
        params.put("Platform", "Android");
        params.put("Version", acceptData.getVersion());
@@ -83,7 +85,30 @@
        params.put("versionCode", acceptData.getVersion() + "");
        String url = "http://update.yeshitv.com:8090/update/update";
        String result = HttpUtil.post(url, params, null);
            try {
                out.print(new String(result.getBytes("ISO-8859-1"), "UTF-8"));
            } catch (UnsupportedEncodingException e) {
        out.print(result);
    }
        } else {// IOS更新
            params.put("method", "update");
            params.put("Platform", "IOS");
            params.put("Version", acceptData.getVersion());
            params.put("device  ", acceptData.getDevice());
            params.put("time", System.currentTimeMillis() + "");
            params.put("Package", acceptData.getPackages());
            params.put("device", acceptData.getDevice());
            params.put("platform", "IOS");
            params.put("key", "32bb90e8976aab5298d5da10fe66f21d");
            params.put("versionCode", acceptData.getVersion() + "");
        }
        String url = "http://update.yeshitv.com:8090/update/update";
        String result = HttpUtil.post(url, params, null);
        try {
            out.print(new String(result.getBytes("ISO-8859-1"), "UTF-8"));
        } catch (UnsupportedEncodingException e) {
            out.print(result);
        }
    }
}
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java
@@ -92,6 +92,7 @@
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.taobao.dataoke.DaTaoKeGoodsDetailService;
import com.yeshi.fanli.service.inter.user.ShamUserService;
import com.yeshi.fanli.service.inter.user.TBPidService;
import com.yeshi.fanli.service.inter.user.UserCustomSettingsService;
@@ -224,6 +225,9 @@
    @Resource
    private TaoBaoShopService taoBaoShopService;
    @Resource
    private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
    @RequestMapping(value = "getHonestList")
    public void getHonestList(AcceptData acceptData, PrintWriter out) {
@@ -1936,6 +1940,9 @@
        if (!StringUtil.isNullOrEmpty(tb.getPictUrlWhite()))
            finalImgList.add(0, tb.getPictUrlWhite());
        // 大淘客商品过滤
        goods = daTaoKeGoodsDetailService.filterTaoBaoGoods(goods);
        JSONObject goodsJson = new JSONObject();
        goodsJson.put("auctionId", tb.getAuctionId());
        goodsJson.put("imgList", finalImgList);
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/SearchController.java
@@ -3,6 +3,7 @@
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -10,7 +11,6 @@
import java.util.Set;
import javax.annotation.Resource;
import javax.print.attribute.standard.NumberUp;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Controller;
@@ -24,7 +24,6 @@
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.lable.QualityFactory;
import com.yeshi.fanli.entity.bus.recommend.Honest;
import com.yeshi.fanli.entity.bus.search.HistorySearch;
import com.yeshi.fanli.entity.bus.search.HotSearch;
import com.yeshi.fanli.entity.bus.su.search.SuperHotSearch;
import com.yeshi.fanli.entity.system.BusinessSystem;
@@ -36,7 +35,7 @@
import com.yeshi.fanli.entity.taobao.TaoBaoSearchNav;
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail;
import com.yeshi.fanli.service.inter.config.BusinessSystemService;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.config.SuperHotSearchService;
@@ -44,6 +43,7 @@
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
import com.yeshi.fanli.service.inter.user.HistorySearchService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.EhcacheUtil;
@@ -52,7 +52,6 @@
import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
import com.yeshi.fanli.util.taobao.SearchFilterUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import net.sf.ehcache.Element;
import net.sf.json.JSONArray;
@@ -88,6 +87,9 @@
    @Resource
    private TaoBaoGoodsCacheUtil taoBaoGoodsCacheUtil;
    @Resource
    private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
    @RequestMapping(value = "gethotsearch", method = RequestMethod.POST)
    public void getHotSearch(AcceptData acceptData, PrintWriter out) {
@@ -449,6 +451,7 @@
        JSONObject data = null;
        if (!recommend) {
            // 淘宝接口请求
            data = searchGoods(kw, page, filter, order, startprice, endprice);
        } else {
@@ -602,6 +605,11 @@
            sf.setParams(params);
        }
        // 搜索大淘客
        List<DaTaoKeDetail> daTaoKeList = null;
        if (page == 1)
            daTaoKeList = daTaoKeGoodsDetailService.listByDtitle(kw);
        TaoBaoSearchResult result = TaoBaoUtil.search(sf);
        if (result == null) {
            return null;
@@ -616,7 +624,8 @@
//            if (numIds.endsWith(","))
//                numIds = numIds.substring(0, numIds.length() - 1);
//            try {
//                List<TaoBaoGoodsBrief> goodsList = TaoKeApiUtil.getBatchGoodsInfos(numIds);
            // List<TaoBaoGoodsBrief> goodsList =
            // TaoKeApiUtil.getBatchGoodsInfos(numIds);
//                Map<Long, Integer> map = new HashMap<>();
//                for (TaoBaoGoodsBrief g : goodsList)
//                    map.put(g.getAuctionId(), g.getMaterialLibType());
@@ -645,14 +654,26 @@
        data.put("nav", gson.toJson(navList));
        List<TaoBaoGoodsBriefExtra> re = new ArrayList<TaoBaoGoodsBriefExtra>();
        List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = result.getTaoBaoGoodsBriefs();
        if (taoBaoGoodsBriefs == null)
            taoBaoGoodsBriefs = new ArrayList<>();
        try {
            if (daTaoKeList != null && daTaoKeList.size() > 0) {
                Collections.reverse(daTaoKeList);
                for (DaTaoKeDetail detail : daTaoKeList) {
                    taoBaoGoodsBriefs.add(0,TaoBaoUtil.convert(detail));
                }
            }
        } catch (Exception e) {
        }
        int fq = sf.getQuan();
        int fh = sf.getHongbao();
        boolean ft = sf.isTmall();
        Map<String, String> map = manageService.convertMap();
        BigDecimal proportion = manageService.getFanLiRate();
        if (fq == 0 && fh == 0 && !ft) {
            if (result != null && result.getTaoBaoGoodsBriefs() != null)
                for (TaoBaoGoodsBrief bf : result.getTaoBaoGoodsBriefs()) {
            if (result != null && taoBaoGoodsBriefs != null)
                for (TaoBaoGoodsBrief bf : taoBaoGoodsBriefs) {
                    int count = bf.getBiz30day();
                    if (count >= 10000) { // 对销量数据做处理 页面展示7.3万
                        double sales = count;
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java
@@ -115,6 +115,7 @@
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.Utils;
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.util.annotation.RequestSerializableByKey;
import com.yeshi.fanli.util.email.MailSenderUtil;
import com.yeshi.fanli.util.factory.AccountDetailsFactory;
import com.yeshi.fanli.util.factory.HongBaoFactory;
@@ -755,7 +756,8 @@
        data.put("error", "0");
        data.put("maxError", 1);
        String minMoney = configService.get(EXTRACT_MIN_MONEY); // 单笔提现的最小金额
        String maxMoney = configService.get("extract_money_day"); // 每日最大提现金额
        String maxMoney = configService.get(EXTRACT_MAX_MONEY); // 单笔提现的最小金额
        String maxDayMoney = configService.get("extract_money_day"); // 每日最大提现金额
        int maxDayCount = Integer.parseInt(configService.get("extract_count_day"));
        ExtractRecord extractRecord = extractRecordService.getExtractRecordByUid(uid);
        boolean canExtract = true;
@@ -764,15 +766,15 @@
            canExtract = false;
            errorMsg = String.format("每日最多提现%s次", maxDayCount + "");
        } else if (extractRecord != null
                && extractRecord.getMoney().add(new BigDecimal(minMoney)).compareTo(new BigDecimal(maxMoney)) > 0) {
                && extractRecord.getMoney().add(new BigDecimal(minMoney)).compareTo(new BigDecimal(maxDayMoney)) > 0) {
            canExtract = false;
            errorMsg = String.format("每日最多提现%s元", maxMoney);
            errorMsg = String.format("每日最多提现%s元", maxDayMoney);
        }
        data.put("canExtract", canExtract);
        data.put("extractErrorMsg", errorMsg);
        data.put("minMoney", minMoney);
        data.put("maxMoney", maxMoney);
        data.put("minMoney", minMoney);//单笔最低
        data.put("maxMoney", maxMoney);//单笔最高
        data.put("maxDayCount", maxDayCount);
        data.put("bindingAccountList", gson.toJson(filterBindingAccount(bindingAccountList)));
@@ -1079,6 +1081,7 @@
     * @param type
     * @param out
     */
    @RequestSerializableByKey(key="uid")
    @RequestMapping(value = "extractmoneynew", method = RequestMethod.POST)
    public void extractMoneyNew(AcceptData acceptData, long uid, BigDecimal money, String vcode,
            HttpServletRequest request, int type, PrintWriter out) {
fanli/src/main/java/com/yeshi/fanli/entity/brand/BrandClassShop.java
@@ -16,6 +16,9 @@
 */
@Table("yeshi_ec_brand_class_shop")
public class BrandClassShop {
    public static int STATE_VALID = 1;// 启用
    public static int STATE_INVALID = 0;// 不启用
    @Expose
    @Column(name = "bcs_id")
    private Long id;
@@ -33,7 +36,7 @@
    private Integer orderby;
    
    @Column(name = "bcs_state")
    private Integer state;
    private Integer state;// 1-启用 0-禁用
    
    // 点击次数
    @Column(name = "bcs_browse_num")
@@ -45,10 +48,8 @@
    @Column(name = "bcs_update_time")
    private Date updateTime;
    // 劵数量
    private long couponNum;
    
    public Long getId() {
        return id;
fanli/src/main/java/com/yeshi/fanli/job/UpdateTaoBaoGoodsJob.java
@@ -11,6 +11,7 @@
import com.yeshi.fanli.exception.ActivityException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.activity.ActivityService;
import com.yeshi.fanli.service.inter.brand.BrandClassShopService;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.lable.LabelService;
import com.yeshi.fanli.service.inter.lable.QualityFactoryService;
@@ -46,6 +47,9 @@
    @Resource
    private QualityFlashSaleService qualityFlashSaleService;
    @Resource
    private BrandClassShopService brandClassShopService;
    // 动态商品更新 ,1个小时更新
    @Scheduled(cron = "0 0 */1 * * ?")
@@ -99,13 +103,12 @@
        taoBaoGoodsUpdateService.deleteOutOfDate();
    }
    /**
     * 更新超过4个小时未更新的商品
     */
    //1个小时更新
    @Scheduled(cron = "0 0 1/1 * * ? ")
    public void addNeddUpdateTaoBaoGoods() {
    public void addNeedUpdateTaoBaoGoods() {
        if (!Constant.IS_TASK) 
            return;
        
@@ -147,4 +150,10 @@
        }
    }
    // 更新品牌商品,每天早上6点执行一次
    @Scheduled(cron = "0 0 6 * * ? ")
    public void updateBrandGoods() {
        brandClassShopService.updateShopGoods();
    }
}
fanli/src/main/java/com/yeshi/fanli/mapping/push/DeviceActiveMapper.xml
@@ -30,7 +30,7 @@
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_device_active where da_device = #{device} and
        da_platform=#{platform}
        da_platform=#{platform} order by da_id desc  limit 1
    </select>
    <select id="selectByDeviceToeknMd5AndPlatform" resultMap="BaseResultMap">
fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandClassShopServiceImpl.java
@@ -17,8 +17,10 @@
import com.yeshi.fanli.entity.brand.BrandClass;
import com.yeshi.fanli.entity.brand.BrandClassShop;
import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.entity.taobao.SearchFilter;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
import com.yeshi.fanli.entity.taobao.TaoBaoShop;
import com.yeshi.fanli.exception.brand.BrandClassShopException;
import com.yeshi.fanli.service.inter.brand.BrandClassShopService;
@@ -31,6 +33,7 @@
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.vo.brand.TaoBaoShopVO;
import net.sf.json.JSONObject;
@@ -59,13 +62,10 @@
    @Resource
    private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
    
    @Override
    public List<BrandClassShop> getExistByShopIds(List<Long> list){
        return brandClassShopMapper.getExistByShopIds(list);
    }
    
    @Override
    @Transactional
@@ -124,10 +124,10 @@
        return shopIds;
    }
    
    @Override
    @Transactional
    public void changeShopInfo(MultipartFile file, Long id, Long cid, String shopName, Integer state, Integer top) throws BrandClassShopException{
    public void changeShopInfo(MultipartFile file, Long id, Long cid, String shopName, Integer state, Integer top)
            throws BrandClassShopException {
        
        if (id == null) {
            throw new BrandClassShopException(1, "数据为空:请选择店铺");
@@ -157,7 +157,6 @@
        updateshop.setBrandClass(new BrandClass(cid));
        brandClassShopMapper.updateByPrimaryKeySelective(updateshop);
    }
    @Override
    public List<BrandClassShop> listQuery(long start, int count, String key, Long cid, Integer state) {
@@ -191,12 +190,10 @@
        return listQuery;
    }
    @Override
    public long countQuery(String key, Long cid, Integer state) {
        return brandClassShopMapper.countQuery(key, cid, state);
    }
    @Override
    @Transactional
@@ -216,7 +213,6 @@
        }
        brandClassShopMapper.deleteBatchByClassId(list);
    }
    
    @Override
    public void updateOrder(Long id, Integer moveType) throws BrandClassShopException, Exception{
@@ -300,7 +296,8 @@
        data.put("listShop", JsonUtil.getApiCommonGson().toJson(listShop));
        
        long count = 0;
        List<TaoBaoShopVO> listInfo = taoBaoShopService.listBrandShopinfo((page-1)*Constant.PAGE_SIZE, Constant.PAGE_SIZE, cid);
        List<TaoBaoShopVO> listInfo = taoBaoShopService.listBrandShopinfo((page - 1) * Constant.PAGE_SIZE,
                Constant.PAGE_SIZE, cid);
        if (listInfo == null) {
            listInfo = new ArrayList<TaoBaoShopVO>();
        } else if (listInfo.size() > 0) {
@@ -325,7 +322,6 @@
                taoBaoShopVO.setShopIcon(shopIconCustom);
            }
            
            List<TaoBaoGoodsBriefExtra> listGoods = new ArrayList<TaoBaoGoodsBriefExtra>();
            List<TaoBaoGoodsBrief> listGoodsBrief = taoBaoShopVO.getListGoodsBrief();
            for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) {
@@ -338,8 +334,6 @@
        
        return data;
    }
    
    @Override
    public void addClick(Long shopId) {
@@ -357,5 +351,34 @@
        }
    }
    
    @Override
    public void updateShopGoods() {
        // 查询店铺
        List<BrandClassShop> shopList = listQuery(0, 1000, "", null, BrandClassShop.STATE_VALID);
        if (shopList != null)
            for (BrandClassShop shop : shopList) {
                SearchFilter sf = new SearchFilter();
                sf.setKey(shop.getShop().getShopName().replace("官方旗舰店", "").replace("旗舰店", ""));
                sf.setPage(1);
                sf.setPageSize(100);
                TaoBaoSearchResult result = TaoKeApiUtil.searchWuLiao(sf);
                List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
                if (result != null && result.getTaoBaoGoodsBriefs() != null)
                    for (TaoBaoGoodsBrief goods : result.getTaoBaoGoodsBriefs()) {
                        if (goods.getSellerId().longValue() == shop.getShop().getId()) {
                            if (taoBaoGoodsBriefService.queryByAuctionId(goods.getAuctionId()).size() == 0) {
                                goods.setCreatetime(new Date());
                                goods.setState(0);
                                goods.setUpdatetime(new Date());
                                goodsList.add(goods);
                            }
                        }
                    }
                if (goodsList.size() > 0)
                    taoBaoGoodsBriefService.insertBatch(goodsList);
            }
    }
    
}
fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoV2ServiceImpl.java
@@ -601,7 +601,6 @@
                        notificationMap.put(child.getType(), tempHongBaoOrder);
                    }
                    
                }
        } else
            throw new HongBaoException(2, "type错误");
@@ -727,6 +726,10 @@
                    firstHongbao.setMoney(
                            MoneyBigDecimalUtil.mul(hongBao.getMoney(), firstRate.divide(new BigDecimal(100))));
                }
                //返利为0的不通知
                if (firstHongbao.getMoney() == null || firstHongbao.getMoney().compareTo(new BigDecimal(0)) <= 0)
                    return;
                hongBaoV2Mapper.insertSelective(firstHongbao);
                // 用户通知
                if (notificationMap.get(HongBaoV2.TYPE_YIJI) == null) {
@@ -774,6 +777,11 @@
                        secondHongbao.setMoney(
                                MoneyBigDecimalUtil.mul(hongBao.getMoney(), secondRate.divide(new BigDecimal(100))));
                    }
                    //返利为0的不统计
                    if (secondHongbao.getMoney() == null || secondHongbao.getMoney().compareTo(new BigDecimal(0)) <= 0)
                        return;
                    hongBaoV2Mapper.insertSelective(secondHongbao);
                    // 用户通知
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -22,6 +22,7 @@
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.UserSystemCouponRecord;
import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.entity.order.CommonOrder;
import com.yeshi.fanli.entity.order.CommonOrderGoods;
import com.yeshi.fanli.entity.order.CommonOrderTradeIdMap;
@@ -35,6 +36,7 @@
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.config.SystemCouponService;
import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service;
import com.yeshi.fanli.service.inter.order.CommonOrderService;
import com.yeshi.fanli.service.inter.user.UserSystemCouponRecordService;
@@ -84,6 +86,9 @@
    @Resource
    private CommonOrderTradeIdMapMapper commonOrderTradeIdMapMapper;
    @Resource
    private CommonGoodsService commonGoodsService;
    // 奖励订单图片
    public final static String PIC_REWARD = "http://img.flqapp.com/resource/order/order_state_reward.png";
@@ -604,7 +609,14 @@
                    } catch (TaobaoGoodsDownException e) {
                        e.printStackTrace();
                        LogHelper.errorDetailInfo(e, "AUCTIONID:"+taoBaoOrder.getAuctionId(), "");
                        try {
                        taoBaoGoods = TaoBaoUtil.getSimpleGoodsBrief(taoBaoOrder.getAuctionId());
                        } catch (Exception e1) {
                            CommonGoods commonGoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(
                                    taoBaoOrder.getAuctionId(), Constant.SOURCE_TYPE_TAOBAO);
                            if (commonGoods != null)
                                taoBaoGoods = TaoBaoUtil.convert(commonGoods);
                        }
                    }
                    if (taoBaoGoods != null) {
                        goods = CommonOrderGoodsFactory.create(taoBaoGoods);
@@ -621,8 +633,8 @@
                commonOrderMapper.insertSelective(commonOrder);
                // 插入映射,保证交易ID的完整性
                commonOrderTradeIdMapMapper.insertSelective(
                        new CommonOrderTradeIdMap(commonOrder.getId(), commonOrder.getTradeId(), new Date(),commonOrder.getSourceType()));
                commonOrderTradeIdMapMapper.insertSelective(new CommonOrderTradeIdMap(commonOrder.getId(),
                        commonOrder.getTradeId(), new Date(), commonOrder.getSourceType()));
                commonOrderList.add(commonOrder);
                continue;
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -385,7 +385,7 @@
            }
            // 站内信+推送
            UserInfo user = userInfoMapper.selectByPrimaryKey(uid);
            UserInfo user = userInfoMapper.selectByPKey(uid);
            try {
                userNotificationService.orderFanliRecieved(uid, hongBaoOrder.getCommonOrder().getOrderNo(),
                        userGoodsCount.get(uid), user.getMyHongBao(), money);
@@ -827,7 +827,6 @@
                    orderMapper.insertSelective(order);
                    oldOrder = order;
                } else {
                    Long targetUid = null;
                    if (pid.equalsIgnoreCase(TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID)
                            && !StringUtil.isNullOrEmpty(orderList.get(0).getRelationId())) {
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoShopServiceImpl.java
@@ -145,8 +145,11 @@
        if (shop != null)
            return shop;
        shop = TaoBaoUtil.getTaoBaoShopDetailByAuctionId(auctionId);
        try {
        if (shop != null)
            taoBaoShopMapper.insert(shop);
        } catch (Exception e) {
        }
        return shop;
    }
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserAccountServiceImpl.java
@@ -935,6 +935,7 @@
            String oldVcode = redisManager.getSMSVCode(phone, SMSHistory.TYPE_LOGIN);
            LogHelper.test("----------------------登录验证码: " + oldVcode);
            if (!Constant.IS_TEST)
            if (StringUtil.isNullOrEmpty(oldVcode) || !oldVcode.equalsIgnoreCase(vcode)) {
                throw new UserAccountException(1, "验证码错误,重新输入");
            }
fanli/src/main/java/com/yeshi/fanli/service/inter/brand/BrandClassShopService.java
@@ -91,4 +91,10 @@
     */
    public void deleteBatchByClassId(List<Long> list);
    
    /**
     * 更新品牌商品
     */
    public void updateShopGoods();
}
fanli/src/main/java/com/yeshi/fanli/util/taobao/DaTaoKeUtil.java
@@ -524,6 +524,7 @@
            // 重新设置标题与券价格
            goods.setTitle(detail.getdTitle());
            goods.setCouponAmount(detail.getQuanPrice());
            goods.setZkPrice(detail.getOrgPrice());
            if (new BigDecimal(detail.getQuanCondition()).compareTo(new BigDecimal(0)) > 0)
                goods.setCouponInfo(String.format("满%s元减%s元", detail.getQuanCondition(),
                        MoneyBigDecimalUtil.getWithNoZera(detail.getQuanPrice()).toString()));