Commit f7095229 authored by Junling Bu's avatar Junling Bu
Browse files

feat[litemall-wx, litemall-wx-api]: 个人主页显示订单的相关数量

parent 76568b30
......@@ -11,7 +11,9 @@ import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
@Service
......@@ -169,4 +171,40 @@ public class LitemallOrderService {
example.or().andOrderSnEqualTo(orderSn).andDeletedEqualTo(false);
return orderMapper.selectOneByExample(example);
}
public Map<Object, Object> orderInfo(Integer userId){
LitemallOrderExample example = new LitemallOrderExample();
example.or().andUserIdEqualTo(userId).andDeletedEqualTo(false);
List<LitemallOrder> orders = orderMapper.selectByExampleSelective(example, LitemallOrder.Column.orderStatus);
int unpaid = 0;
int unship = 0;
int unrecv = 0;
int uncomment = 0;
for(LitemallOrder order : orders){
if(OrderUtil.isCreateStatus(order)){
unpaid++;
}
else if(OrderUtil.isPayStatus(order)){
unship++;
}
else if(OrderUtil.isShipStatus(order)){
unrecv++;
}
else if(OrderUtil.isConfirmStatus(order) || OrderUtil.isAutoConfirmStatus(order)){
uncomment++;
}
else {
// do nothing
}
}
Map<Object, Object> orderInfo = new HashMap<Object, Object>();
orderInfo.put("unpaid", unpaid);
orderInfo.put("unship", unship);
orderInfo.put("unrecv", unrecv);
orderInfo.put("uncomment", uncomment);
return orderInfo;
}
}
package org.linlinjava.litemall.wx.web;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.linlinjava.litemall.core.util.ResponseUtil;
import org.linlinjava.litemall.db.service.LitemallOrderService;
import org.linlinjava.litemall.wx.annotation.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.Map;
@RestController
@RequestMapping("/wx/user")
@Validated
public class WxUserController {
private final Log logger = LogFactory.getLog(WxUserController.class);
@Autowired
private LitemallOrderService orderService;
/**
* 用户信息
*
* @param userId 用户ID
* @return 用户信息
* 成功则
* {
* errno: 0,
* errmsg: '成功',
* data: xxx
* }
* 失败则 { errno: XXX, errmsg: XXX }
*/
@GetMapping("index")
public Object list(@LoginUser Integer userId) {
if(userId == null){
return ResponseUtil.unlogin();
}
Map<Object, Object> data = new HashMap<Object, Object>();
data.put("order", orderService.orderInfo(userId));
return ResponseUtil.ok(data);
}
}
\ No newline at end of file
......@@ -85,5 +85,8 @@ module.exports = {
GroupOnMy: WxApiRoot + 'groupon/my', //团购API-我的团购
GroupOnDetail: WxApiRoot + 'groupon/detail', //团购API-详情
GroupOnJoin: WxApiRoot + 'groupon/join', //团购API-详情
StorageUpload: WxApiRoot + 'storage/upload' //图片上传
StorageUpload: WxApiRoot + 'storage/upload', //图片上传,
UserIndex: WxApiRoot + 'user/index', //个人页面用户相关信息
};
\ No newline at end of file
......@@ -8,6 +8,12 @@ Page({
userInfo: {
nickName: '点击登录',
avatarUrl: 'http://yanxuan.nosdn.127.net/8945ae63d940cc42406c3f67019c5cb6.png'
},
order: {
unpaid: 0,
unship: 0,
unrecv: 0,
uncomment: 0
}
},
onLoad: function(options) {
......@@ -24,6 +30,15 @@ Page({
this.setData({
userInfo: userInfo,
});
let that = this;
util.request(api.UserIndex).then(function (res) {
if (res.errno === 0) {
that.setData({
order: res.data.order
});
}
});
}
},
......
......@@ -15,18 +15,23 @@
</view>
<view class='user_column'>
<view class='user_column_item' bindtap='goOrderIndex' data-index='1' data-route='/pages/ucenter/order/order'>
<image class='user_column_item_image' src='/static/images/pendpay.png'></image>
<text class="user_column_item_badge" wx:if="{{order.unpaid != 0}}">{{order.unpaid}}</text>
<image class='user_column_item_image' src='/static/images/pendpay.png'>
</image>
<view class='user_column_item_text'>待付款</view>
</view>
<view class='user_column_item' bindtap='goOrderIndex' data-index='2' data-route='/pages/ucenter/order/order'>
<text class="user_column_item_badge" wx:if="{{order.unship != 0}}">{{order.unship}}</text>
<image class='user_column_item_image' src='/static/images/send.png'></image>
<view class='user_column_item_text'>待发货</view>
</view>
<view class='user_column_item' bindtap='goOrderIndex' data-index='3' data-route='/pages/ucenter/order/order'>
<text class="user_column_item_badge" wx:if="{{order.unrecv != 0}}">{{order.unrecv}}</text>
<image class='user_column_item_image' src='/static/images/receive.png'></image>
<view class='user_column_item_text'>待收货</view>
</view>
<view class='user_column_item' bindtap='goOrderIndex' data-index='4' data-route='/pages/ucenter/order/order'>
<text class="user_column_item_badge" wx:if="{{order.uncomment != 0}}">{{order.uncomment}}</text>
<image class='user_column_item_image' src='/static/images/comment.png'></image>
<view class='user_column_item_text'>待评价</view>
</view>
......@@ -40,23 +45,23 @@
</view>
<view class='user_column'>
<view class='user_column_item' bindtap='goCoupon' data-route='/pages/ucenter/order/order'>
<view class='user_column_item' bindtap='goCoupon'>
<image class='user_column_item_image' src='/static/images/coupon.png'></image>
<view class='user_column_item_text'>优惠卷</view>
</view>
<view class='user_column_item' bindtap='goCollect' data-route='/pages/ucenter/order/order'>
<view class='user_column_item' bindtap='goCollect'>
<image class='user_column_item_image' src='/static/images/icon_collect.png'></image>
<view class='user_column_item_text'>商品收藏</view>
</view>
<view class='user_column_item' bindtap='goFootprint' data-route='/pages/ucenter/order/order'>
<view class='user_column_item' bindtap='goFootprint'>
<image class='user_column_item_image' src='/static/images/footprint.png'></image>
<view class='user_column_item_text'>浏览足迹</view>
</view>
<view class='user_column_item' bindtap='goGroupon' data-route='/pages/ucenter/order/order'>
<view class='user_column_item' bindtap='goGroupon'>
<image class='user_column_item_image' src='/static/images/group.png'></image>
<view class='user_column_item_text'>我的拼团</view>
</view>
<view class='user_column_item' bindtap='goOrderIndex' data-route='/pages/ucenter/order/order'>
<view class='user_column_item' bindtap='goOrderIndex'>
<image class='user_column_item_image' src='/static/images/aftersale.png'></image>
<view class='user_column_item_text'>退款/售后</view>
</view>
......
......@@ -100,8 +100,20 @@ page {
.user_column_item {
width: 30%;
height: 140rpx;
/* background: #757575; */
background: #fff;
text-align: center;
position: relative;
}
.user_column_item_badge {
height: 28rpx;
width: 28rpx;
position: absolute;
background: #b4282d;
color: #fff;
border-radius: 50%;
margin-top:20rpx;
margin-left:40rpx;
}
.user_column_item_image {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment