From 6c5a9e94f11c5ce05336303129a21886383967a6 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 07 Jul 2021 09:58:09 +0800
Subject: [PATCH] 20210707 积分拨付

---
 gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminOrderController.java    |   24 ++
 gc-core/src/main/java/com/xzx/gc/entity/JhyOrder.java                         |    2 
 gc-user/src/main/java/com/xzx/gc/user/dto/UpdateJhyInfoDto.java               |   20 ++
 gc-user/src/main/resources/mapper/user/UserLoginInfoMapper.xml                |    7 
 gc-user/src/main/java/com/xzx/gc/user/service/UserService.java                |   40 ++++
 gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java               |    2 
 gc-user/src/main/java/com/xzx/gc/user/vo/ViewJhyInfoVo.java                   |   44 ++++
 gc-user/src/main/resources/mapper/user/OrderMapper.xml                        |  162 +++++++++++++++--
 gc-user/src/main/java/com/xzx/gc/user/dto/ViewJhyInfoDto.java                 |    8 
 gc-user/src/main/java/com/xzx/gc/user/mapper/OrderMapper.java                 |    3 
 gc-shop/src/main/java/com/xzx/gc/shop/dto/CancelJhyOrderDto.java              |   11 +
 gc-user/src/main/java/com/xzx/gc/user/mapper/UserLoginInfoMapper.java         |    2 
 gc-user/src/main/java/com/xzx/gc/user/service/JhyInfoService.java             |   64 ++++++
 gc-user/src/main/resources/mapper/user/AccountMapper.xml                      |    6 
 gc-user/src/main/java/com/xzx/gc/user/controller/AdminJhyInfoController.java  |   36 +++
 gc-shop/src/main/java/com/xzx/gc/shop/service/JhyService.java                 |    9 +
 gc-core/src/main/java/com/xzx/gc/model/admin/UserModel.java                   |   11 +
 gc-user/src/main/resources/mapper/user/UserMapper.xml                         |    2 
 gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminJhyOrderController.java |   37 +++
 gc-user/src/main/java/com/xzx/gc/user/vo/JhyInfoListVo.java                   |    4 
 20 files changed, 454 insertions(+), 40 deletions(-)

diff --git a/gc-core/src/main/java/com/xzx/gc/entity/JhyOrder.java b/gc-core/src/main/java/com/xzx/gc/entity/JhyOrder.java
index 72d3d33..c0b3a2b 100644
--- a/gc-core/src/main/java/com/xzx/gc/entity/JhyOrder.java
+++ b/gc-core/src/main/java/com/xzx/gc/entity/JhyOrder.java
@@ -36,7 +36,7 @@
     private String weight;
 
     /**
-     * 订单状态 状态 1-待接单2-已接单3-已完成(用户)/待入库(集物员)4-已完成5-已取消
+     * 订单状态 状态 1-待接单2-已接单3-已完成(用户)/待入库(集物员)5-已取消
      */
     private Integer status;
     public static final Integer ORDER_STATUS_WAITING = 1;
diff --git a/gc-core/src/main/java/com/xzx/gc/model/admin/UserModel.java b/gc-core/src/main/java/com/xzx/gc/model/admin/UserModel.java
index 8a73c42..71e7cba 100644
--- a/gc-core/src/main/java/com/xzx/gc/model/admin/UserModel.java
+++ b/gc-core/src/main/java/com/xzx/gc/model/admin/UserModel.java
@@ -5,6 +5,7 @@
 import lombok.Data;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.List;
 
 @Data
@@ -77,10 +78,18 @@
      * 登陆时间
      */
     String loginTime;
+    @ApiModelProperty("推广人数")
+    Integer extensionNum;
+    @ApiModelProperty("订单数")
+    Integer allOrderNum;
+    @ApiModelProperty("环保金")
+    BigDecimal money;
+    @ApiModelProperty("积分数")
+    BigDecimal collectScore;
 
     @ApiModelProperty("1:已删除 0:未删除")
     String delFlag;
-
+    @ApiModelProperty("1:已删除 0:未删除")
     Integer orderStatus3;
     Integer orderStatus5;
      //入库重量
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminJhyOrderController.java b/gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminJhyOrderController.java
index 8afc9bb..4c5fb50 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminJhyOrderController.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminJhyOrderController.java
@@ -1,12 +1,15 @@
 package com.xzx.gc.shop.controller;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.xzx.gc.common.constant.CommonEnum;
 import com.xzx.gc.common.constant.Constants;
