yujian
2019-05-08 1e09cd488b46fe555a14b5039398ee29fb3d6bc8
热销 + 更换用户头像、昵称
4个文件已修改
2个文件已添加
312 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/HotSellController.java 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/UserGoodsStorageController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserInfoService.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/vo/hotsell/HotClassVO.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/HotSellController.java
New file
@@ -0,0 +1,143 @@
package com.yeshi.fanli.controller.client;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.JsonUtil;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.vo.dynamic.DynamicClassVO;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
import net.sf.json.JSONObject;
/**
 * 热销榜
 * @author Administrator
 *
 */
@Controller
@RequestMapping("api/v1/hotsell")
public class HotSellController {
    @Resource
    private HongBaoManageService hongBaoManageService;
    @Resource
    private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
    @Resource
    private JumpDetailV2Service jumpDetailV2Service;
    /**
     * 查询分类
     * @param acceptData
     * @param cid  2实时 3今日 1热销
     * @param out
     */
    @RequestMapping(value = "getClass", method = RequestMethod.POST)
    public void getClass(AcceptData acceptData, Integer cid, PrintWriter out) {
        try {
            List<DynamicClassVO> list = new ArrayList<DynamicClassVO>();
            DynamicClassVO c0 = new DynamicClassVO();
            c0.setId(0L);
            c0.setName("全部");
            DynamicClassVO c1 = new DynamicClassVO();
            c1.setId(1L);
            c1.setName("男装");
            DynamicClassVO c2 = new DynamicClassVO();
            c2.setId(2L);
            c2.setName("居家日用");
            DynamicClassVO c3 = new DynamicClassVO();
            c3.setId(3L);
            c3.setName("美食");
            DynamicClassVO c4 = new DynamicClassVO();
            c4.setId(4L);
            c4.setName("母婴");
            DynamicClassVO c5= new DynamicClassVO();
            c5.setId(5L);
            c5.setName("数码");
            list.add(c0);
            list.add(c1);
            list.add(c2);
            list.add(c3);
            list.add(c4);
            list.add(c5);
            JSONObject data = new JSONObject();
            data.put("count", 1);
            data.put("list", JsonUtil.getApiCommonGson().toJson(list));
            out.print(JsonUtil.loadTrueResult(data));
        } catch (Exception e) {
            out.print(JsonUtil.loadFalseResult("查询失败"));
            e.printStackTrace();
        }
    }
    /**
     * 获取动态列表
     * @param acceptData
     * @param page
     * @param cid 主分类
     * @param subId 子分类id
     * @param out
     */
    @RequestMapping(value = "getList", method = RequestMethod.POST)
    public void getList(AcceptData acceptData, Integer page, Integer cid,  Integer subId, PrintWriter out) {
        try {
            TaoBaoGoodsBriefExtra goods = null;
            List<TaoBaoGoodsBrief> listgoods = taoBaoGoodsBriefService.queryByAuctionId(584995369742L);
            if (listgoods != null && listgoods.size() > 0) {
                BigDecimal proportion = hongBaoManageService.getFanLiRate();
                goods = TaoBaoUtil.getTaoBaoGoodsBriefExtra( listgoods.get(0), proportion.toString(), null);
            }
            goods.setSalesType(cid);
            // 标签
            List<ClientTextStyleVO> labels = new ArrayList<ClientTextStyleVO>();
            ClientTextStyleVO textVO1 = new  ClientTextStyleVO();
            textVO1.setColor("#FE0014");
            textVO1.setContent("公益宝贝");
            ClientTextStyleVO textVO2 = new  ClientTextStyleVO();
            textVO2.setColor("#FF9600");
            textVO2.setContent("夏季爆款");
            labels.add(textVO1);
            labels.add(textVO2);
            goods.setLabels(labels);
            List<TaoBaoGoodsBriefExtra> list = new ArrayList<TaoBaoGoodsBriefExtra>();
            list.add(goods);
            JSONObject data = new JSONObject();
            data.put("count", 1);
            data.put("list", JsonUtil.getApiCommonGson().toJson(list));
            out.print(JsonUtil.loadTrueResult(data));
        } catch (Exception e) {
            out.print(JsonUtil.loadFalseResult("查询失败"));
            e.printStackTrace();
        }
    }
}
fanli/src/main/java/com/yeshi/fanli/controller/client/UserGoodsStorageController.java
@@ -129,10 +129,12 @@
        if (page == null || page < 1) {
            out.print(JsonUtil.loadFalseResult("页码不正确"));
            return;
        }
        if (uid == null) {
            out.print(JsonUtil.loadFalseResult("用户未登录"));
            return;
        }
        try {
fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java
@@ -1,5 +1,6 @@
package com.yeshi.fanli.controller.client;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.InvocationTargetException;
@@ -21,6 +22,7 @@
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile;
import org.yeshi.utils.HttpUtil;
import org.yeshi.utils.IPUtil;
import org.yeshi.utils.JsonUtil;
@@ -2148,4 +2150,77 @@
        }
    }
    /**
     * 用户更换头像
     * @param acceptData
     * @param fileList
     * @param uid
     * @param request
     * @param out
     */
    @RequestMapping(value = "uploadPortrait")
    public void uploadPortrait(AcceptData acceptData, MultipartFile file, Long uid, HttpServletRequest request, PrintWriter out) {
        try {
            if (uid == null) {
                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();
        } catch (IOException e) {
            out.print(JsonUtil.loadFalseResult("图片上传失败失败"));
            e.printStackTrace();
        } catch (Exception e) {
            out.print(JsonUtil.loadFalseResult("保存失败"));
            e.printStackTrace();
        }
    }
    /**
     * 更换昵称
     * @param acceptData
     * @param nickName
     * @param uid
     * @param out
     */
    @RequestMapping(value = "saveInfo")
    public void saveInfo(AcceptData acceptData, String nickName, Long uid, PrintWriter out) {
        try {
            if (uid == null) {
                out.print(JsonUtil.loadFalseResult("用户未登录"));
                return;
            }
            if (StringUtil.isNullOrEmpty(nickName)) {
                out.print(JsonUtil.loadFalseResult("昵称不能为空"));
                return;
            }
            if (nickName.length() > 200) {
                out.print(JsonUtil.loadFalseResult("昵称过长"));
                return;
            }
            userInfoService.saveUserInfo(nickName, uid);
            out.print(JsonUtil.loadTrueResult("保存成功"));
        } catch (UserInfoException e) {
            out.print(JsonUtil.loadFalseResult(e.getMsg()));
            e.printStackTrace();
        } catch (Exception e) {
            out.print(JsonUtil.loadFalseResult("保存失败"));
            e.printStackTrace();
        }
    }
}
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.IOException;
import java.io.InputStream;
import java.io.Serializable;
import java.math.BigDecimal;
@@ -22,6 +23,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import org.yeshi.utils.HttpUtil;
import org.yeshi.utils.NumberUtil;
import org.yeshi.utils.tencentcloud.COSManager;
@@ -907,4 +909,45 @@
        return null;
    }
    @Override
    public void uploadPortrait(MultipartFile file,Long uid) throws UserInfoException, IOException {
        UserInfo userInfo = userInfoMapper.selectByPKey(uid);
        if(userInfo == null) {
            throw new UserInfoException(1, "用户不存在");
        }
        String portrait = userInfo.getPortrait();
        if (portrait != null && portrait.trim().length() > 0 && portrait.contains("/img/user/")) {
            COSManager.getInstance().deleteFile(portrait);
        }
        // 文件解析
        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.updateByPrimaryKey(userInfo);
    }
    @Override
    public void saveUserInfo(String nickName, Long uid) throws UserInfoException {
        UserInfo userInfo = userInfoMapper.selectByPKey(uid);
        if(userInfo == null) {
            throw new UserInfoException(1, "用户不存在");
        }
        UserInfo updateInfo = new UserInfo();
        updateInfo.setId(userInfo.getId());
        updateInfo.setNickName(nickName);
        userInfoMapper.updateByPrimaryKeySelective(updateInfo);
    }
}
fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserInfoService.java
@@ -1,9 +1,12 @@
package com.yeshi.fanli.service.inter.user;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.springframework.web.multipart.MultipartFile;
import com.yeshi.fanli.entity.bus.user.InviteUser;
import com.yeshi.fanli.entity.bus.user.UserInfo;
@@ -184,4 +187,21 @@
     */
    public BigDecimal getBalance(Long uid);
    /**
     * 更换头像
     * @param file
     * @param uid
     * @throws UserInfoException
     * @throws IOException
     */
    public void uploadPortrait(MultipartFile file, Long uid) throws UserInfoException, IOException;
    /**
     * 保存头像
     * @param nickName
     * @param uid
     * @throws UserInfoException
     */
    public void saveUserInfo(String nickName, Long uid) throws UserInfoException;
}
fanli/src/main/java/com/yeshi/fanli/vo/hotsell/HotClassVO.java
New file
@@ -0,0 +1,29 @@
package com.yeshi.fanli.vo.hotsell;
import com.google.gson.annotations.Expose;
public class HotClassVO {
    // id
    @Expose
    private Long id;
    // 名称
    @Expose
    private String name;
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}