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,33 +749,9 @@ TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(oldExtra.getAuctionId()); listGoods.add(goodsBrief); 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); e.printStackTrace(); } } // 更新热销单品的分享奖金 ,其余不做更新 if (classId == 1) { BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(goodsBrief); ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); shareMoneyDesc.setColor("#FFFFFF"); shareMoneyDesc.setBottomColor("#E8AE48"); @@ -785,11 +759,41 @@ dynamicInfo.setDesc(shareMoneyDesc); } TaoBaoGoodsBriefExtra newExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion.toString(), null); if (!newExtra.isCoupon()) { newExtra.setState(1); } newExtra.setUpdatetime(new Date()); goodsPicture.setGoods(newExtra); } 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(); } } // 更新商品 List<TaoBaoGoodsBrief> listGoodsBrief = dynamicInfo.getListGoodsBrief(); if (listGoods != null && listGoods.size() > 0 && listGoodsBrief != null && listGoodsBrief.size() > 0) { if (classId == 1) { dynamicInfo.setListGoodsBrief(listGoods); } else { for (int i =0; i < listGoodsBrief.size(); i ++) { TaoBaoGoodsBrief taoBaoGoodsBrief = listGoodsBrief.get(i); Long auctionId = taoBaoGoodsBrief.getAuctionId(); @@ -809,6 +813,7 @@ } dynamicInfo.setListGoodsBrief(listGoods); } } dynamicInfo.setImgs(imgs); dynamicInfo.setUpdateTime(new Date()); 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); } /**