+import com.xzx.gc.common.dto.log.OperationAppLog;
 import com.xzx.gc.common.request.BaseController;
+import com.xzx.gc.entity.JhyInfo;
+import com.xzx.gc.entity.JhyOrder;
 import com.xzx.gc.model.JsonResult;
-import com.xzx.gc.shop.dto.QueryGoodsListDto;
-import com.xzx.gc.shop.dto.QueryJhyOrderListDto;
-import com.xzx.gc.shop.dto.ViewGoodsDto;
-import com.xzx.gc.shop.dto.ViewJhyOrderDto;
+import com.xzx.gc.shop.dto.*;
+import com.xzx.gc.shop.mapper.JhyOrderMapper;
 import com.xzx.gc.shop.service.JhyService;
 import com.xzx.gc.shop.vo.*;
 import io.swagger.annotations.Api;
@@ -19,6 +22,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import java.util.Map;
 
 @RestController
@@ -28,6 +32,9 @@
 
     @Resource
     JhyService jhyService;
+
+    @Resource
+    JhyOrderMapper jhyOrderMapper;
 
     /**
      * 订单列表
@@ -53,5 +60,27 @@
         return JsonResult.success(viewJhyOrderVo);
     }
 
+    /**
+     * 取消订单
+     */
+    @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/score/jhy/cancelJhyOrder.json")
+    @ApiOperation(value="集物员订单管理-取消订单", notes="test: 仅0有正确返回")
+    public JsonResult cancelJhyOrder(@RequestBody CancelJhyOrderDto model, HttpServletRequest request) {
+        long id = model.getId();
+        JhyOrder jhyOrder = jhyOrderMapper.selectByPrimaryKey(id);
+        if(ObjectUtil.isEmpty(jhyOrder)){
+            return JsonResult.failMessage("当前记录不存在!");
+        }
+        Integer status = jhyOrder.getStatus();
+        if(JhyOrder.ORDER_STATUS_WAITING != status){
+            return JsonResult.failMessage("订单不是待接单状态,不允许取消!");
+        }
+        jhyService.cancelJhyOrder(model);
+        OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
+                .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("集物员管理-取消订单-" + id).build();
+        mqUtil.sendApp(build);
+        return  JsonResult.success("操作成功!");
+    }
+
 
 }
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminOrderController.java b/gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminOrderController.java
index 45e5c60..1c6c463 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminOrderController.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminOrderController.java
@@ -151,12 +151,26 @@
         if(ScoreOrder.STATUS_READY != status){
             return JsonResult.failMessage("当前订单不是待发货状态!");
         }
+        ScoreOrder order = scoreOrderMapper.selectByPrimaryKey(model.getId());
+        Example exampleDetails = new Example(ScoreDetails.class);
+        Example.Criteria criteriaDetails = exampleDetails.createCriteria();
+        criteriaDetails.andEqualTo("orderNo",order.getOrderNo());
+        criteriaDetails.andEqualTo("userId",order.getUserId());
+        criteriaDetails.andEqualTo("type",ScoreDetails.SCORE_TYPE_SHOPPING_RETURN);
 
-        orderService.cancelOrder(id,scoreOrder.getUserId());
-        OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
-                .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("订单管理-取消-" + id).build();
-        mqUtil.sendApp(build);
-        return  JsonResult.success("操作成功!");
+        List<ScoreDetails> scoreDetails = scoreDetailsMapper.selectByExample(exampleDetails);
+        if(CollUtil.isNotEmpty(scoreDetails)){
+            return JsonResult.failMessage("当前订单已经取消过了!");
+        }
+        Long aLong = orderService.cancelOrder(model);
+        if(aLong > 0){
+            OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
+                    .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("订单管理-取消-" + id).build();
+            mqUtil.sendApp(build);
+            return  JsonResult.success("操作成功!");
+        }else{
+            return  JsonResult.success("操作失败!");
+        }
     }
 
 
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/dto/CancelJhyOrderDto.java b/gc-shop/src/main/java/com/xzx/gc/shop/dto/CancelJhyOrderDto.java
new file mode 100644
index 0000000..eaf8f07
--- /dev/null
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/dto/CancelJhyOrderDto.java
@@ -0,0 +1,11 @@
+package com.xzx.gc.shop.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class CancelJhyOrderDto {
+
+    @ApiModelProperty(value="订单ID")
+    private Long id;
+}
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/service/JhyService.java b/gc-shop/src/main/java/com/xzx/gc/shop/service/JhyService.java
index 15c5f5d..f7dafef 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/service/JhyService.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/service/JhyService.java
@@ -7,8 +7,10 @@
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.xzx.gc.common.utils.StringUtils;
+import com.xzx.gc.entity.JhyOrder;
 import com.xzx.gc.entity.JhyOrderItems;
 import com.xzx.gc.entity.ScoreOrderDetails;
