admin
2019-05-23 df46ce4fadd17170e33cc9e350ea6645f1f4c849
Merge remote-tracking branch 'origin/master'
4个文件已修改
169 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java 73 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java
@@ -1,6 +1,11 @@
package com.yeshi.fanli.controller.client.v1;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.InvocationTargetException;
@@ -16,6 +21,7 @@
import java.util.UUID;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.beanutils.PropertyUtils;
@@ -100,6 +106,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.FileUtil;
import com.yeshi.fanli.util.GsonUtil;
import com.yeshi.fanli.util.HongBaoUtil;
import com.yeshi.fanli.util.RedisManager;
@@ -118,6 +125,8 @@
import com.yeshi.fanli.vo.user.UserInfoExtraVO;
import com.yeshi.fanli.vo.user.UserSettingsVO;
import net.coobird.thumbnailator.Thumbnails;
import net.coobird.thumbnailator.Thumbnails.Builder;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@@ -2171,27 +2180,37 @@
                out.print(JsonUtil.loadFalseResult("用户未登录"));
                return;
            }
            if (file == null) {
                out.print(JsonUtil.loadFalseResult("上传文件不能为空"));
                return;
            }
            
            long fileSize = file.getSize() / 1024 + 1;
            if (fileSize > 200) {
                out.print(JsonUtil.loadFalseResult("上传文件不能大于200kb"));
                return;
            }
            userInfoService.uploadPortrait(file, uid);
            out.print(JsonUtil.loadTrueResult("保存成功"));
        } catch (UserInfoException e) {
            out.print(JsonUtil.loadFalseResult(e.getMsg()));
            e.printStackTrace();
            try {
                LogHelper.errorDetailInfo(e);
            } catch (Exception e1) {
                e1.printStackTrace();
            }
        } catch (IOException e) {
            out.print(JsonUtil.loadFalseResult("图片上传失败失败"));
            e.printStackTrace();
            try {
                LogHelper.errorDetailInfo(e);
            } catch (Exception e1) {
                e1.printStackTrace();
            }
        } catch (Exception e) {
            out.print(JsonUtil.loadFalseResult("保存失败"));
            e.printStackTrace();
            try {
                LogHelper.errorDetailInfo(e);
            } catch (Exception e1) {
                e1.printStackTrace();
            }
        }
    }
    
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java
@@ -731,8 +731,6 @@
                }
            }
            
            // 更新
            BigDecimal shareMoney = new BigDecimal(0);
            // 商品列表
            List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>();
                        