+import com.xzx.gc.shop.dto.CancelJhyOrderDto;
 import com.xzx.gc.shop.dto.QueryJhyOrderListDto;
 import com.xzx.gc.shop.mapper.JhyOrderItemsMapper;
 import com.xzx.gc.shop.mapper.JhyOrderMapper;
@@ -86,4 +88,11 @@
 
         return viewJhyOrderVo;
     }
+
+    public void cancelJhyOrder(CancelJhyOrderDto model) {
+        Long id = model.getId();
+        JhyOrder jhyOrder = jhyOrderMapper.selectByPrimaryKey(id);
+        jhyOrder.setStatus(JhyOrder.ORDER_STATUS_CANCEL);
+        jhyOrderMapper.updateByPrimaryKey(jhyOrder);
+    }
 }
diff --git a/gc-user/src/main/java/com/xzx/gc/user/controller/AdminJhyInfoController.java b/gc-user/src/main/java/com/xzx/gc/user/controller/AdminJhyInfoController.java
index 4a012a4..8e9be1e 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/controller/AdminJhyInfoController.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/controller/AdminJhyInfoController.java
@@ -12,16 +12,14 @@
 import com.xzx.gc.entity.ScoreOrder;
 import com.xzx.gc.entity.UserInfo;
 import com.xzx.gc.model.JsonResult;
-import com.xzx.gc.user.dto.AddScoreNumDto;
-import com.xzx.gc.user.dto.ExamineJwyDto;
-import com.xzx.gc.user.dto.GetScoreNumDto;
-import com.xzx.gc.user.dto.JhyInfoListDto;
+import com.xzx.gc.user.dto.*;
 import com.xzx.gc.user.mapper.AccountMapper;
 import com.xzx.gc.user.mapper.JhyInfoMapper;
 import com.xzx.gc.user.mapper.UserMapper;
 import com.xzx.gc.user.service.JhyInfoService;
 import com.xzx.gc.user.vo.GetScoreNumVo;
 import com.xzx.gc.user.vo.JhyInfoListVo;
+import com.xzx.gc.user.vo.ViewJhyInfoVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
@@ -59,6 +57,36 @@
     }
 
     /**
+     * 查看集货员信息详情
+     */
+    @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/jhy/viewJhyInfo.json")
+    @ApiResponses({@ApiResponse( code = 200, message = "success", response = ViewJhyInfoVo.class)})
+    @ApiOperation(value="集物员管理-查看集货员信息详情", notes="test: 仅0有正确返回")
+    public JsonResult<ViewJhyInfoVo> viewJhyInfo(@RequestBody ViewJhyInfoDto viewJhyInfoDto) {
+        Long id = viewJhyInfoDto.getId();
+        ViewJhyInfoVo viewJhyInfoVo = jhyInfoService.viewJhyInfo(id);
+        return JsonResult.success(viewJhyInfoVo);
+    }
+
+    /**
+     * 编辑集货员信息
+     */
+    @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/jhy/updateJhyInfo.json")
+    @ApiOperation(value="集物员管理--编辑集货员信息", notes="test: 仅0有正确返回")
+    public JsonResult updateJhyInfo(@RequestBody UpdateJhyInfoDto model, HttpServletRequest request) {
+        long id = model.getId();
+        JhyInfo jhyInfo = jhyInfoMapper.selectByPrimaryKey(id);
+        if(ObjectUtil.isEmpty(jhyInfo)){
+            return JsonResult.failMessage("当前记录不存在!");
+        }
+        jhyInfoService.updateJhyInfo(model);
+        OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
+                .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("集物员管理--编辑集货员信息-" + id).build();
+        mqUtil.sendApp(build);
+        return  JsonResult.success("操作成功!");
+    }
+
+    /**
      * 获取积分
      */
     @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/jhy/getScoreNum.json")
diff --git a/gc-user/src/main/java/com/xzx/gc/user/dto/UpdateJhyInfoDto.java b/gc-user/src/main/java/com/xzx/gc/user/dto/UpdateJhyInfoDto.java
new file mode 100644
index 0000000..0df5b16
--- /dev/null
+++ b/gc-user/src/main/java/com/xzx/gc/user/dto/UpdateJhyInfoDto.java
@@ -0,0 +1,20 @@
+package com.xzx.gc.user.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+@Data
+public class UpdateJhyInfoDto {
+
+    private Long id;
+
+    @ApiModelProperty("手机号")
+    @NotBlank(message = "手机号不能为空")
+    private String mobile;
+
+    @NotBlank(message = "是否集物员 1-是 2-否")
+    private String isJhy;
+
+}
diff --git a/gc-user/src/main/java/com/xzx/gc/user/dto/ViewJhyInfoDto.java b/gc-user/src/main/java/com/xzx/gc/user/dto/ViewJhyInfoDto.java
new file mode 100644
index 0000000..3019bea
--- /dev/null
+++ b/gc-user/src/main/java/com/xzx/gc/user/dto/ViewJhyInfoDto.java
@@ -0,0 +1,8 @@
+package com.xzx.gc.user.dto;
+
+import lombok.Data;
+
+@Data
+public class ViewJhyInfoDto {
+    private Long id;
+}
diff --git a/gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java b/gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java
index dc7697a..452b81f 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java
@@ -48,5 +48,7 @@
     List<OrderInfo> findArea();
 
     void insertScoreDetailsRet(ScoreDetails scoreDetailsRet);
+
+    AccountInfo selectOneByUserId(@Param("userId")String userId);
 }
 
diff --git a/gc-user/src/main/java/com/xzx/gc/user/mapper/OrderMapper.java b/gc-user/src/main/java/com/xzx/gc/user/mapper/OrderMapper.java
index 996a42e..c4e82c9 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/mapper/OrderMapper.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/mapper/OrderMapper.java
@@ -1,5 +1,6 @@
 package com.xzx.gc.user.mapper;
 
+import com.xzx.gc.entity.JhyOrder;
 import com.xzx.gc.entity.OrderInfo;
 import com.xzx.gc.entity.OrderItemInfo;
 import com.xzx.gc.model.admin.PromoterModel;
@@ -56,5 +57,7 @@
 
     List<OrderInfo> findListOrderReceiveTime(@Param("receiver")String receiver);
 
+    List<JhyOrder> selectJhyOrderByUserId(@Param("userId")String userId);
+
 }
 
diff --git a/gc-user/src/main/java/com/xzx/gc/user/mapper/UserLoginInfoMapper.java b/gc-user/src/main/java/com/xzx/gc/user/mapper/UserLoginInfoMapper.java
index 84891f4..5883c75 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/mapper/UserLoginInfoMapper.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/mapper/UserLoginInfoMapper.java
@@ -14,4 +14,6 @@
     Map<String, Object> queryUserDayCount1();
 
     Map<String, Object> queryUserDayCount(@Param("townIds") List<String> townIds);
+
+    List<UserLoginInfo> selectOneByUserId(@Param("userId")String userId);
 }
diff --git a/gc-user/src/main/java/com/xzx/gc/user/service/JhyInfoService.java b/gc-user/src/main/java/com/xzx/gc/user/service/JhyInfoService.java
index b803ccc..f61ca1a 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/service/JhyInfoService.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/service/JhyInfoService.java
@@ -7,14 +7,16 @@
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.xzx.gc.common.exception.RestException;
-import com.xzx.gc.entity.AccountInfo;
-import com.xzx.gc.entity.JhyInfo;
-import com.xzx.gc.entity.ScoreDetails;
+import com.xzx.gc.common.utils.StringUtils;
+import com.xzx.gc.entity.*;
 import com.xzx.gc.user.dto.*;
 import com.xzx.gc.user.mapper.AccountMapper;
 import com.xzx.gc.user.mapper.JhyInfoMapper;
+import com.xzx.gc.user.mapper.UserLoginInfoMapper;
+import com.xzx.gc.user.mapper.UserMapper;
 import com.xzx.gc.user.vo.GetScoreNumVo;
 import com.xzx.gc.user.vo.JhyInfoListVo;
+import com.xzx.gc.user.vo.ViewJhyInfoVo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -34,6 +36,12 @@
 
     @Autowired
     private JhyInfoMapper jhyInfoMapper;
+
+    @Autowired
+    private UserMapper userMapper;
+
+    @Autowired
+    private UserLoginInfoMapper userLoginInfoMapper;
     @Autowired
     private AccountMapper accountMapper;
 