@@ -751,63 +749,70 @@
                    TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(oldExtra.getAuctionId());
                    listGoods.add(goodsBrief);
                    
                    // 更新热销单品的分享奖金  ,其余不做更新
                    if (classId == 1) {
                        BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(goodsBrief);
                        ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO();
                        shareMoneyDesc.setColor("#FFFFFF");
                        shareMoneyDesc.setBottomColor("#E8AE48");
                        shareMoneyDesc.setContent("预估分享奖金:¥" + shareMoney);
                        dynamicInfo.setDesc(shareMoneyDesc);
                    }
                    TaoBaoGoodsBriefExtra newExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion.toString(), null);
                    
                    if (!newExtra.isCoupon()) {
                        newExtra.setState(1);
                    }
                    newExtra.setUpdatetime(new Date());
                    newExtra.setTkRate(goodsBrief.getTkRate());
                    goodsPicture.setGoods(newExtra);
                    // 更新热销单品的分享奖金  ,其余不做更新
                    if (classId == 1) {
                        BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(goodsBrief);
                        shareMoney = MoneyBigDecimalUtil.add(shareMoney, money);
                    }
                    
                } catch (TaobaoGoodsDownException e) {
                    oldExtra.setState(1);
                    oldExtra.setCoupon(false);
                    oldExtra.setUpdatetime(new Date());
                    goodsPicture.setGoods(oldExtra);
                    // 更新热销单品的分享奖金  ,其余不做更新
                    if (classId == 1) {
                        ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO();
                        shareMoneyDesc.setColor("#FFFFFF");
                        shareMoneyDesc.setBottomColor("#E8AE48");
                        shareMoneyDesc.setContent("预估分享奖金:¥" + new BigDecimal(0));
                        dynamicInfo.setDesc(shareMoneyDesc);
                    }
                    e.printStackTrace();
                }
            }
            
            // 更新热销单品的分享奖金  ,其余不做更新
            if (classId == 1) {
                ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO();
                shareMoneyDesc.setColor("#FFFFFF");
                shareMoneyDesc.setBottomColor("#E8AE48");
                shareMoneyDesc.setContent("预估分享奖金:¥" + shareMoney);
                dynamicInfo.setDesc(shareMoneyDesc);
            }
            
            
            // 更新商品
            List<TaoBaoGoodsBrief> listGoodsBrief = dynamicInfo.getListGoodsBrief();
            if (listGoods != null && listGoods.size() > 0 && listGoodsBrief != null && listGoodsBrief.size() > 0) {
                
                for (int i =0; i < listGoodsBrief.size(); i ++) {
                    TaoBaoGoodsBrief taoBaoGoodsBrief = listGoodsBrief.get(i);
                    Long auctionId = taoBaoGoodsBrief.getAuctionId();
                    boolean isadd = true;
                    for (TaoBaoGoodsBrief goods: listGoods) {
                        if(goods.getAuctionId().equals(auctionId) || goods.getAuctionId() == auctionId) {
                            isadd = false;
                            break;
                        }
                if (classId == 1) {
                    dynamicInfo.setListGoodsBrief(listGoods);
                } else {
                    for (int i =0; i < listGoodsBrief.size(); i ++) {
                        TaoBaoGoodsBrief taoBaoGoodsBrief = listGoodsBrief.get(i);
                        Long auctionId = taoBaoGoodsBrief.getAuctionId();
                        boolean isadd = true;
                        for (TaoBaoGoodsBrief goods: listGoods) {
                            if(goods.getAuctionId().equals(auctionId) || goods.getAuctionId() == auctionId) {
                                isadd = false;
                                break;
                            }
                        }
                        // 商品已下架 则添加原来商品信息
                        if (isadd) {
                            listGoods.add(taoBaoGoodsBrief);
                        }
                    }
                    // 商品已下架 则添加原来商品信息
                    if (isadd) {
                        listGoods.add(taoBaoGoodsBrief);
                    }
                    dynamicInfo.setListGoodsBrief(listGoods);
                }
                dynamicInfo.setListGoodsBrief(listGoods);
            }
            
            dynamicInfo.setImgs(imgs);
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java
@@ -1,5 +1,6 @@
package com.yeshi.fanli.service.impl.user;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
@@ -25,6 +26,7 @@
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import org.yeshi.utils.FileUtil;
import org.yeshi.utils.HttpUtil;
import org.yeshi.utils.NumberUtil;
import org.yeshi.utils.tencentcloud.COSManager;
@@ -63,6 +65,8 @@
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.util.wx.WXLoginUtil;
import com.yeshi.fanli.vo.user.UserInfoVO;
import net.coobird.thumbnailator.Thumbnails;
@Service
public class UserInfoServiceImpl implements UserInfoService {
@@ -927,25 +931,30 @@
            throw new UserInfoException(1, "用户不存在");
        }
        
        String portrait = userInfo.getPortrait();
        if (portrait != null && portrait.trim().length() > 0 && portrait.contains("/img/user/")) {
            COSManager.getInstance().deleteFile(portrait);
        // 谷歌压缩图片
        String targetPath = FileUtil.getCacheDir() + "/uploadPortrait_" + uid + "_" + System.currentTimeMillis() + ".jpg";
        Thumbnails.of(file.getInputStream()).size(200, 200).toFile(targetPath);
        // 执行上传
        String filePath="/img/user/" + UUID.randomUUID().toString().replace("-", "") + ".jpg";
        String fileLink= COSManager.getInstance().uploadFile(new File(targetPath), filePath).getUrl();
        // 删除本地图片
        if (new File(targetPath).exists()) {
            new File(targetPath).delete();
        }
        
        // 原头像
        String portrait = userInfo.getPortrait();
        
        // 文件解析
        InputStream inputStream = file.getInputStream();
        String contentType = file.getContentType();
        String type = contentType.substring(contentType.indexOf("/") + 1);
        // 文件路径
        String filePath="/img/user/"+UUID.randomUUID().toString().replace("-", "") + "." + type;
        // 执行上传
        String fileLink= COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
        // 更新信息
        userInfo.setPortrait(fileLink);
        userInfoMapper.updateByPrimaryKeySelective(userInfo);
        
        // 删除原头像
        if (!StringUtil.isNullOrEmpty(portrait) && portrait.contains("/img/user/")) {
            COSManager.getInstance().deleteFile(portrait);
        }
        
        executor.execute(new Runnable() {
            @Override
@@ -962,7 +971,6 @@
                }
            }
        });
    }
    
    
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java
@@ -197,6 +197,28 @@
                            }
                        }
                    }
                    String shareType = shareRecord.getShareType();
                    if (StringUtil.isNullOrEmpty(shareType)) {
                        shareRecord.setShareType(UserShareGoodsRecord.SHARETYPE_SINGLE);
                    }
                    BigDecimal totalMoney = shareRecord.getTotalMoney();
                    if (totalMoney == null) {
                        shareRecord.setTotalMoney(new BigDecimal(0));
                    }
                }
            } else {
                for (UserShareGoodsRecord shareRecord : list) {
                    String shareType = shareRecord.getShareType();
                    if (StringUtil.isNullOrEmpty(shareType)) {
                        shareRecord.setShareType(UserShareGoodsRecord.SHARETYPE_SINGLE);
                    }
                    BigDecimal totalMoney = shareRecord.getTotalMoney();
                    if (totalMoney == null) {
                        shareRecord.setTotalMoney(new BigDecimal(0));
                    }
                }
            }
        }
@@ -795,6 +817,9 @@
                }
            }
        }
        // 清理缓存
        redisManager.removeCommonString(shareKey);
    }
    /**