@@ -88,6 +96,16 @@
     public Map<String, Object> queryList(JhyInfoListDto jhyInfoListDto) {
         PageHelper.startPage(jhyInfoListDto.getPage(), jhyInfoListDto.getLimit());
         List<JhyInfoListVo> jhyInfoListVos = jhyInfoMapper.selectJhyInfoList(jhyInfoListDto);
+        if(CollUtil.isNotEmpty(jhyInfoListVos)){
+            for(JhyInfoListVo jhyInfoListVo : jhyInfoListVos){
+                String userId = jhyInfoListVo.getUserId();
+                if(StrUtil.isNotEmpty(userId)){
+                    AccountInfo accountInfo = accountMapper.selectOneByUserId(userId);
+                    String collectScore = StrUtil.isEmpty(accountInfo.getCollectScore()) ? "0" : accountInfo.getCollectScore();
+                    jhyInfoListVo.setScore(new BigDecimal(collectScore).setScale( 2, BigDecimal.ROUND_DOWN ));
+                }
+            }
+        }
         PageInfo<JhyInfoListVo> pageInfo = new PageInfo<>(jhyInfoListVos);
 
         Map<String, Object> data = new HashMap<>();
@@ -147,4 +165,44 @@
         }
         return getScoreNumVo;
     }
+
+    public ViewJhyInfoVo viewJhyInfo(Long id) {
+        JhyInfo jhyInfo = jhyInfoMapper.selectByPrimaryKey(id);
+        ViewJhyInfoVo viewJhyInfoVo = new ViewJhyInfoVo();
+        viewJhyInfoVo.setIsJhy(jhyInfo.getIsJhy());
+        viewJhyInfoVo.setUsername(jhyInfo.getUsername());
+        viewJhyInfoVo.setMobile(jhyInfo.getMobile());
+        viewJhyInfoVo.setIdCard(jhyInfo.getIdentity());
+        viewJhyInfoVo.setIdCardImg(jhyInfo.getCardPos());
+        viewJhyInfoVo.setAddress(jhyInfo.getAddress());
+        String userId = jhyInfo.getUserId();
+        AccountInfo accountInfo = accountMapper.selectOneByUserId(userId);
+        String collectScore = accountInfo.getCollectScore();
+        BigDecimal bigDecimal = new BigDecimal(StrUtil.isEmpty(collectScore) ? "0" : collectScore).setScale( 2, BigDecimal.ROUND_DOWN );
+        viewJhyInfoVo.setScore(bigDecimal);
+        viewJhyInfoVo.setCreateTime(jhyInfo.getCreatedTime().toString());
+
+        UserInfo userInfo = userMapper.selectByPrimaryKey(userId);
+        String nickName = userInfo.getNickName();
+        if(StrUtil.isNotEmpty(nickName)){
+            String decode = StringUtils.decode(nickName);
+            viewJhyInfoVo.setNickname(decode);
+        }
+
+        List<UserLoginInfo> userLoginInfos = userLoginInfoMapper.selectOneByUserId(userId);
+        if(CollUtil.isNotEmpty(userLoginInfos)){
+            String loginTime = userLoginInfos.get(0).getLoginTime();
+            viewJhyInfoVo.setLoginTime(loginTime);
+        }
+        return viewJhyInfoVo;
+    }
+
+    public void updateJhyInfo(UpdateJhyInfoDto model) {
+        JhyInfo jhyInfo = jhyInfoMapper.selectByPrimaryKey(model.getId());
+        String mobile = model.getMobile();
+        String isJhy = model.getIsJhy();
+        jhyInfo.setIsJhy(isJhy);
+        jhyInfo.setMobile(mobile);
+        jhyInfoMapper.updateByPrimaryKey(jhyInfo);
+    }
 }
diff --git a/gc-user/src/main/java/com/xzx/gc/user/service/UserService.java b/gc-user/src/main/java/com/xzx/gc/user/service/UserService.java
index f61698c..f7a6efb 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/service/UserService.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/service/UserService.java
@@ -5,6 +5,7 @@
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.NumberUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
 import com.github.pagehelper.PageHelper;
@@ -401,6 +402,36 @@
         orderStatus2.add("5");
         orderStatus2.add("7");
         for (UserModel mx : map) {
+
+            //推广人数(暂时没有推广关系为空),订单数,环保金,积分
+            if (userModel.getExportFlag() == 0) {
+                //订单数
+                Integer orderNum = 0;
+                Example exampleOrder = new Example(OrderInfo.class);
+                Example.Criteria criteriaOrder = exampleOrder.createCriteria();
+                criteriaOrder.andEqualTo("userId",mx.getUserId());
+                criteriaOrder.andNotEqualTo("orderStatus",6);
+                List<OrderInfo> orderInfos = orderMapper.selectByExample(exampleOrder);
+                if(CollUtil.isNotEmpty(orderInfos)){
+                    orderNum = orderNum + orderInfos.size();
+                }
+
+                List<JhyOrder> jhyOrders =  orderMapper.selectJhyOrderByUserId(mx.getUserId());
+                if(CollUtil.isNotEmpty(jhyOrders)){
+                    orderNum = orderNum + jhyOrders.size();
+                }
+                mx.setAllOrderNum(orderNum);
+                //环保金,积分
+                AccountInfo accountInfo = accountService.findByUserId(mx.getUserId());
+                if(ObjectUtil.isNotEmpty(accountInfo)){
+                    String money = accountInfo.getMoney();
+                    mx.setMoney(new BigDecimal(StrUtil.isEmpty(money) ? "0" : money).setScale( 2, BigDecimal.ROUND_DOWN ));
+
+                    String collectScore = StrUtil.isEmpty(accountInfo.getCollectScore()) ? "0":accountInfo.getCollectScore();
+                    mx.setCollectScore(new BigDecimal(collectScore).setScale( 2, BigDecimal.ROUND_DOWN ));
+                }
+
+            }
 
             //设置登录时间
             if (userModel.getExportFlag() == 0) {
@@ -819,9 +850,14 @@
         List<Map<String, Object>> odlist = orderMapper.queryCuserOrderFinishList(userId, x);
         PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(odlist);
         for (Map<String, Object> map : odlist) {
-            map.put("money", DoubleUtil.roundTwo(map.get("money").toString()));
-            map.put("weight", DoubleUtil.roundThree(map.get("weight").toString()));
             map.put("orderid", map.get("orderId").toString());
+            map.put("address", map.get("address").toString());
+            map.put("status", map.get("status"));
+            map.put("type", map.get("type"));
+            map.put("money", DoubleUtil.roundTwo(map.get("money").toString()));
+            map.put("score", DoubleUtil.roundTwo(map.get("score").toString()));
+            map.put("weight", DoubleUtil.roundThree(map.get("weight").toString()));
+            map.put("name", map.get("name").toString());
             map.put("createtime", map.get("createTime").toString());
         }
         m.put("orderList", odlist);
diff --git a/gc-user/src/main/java/com/xzx/gc/user/vo/JhyInfoListVo.java b/gc-user/src/main/java/com/xzx/gc/user/vo/JhyInfoListVo.java
index 123aed7..37173a4 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/vo/JhyInfoListVo.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/vo/JhyInfoListVo.java
@@ -5,6 +5,7 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
 import java.util.Date;
 
 @Data
@@ -40,6 +41,9 @@
     @ApiModelProperty(value = "审核状态 1-待审核 2-审核通过 3-审核拒绝")
     private Integer status;
 
+    @ApiModelProperty(value = "集物员积分数")
+    private BigDecimal score;
+
     @ApiModelProperty(value = "申请时间")
     private String createTime;
 
diff --git a/gc-user/src/main/java/com/xzx/gc/user/vo/ViewJhyInfoVo.java b/gc-user/src/main/java/com/xzx/gc/user/vo/ViewJhyInfoVo.java
new file mode 100644
index 0000000..4f01eb6
--- /dev/null
+++ b/gc-user/src/main/java/com/xzx/gc/user/vo/ViewJhyInfoVo.java
@@ -0,0 +1,44 @@
+package com.xzx.gc.user.vo;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@ApiModel(value = "ViewJhyInfoVo", description = "集物员详情")
+public class ViewJhyInfoVo {
+
+    //微信昵称
+    private String nickname;
+
+    //注册时间
+    private String createTime;
+
+    //最近登录时间
+    private String loginTime;
+
+    //账户积分
+    private BigDecimal Score;
+
+    //姓名
+    private String username;
+
+    //手机号码
+    private String mobile;
+
+    //身份证号码
+    private String idCard;
+
+    //身份证图片
+    private String idCardImg;
+
+    //地址(微信地址)
+    private String address;
+
+    /**
+     * 是否集物员 1-是 2-否
+     */
+    private String isJhy;
+
+}
diff --git a/gc-user/src/main/resources/mapper/user/AccountMapper.xml b/gc-user/src/main/resources/mapper/user/AccountMapper.xml
index 5b06173..2cd6409 100644
--- a/gc-user/src/main/resources/mapper/user/AccountMapper.xml
+++ b/gc-user/src/main/resources/mapper/user/AccountMapper.xml
@@ -141,4 +141,10 @@
                )
     </insert>
 
+
+
+    <select id="selectOneByUserId" resultType="com.xzx.gc.entity.AccountInfo">
+        select * from  xzx_account_info where user_id = #{userId}
+    </select>
+
 </mapper>
diff --git a/gc-user/src/main/resources/mapper/user/OrderMapper.xml b/gc-user/src/main/resources/mapper/user/OrderMapper.xml
index f61e067..fa58ed8 100644
--- a/gc-user/src/main/resources/mapper/user/OrderMapper.xml
+++ b/gc-user/src/main/resources/mapper/user/OrderMapper.xml
@@ -120,14 +120,65 @@
         GROUP BY a.order_id order by a.create_time
     </select>
 
+<!--    <select id="queryCuserOrderCount" resultType="java.util.HashMap">-->
+<!--        SELECT COUNT(*) as count FROM xzx_order_info WHERE create_user_id=#{userId}-->
+<!--        <if test="status != null">-->
+<!--            and order_status in-->
+<!--            <foreach collection="status" index="index" item="id" open="(" separator="," close=")">-->
+<!--                #{id}-->
+<!--            </foreach>-->
+<!--        </if>-->
+<!--        GROUP BY order_type-->
+<!--    </select>-->
+
     <select id="queryCuserOrderCount" resultType="java.util.HashMap">
-        SELECT COUNT(*) as count FROM xzx_order_info WHERE create_user_id=#{userId}
-        <if test="status != null">
-            and order_status in
-            <foreach collection="status" index="index" item="id" open="(" separator="," close=")">
-                #{id}
-            </foreach>
-        </if>
+        SELECT
+            COUNT(*) as count
+        FROM
+            (
+                (
+                    SELECT
+                        a.order_id orderId,
+                        a.order_status STATUS,
+                        '1' type,
+                        ifnull(sum(d.money), 0) money,
+                        '0' score,
+                        a.address address,
+                        ifnull(sum(d.weight), 0) weight,
+                        e. NAME NAME,
+                        a.create_time createTime
+                    FROM
+                        xzx_order_info a
+                            LEFT JOIN xzx_order_item_info d ON a.order_id = d.order_id
+                            LEFT JOIN xzx_user_info e ON e.user_id = a.receiver
+                    WHERE
+                        a.create_user_id=#{userId}
+                    GROUP BY
+                        a.order_id
+                )
+                UNION
+                (
+                    SELECT
+                        a.id orderId,
+                        a. STATUS STATUS,
+                        '2' type,
+                        '0' money,
+                        ifnull(sum(d.score), 0) score,
+                        a.address address,
+                        ifnull(sum(d.weight), 0) weight,
+                        a.username NAME,
+                        a.CREATED_TIME createTime
+                    FROM
+                        xzx_jhy_order a
+                            LEFT JOIN xzx_jhy_order_items d ON a.id = d.order_id
+                    WHERE
+                        a.user_id = #{userId}
+                    GROUP BY
+                        a.id
+                )
+            ) v
+        ORDER BY
+            createTime DESC
         GROUP BY order_type
     </select>
 
@@ -257,19 +308,83 @@
         </if>
     </select>
 
-    <select id="queryCuserOrderFinishList" resultType="java.util.HashMap">
-        SELECT a.order_id as orderId, sum(d.money) as money,sum(d.weight) as weight,a.create_time as createTime FROM
-        xzx_order_info a
-        LEFT JOIN xzx_order_item_info d on a.order_id = d.order_id
-        WHERE a.create_user_id=#{userId}
-        <if test="status != null">
-            and a.order_status in
-            <foreach collection="status" index="index" item="id" open="(" separator="," close=")">
-                #{id}
-            </foreach>
-        </if>
+<!--    <select id="queryCuserOrderFinishList" resultType="java.util.HashMap">-->
+<!--        SELECT a.order_id as orderId,-->
+<!--               sum(d.money) as money,-->
+<!--               a.address as address,-->
+<!--               a.order_type as orderType,-->
+<!--               sum(d.weight) as weight,-->
+<!--               a.create_time as createTime-->
+<!--        FROM-->
+<!--        xzx_order_info a-->
+<!--        LEFT JOIN xzx_order_item_info d on a.order_id = d.order_id-->
+<!--        WHERE a.create_user_id=#{userId}-->
+<!--        <if test="status != null">-->
+<!--            and a.order_status in-->
+<!--            <foreach collection="status" index="index" item="id" open="(" separator="," close=")">-->
+<!--                #{id}-->
+<!--            </foreach>-->
+<!--        </if>-->
 
-        GROUP BY a.order_id
+<!--        GROUP BY a.order_id-->
+<!--    </select>-->
+    <select id="queryCuserOrderFinishList" resultType="java.util.HashMap">
+        SELECT
+            orderId,
+            address,
+            status,
+            type,
+            money,
+            score,
+            weight,
+            name,
+            createTime
+        FROM
+            (
+                (
+                    SELECT
+                        a.order_id orderId,
+                        a.order_status STATUS,
+                        '1' type,
+                        ifnull(sum(d.money), 0) money,
+                        '0' score,
+                        a.address address,
+                        ifnull(sum(d.weight), 0) weight,
+                        e. NAME NAME,
+                        a.create_time createTime
+                    FROM
+                        xzx_order_info a
+                            LEFT JOIN xzx_order_item_info d ON a.order_id = d.order_id
+                            LEFT JOIN xzx_user_info e ON e.user_id = a.receiver
+                    WHERE
+                        a.create_user_id = #{userId}
+                    GROUP BY
+                        a.order_id
+                )
+                UNION
+                (
+                    SELECT
+                        a.id orderId,
+                        a. STATUS STATUS,
+                        '2' type,
+                        '0' money,
+                        ifnull(sum(d.score), 0) score,
+                        a.address address,
+                        ifnull(sum(d.weight), 0) weight,
+                        a.username NAME,
+                        a.CREATED_TIME createTime
+                    FROM
+                        xzx_jhy_order a
+                            LEFT JOIN xzx_jhy_order_items d ON a.id = d.order_id
+                    WHERE
+                        a.user_id = #{userId}
+                    GROUP BY
+                        a.id
+                )
+            ) v
+        ORDER BY
+            createTime DESC
+
     </select>
 
 
@@ -399,4 +514,13 @@
             b.receive_time ASC
     </select>
 
+    <select id="selectJhyOrderByUserId" resultType="com.xzx.gc.entity.JhyOrder">
+        SELECT
+            a.*
+        FROM
+            xzx_jhy_order a
+        WHERE
+            a.status != '5'
+            and a.user_id = #{userId}
+    </select>
 </mapper>
diff --git a/gc-user/src/main/resources/mapper/user/UserLoginInfoMapper.xml b/gc-user/src/main/resources/mapper/user/UserLoginInfoMapper.xml
index f1b6a24..e1ddf74 100644
--- a/gc-user/src/main/resources/mapper/user/UserLoginInfoMapper.xml
+++ b/gc-user/src/main/resources/mapper/user/UserLoginInfoMapper.xml
@@ -24,4 +24,11 @@
         AND DATE_FORMAT(a.login_time, '%Y-%m-%d')=DATE_FORMAT(CURDATE()-1, '%Y-%m-%d')
         GROUP BY DATE_FORMAT(a.login_time, '%Y-%m-%d') ORDER BY a.login_id DESC
     </select>
+
+    <select id="selectOneByUserId" resultType="com.xzx.gc.entity.UserLoginInfo">
+        SELECT *
+        FROM xzx_user_login_info
+        where user_id =  #{userId}
+        ORDER BY login_time desc
+    </select>
 </mapper>
diff --git a/gc-user/src/main/resources/mapper/user/UserMapper.xml b/gc-user/src/main/resources/mapper/user/UserMapper.xml
index fc7665b..06dc6e0 100644
--- a/gc-user/src/main/resources/mapper/user/UserMapper.xml
+++ b/gc-user/src/main/resources/mapper/user/UserMapper.xml
@@ -250,7 +250,7 @@
     </update>
 
     <select id="queryCuserDetail" resultType="java.util.HashMap">
-        SELECT a.*, b.money, b.withdraw_money, c.pay_type, SUM(c.money) as moneyx FROM xzx_user_info a
+        SELECT a.*, b.money,b.collect_score collectScore, b.withdraw_money, c.pay_type, SUM(c.money) as moneyx FROM xzx_user_info a
             LEFT JOIN xzx_account_info b ON a.user_id=b.user_id
             LEFT JOIN xzx_pay_info c ON b.account_id=c.account_id
             LEFT JOIN xzx_sys_config_info d ON c.pay_type=d.config_value AND d.config_type_code='PAY_TYPE'

--
Gitblit v1.9.1