From 0fe94ada8ffb65e60372227d4c1c8f5bf98ddb8b Mon Sep 17 00:00:00 2001
From: CeDo <cedoogle@gmail.com>
Date: 星期二, 20 四月 2021 14:45:26 +0800
Subject: [PATCH] add: 订单详细信息订单日志,商家后台登陆时返回关联店铺信息

---
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderOperateVO.java                       |   31 ++++++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOrderServiceImpl.java |   12 ++
 springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/LoginApi.java                               |   29 +++++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopOrderDAO.java                  |   11 ++
 springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/OrderApi.java                               |    5 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderPageVO.java                          |    6 +
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderExportDTO.java                      |    5 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopOrderSearchDTO.java                  |    6 +
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/LoginStoreUserInfoVO.java                        |  171 ++++++++++++++++++++++++++++++++++
 9 files changed, 269 insertions(+), 7 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderExportDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderExportDTO.java
index 9c7e161..3eddddb 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderExportDTO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderExportDTO.java
@@ -39,6 +39,9 @@
     private Date createAtEnd;
     @ApiModelProperty(value = "订单ID-如果指定了订单ID,只导出指定订单,其它搜索条件将被忽略", notes = "")
     private Long[] orderIds;
-    @JsonIgnore
+    @ApiModelProperty(hidden = true)
     private Long userId;
+    @ApiModelProperty(hidden = true)
+    private Long storeUserId;
+
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopOrderSearchDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopOrderSearchDTO.java
index 5cec7cc..013cbf3 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopOrderSearchDTO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopOrderSearchDTO.java
@@ -41,6 +41,10 @@
     private Long pageNum;
     @ApiModelProperty(value = "分页-每页记录数",example = "10", required = true)
     private Long pageSize;
-    @JsonIgnore
+    @ApiModelProperty(hidden = true)
     private Long userId;
+    @ApiModelProperty(hidden = true)
+    private Long storeId;
+    @ApiModelProperty(hidden = true)
+    private Long storeUserId;
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderOperateVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderOperateVO.java
new file mode 100644
index 0000000..ac483ef
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderOperateVO.java
@@ -0,0 +1,31 @@
+package com.panzhihua.common.model.vos.shop;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@ApiModel("订单操作日志")
+public class ComShopOrderOperateVO {
+
+    @ApiModelProperty(value = "订单号")
+    private String orderNo;
+
+    @ApiModelProperty(value = "操作人")
+    private String operationBy;
+
+    @ApiModelProperty(value = "操作时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date operationTime;
+
+    @ApiModelProperty(value = "操作类型(1.创建订单 2.取消订单 3.订单支付 4.订单发货 5.订单完成)")
+    private Integer operationType;
+
+    @ApiModelProperty(value = "操作内容")
+    private String operationContent;
+
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderPageVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderPageVO.java
index 52570ea..b4ff08c 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderPageVO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderPageVO.java
@@ -72,4 +72,10 @@
     @ApiModelProperty(value = "用户收货地址id")
     private ComShopUserAddressVO userAddressVO;
 
+    @ApiModelProperty(value = "商品名称")
+    private String goodsName;
+
+    @ApiModelProperty(value = "订单日志")
+    private List<ComShopOrderOperateVO> logs;
+
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/LoginStoreUserInfoVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/LoginStoreUserInfoVO.java
new file mode 100644
index 0000000..ba184e1
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/LoginStoreUserInfoVO.java
@@ -0,0 +1,171 @@
+package com.panzhihua.common.model.vos.shop;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.panzhihua.common.model.vos.community.ComActVO;
+import com.panzhihua.common.model.vos.community.ComMngStructAreaVO;
+import com.panzhihua.common.model.vos.community.ComMngStructHouseVO;
+import com.panzhihua.common.model.vos.user.ComMngFamilyInfoVO;
+import com.panzhihua.common.validated.AddGroup;
+import com.panzhihua.common.validated.PutGroup;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * @program: springcloud_k8s_panzhihuazhihuishequ
+ * @description: 登录用户信息
+ * @author: huang.hongfa weixin hhf9596 qq 959656820
+ * @create: 2020-11-24 09:35
+ **/
+@Data
+@ApiModel(value = "用户信息")
+public class LoginStoreUserInfoVO {
+
+    @ApiModelProperty("user_id")
+    private Long userId;
+
+    @ApiModelProperty("微信会话密钥")
+    private String sessionKey;
+
+    @ApiModelProperty("用户在开放平台的唯一标识符")
+    private String unionid;
+
+    @ApiModelProperty("登录账户")
+    private String account;
+
+    @ApiModelProperty("登录密码")
+    private String password;
+
+    @ApiModelProperty("微信小程序唯一标识")
+    private String openid;
+
+    @ApiModelProperty("手机号")
+    private String phone;
+
+    @ApiModelProperty("昵称")
+    private String nickName;
+
+    @ApiModelProperty("真实名字")
+    @NotBlank(groups = {AddGroup.class},message = "真实名字不能为空")
+    private String name;
+
+    @ApiModelProperty("社区id")
+    @Min(value = 1,groups = {PutGroup.class},message = "社区id不能为空")
+    @NotNull(groups = {PutGroup.class},message = "社区id不能为空")
+    private Long communityId;
+
+    @ApiModelProperty("社区名字")
+    private String communityName;
+
+    @ApiModelProperty("性别 1 男 2 女")
+    private Integer sex;
+    
+    @ApiModelProperty("是否社区团队或者党委或系统管理人员 1 是 2 否")
+    private Integer ismemberrole;
+
+    @ApiModelProperty("生日")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date birthday;
+
+    @ApiModelProperty("头像")
+    private String imageUrl;
+
+    @ApiModelProperty(value = "用户类型 1 小程序 2 运营平台 3 社区平台")
+    private Integer type;
+
+    @ApiModelProperty("职业")
+    private String job;
+
+    @ApiModelProperty("是否志愿者 0否 1 是")
+    private Integer isVolunteer;
+
+    @ApiModelProperty("是否党员 0 否 1 是")
+    private Integer isPartymember;
+
+    @ApiModelProperty("1 启用 2 禁用")
+    private Integer status;
+
+    @ApiModelProperty("创建时间")
+    private Date createAt;
+
+    @ApiModelProperty("最后登录时间")
+    private Date lastLoginTime;
+
+    @ApiModelProperty("角色集合")
+    private Set<String> roles;
+
+    @ApiModelProperty("权限集合")
+    private Set<String> permissions;
+
+    @ApiModelProperty("人脸采集照片url")
+    private String faceUrl;
+
+    @ApiModelProperty("驳回原因")
+    private String rejectReson;
+
+    @ApiModelProperty("身份证号")
+    @NotBlank(groups = {AddGroup.class},message = "身份证号不能为空")
+    private String idCard;
+
+    @ApiModelProperty("标签 多个用,隔开")
+    private String tags;
+
+    @ApiModelProperty("家庭id")
+    private Long familyId;
+
+    @ApiModelProperty(value = "分页每页数量",example = "10")
+    private Long pageSize;
+
+    @ApiModelProperty(value = "分页当前记录数",example = "1")
+    private Long pageNum;
+
+    @ApiModelProperty("人脸采集审核状态 0 待审核 1 审核通过 2驳回")
+    private Integer faceState;
+
+    @ApiModelProperty("操作类型 1通过 2驳回 3删除")
+    private Integer operationType;
+
+    @ApiModelProperty("家庭成员")
+    private List<ComMngFamilyInfoVO> comMngFamilyInfoVOS;
+
+    @ApiModelProperty("房屋信息")
+    private List<ComMngStructHouseVO> comMngStructHouseVOS;
+
+    @ApiModelProperty("用户小区id")
+    @Min(value = 1,groups = {PutGroup.class},message = "用户小区id不能为空")
+    @NotNull(groups = {PutGroup.class},message = "用户小区id不能为空")
+    private Long areaId;
+
+    @ApiModelProperty("用户所在社区信息")
+    private ComActVO comActVO;
+
+    @ApiModelProperty("小区信息")
+    private ComMngStructAreaVO comMngStructAreaVO;
+
+    @ApiModelProperty("0 未申请 1 申请中 2 通过 3 驳回")
+    private Integer volunteerStatus;
+
+
+    @ApiModelProperty("是否注册 0 否 1 是")
+    private Integer isRegister;
+
+    @ApiModelProperty("年龄")
+    private Integer age;
+
+    @ApiModelProperty("政治面貌:1 - 党员;2 - 团员;3 - 群众")
+    private Integer politicalOutlook;
+
+
+    @ApiModelProperty("用户商铺信息")
+    private ShopStoreVO storeInfo;
+
+
+
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopOrderDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopOrderDAO.java
index 904a96e..7c3583f 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopOrderDAO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopOrderDAO.java
@@ -75,6 +75,12 @@
                 "<if test='pageComShopOrderSearchDTO.storeName != null '>" +
                 " AND ss.name like concat('%', #{pageComShopOrderSearchDTO.storeName}, '%') " +
                 " </if> " +
+                "<if test='pageComShopOrderSearchDTO.storeId != null '>" +
+                " AND ss.id = #{pageComShopOrderSearchDTO.storeId} " +
+                " </if> " +
+                "<if test='pageComShopOrderSearchDTO.storeUserId != null '>" +
+                " AND ss.sys_user_id = #{pageComShopOrderSearchDTO.storeUserId} " +
+                " </if> " +
             " GROUP BY sr.id " +
             " ORDER BY sr.create_at "+
             "</script>")
@@ -102,7 +108,10 @@
                 " LEFT JOIN com_shop_store ss ON sr.store_id = ss.id \n" +
             " WHERE sr.delete_status = 1" +
             "<if test='comShopOrderExportDTO.userId != null'>" +
-            " AND ss.user_id = #{comShopOrderExportDTO.userId} " +
+            " AND sr.user_id = #{comShopOrderExportDTO.userId} " +
+            " </if> " +
+            "<if test='comShopOrderExportDTO.storeUserId != null '>" +
+            " AND ss.sys_user_id = #{comShopOrderExportDTO.storeUserId} " +
             " </if> " +
             "<if test='comShopOrderExportDTO.orderIds != null and comShopOrderExportDTO.orderIds.length>0 '>" +
                 " AND sr.id in " +
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOrderServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOrderServiceImpl.java
index be8fa71..dc59a90 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOrderServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOrderServiceImpl.java
@@ -350,6 +350,7 @@
         //查询订单下商品信息
         List<ComShopOrderGoodsDO> orderGoodsDOList = comShopOrderGoodsDAO.selectList(new QueryWrapper<ComShopOrderGoodsDO>()
                 .eq("order_no",shopOrderDO.getOrderNo()));
+        StringBuilder sbr = new StringBuilder("");
         if(!orderGoodsDOList.isEmpty()){
             orderGoodsDOList.forEach(orderGoods -> {
                 ComShopOrderGoodsVO orderGoodsVO = new ComShopOrderGoodsVO();
@@ -358,9 +359,11 @@
                 orderGoodsVO.setGoodsPic(orderGoods.getGoodsAttrPic());
                 orderGoodsVO.setPrice(orderGoods.getGoodsAttrPrice());
                 orderGoodsVOS.add(orderGoodsVO);
+                sbr.append(orderGoods.getGoodsName() + " " );
             });
         }
         orderVO.setOrderGoodsVOList(orderGoodsVOS);
+        orderVO.setGoodsName(sbr.toString());
 
         ComShopUserAddressVO userAddressVO = new ComShopUserAddressVO();
         //查询用户收货地址
@@ -370,6 +373,15 @@
             orderVO.setUserAddressVO(userAddressVO);
         }
 
+        //操作日志
+        List<ComShopOrderOperateDO> listOperLog = comShopOrderOperateDAO.selectList(new LambdaQueryWrapper<ComShopOrderOperateDO>().eq(ComShopOrderOperateDO::getOrderNo, shopOrderDO.getOrderNo()));
+        List<ComShopOrderOperateVO> listOperLogVO = new ArrayList<>(listOperLog.size());
+        listOperLog.forEach(logDO ->{
+            ComShopOrderOperateVO copyVO = new ComShopOrderOperateVO();
+            BeanUtils.copyProperties(logDO,copyVO);
+            listOperLogVO.add(copyVO);
+        });
+        orderVO.setLogs(listOperLogVO);
         return R.ok(orderVO);
     }
 
diff --git a/springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/LoginApi.java b/springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/LoginApi.java
index e087e89..f6880e7 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/LoginApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/LoginApi.java
@@ -1,16 +1,21 @@
 package com.panzhihua.shop_backstage.api;
 
+import com.alibaba.fastjson.JSONObject;
 import com.panzhihua.common.controller.BaseController;
 import com.panzhihua.common.model.vos.LoginUserInfoVO;
 import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.shop.LoginStoreUserInfoVO;
+import com.panzhihua.common.model.vos.shop.ShopStoreVO;
 import com.panzhihua.common.model.vos.user.ChangePasswordVO;
 import com.panzhihua.common.service.auth.TokenService;
+import com.panzhihua.common.service.community.CommunityService;
 import com.panzhihua.common.service.user.UserService;
 import com.panzhihua.common.interfaces.ShopOperLog;
 import com.panzhihua.shop_backstage.model.vos.LoginBody;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.util.ObjectUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -26,6 +31,8 @@
     private TokenService tokenService;
     @Resource
     private UserService userService;
+    @Resource
+    private CommunityService communityService;
 
     @ApiOperation(value = "商家后台登录")
     @ShopOperLog(operType = 1)
@@ -57,11 +64,29 @@
         return userService.changePassword(changePasswordVO);
     }
 
-    @ApiOperation(value = "当前登录用户信息",response = LoginUserInfoVO.class)
+    @ApiOperation(value = "当前登录用户信息",response = LoginStoreUserInfoVO.class)
     @GetMapping("user")
     public R detailUser(){
         Long userId = this.getUserId();
-        return userService.detailUser(userId);
+        R<LoginUserInfoVO> loginUserInfoVOR = userService.detailUser(userId);
+
+        try {
+            LoginUserInfoVO loginUserInfoVO = JSONObject.parseObject(JSONObject.toJSONString(loginUserInfoVOR.getData()), LoginUserInfoVO.class);
+            loginUserInfoVO.setPassword("******");
+
+            R<ShopStoreVO> storeR = communityService.getUserStoreInfo(userId);
+
+            LoginStoreUserInfoVO loginStoreUserInfoVO = new LoginStoreUserInfoVO();
+            BeanUtils.copyProperties(loginUserInfoVO, loginStoreUserInfoVO);
+            if (R.isOk(storeR)&& storeR.getData()!=null) {
+                ShopStoreVO shopStoreVO = JSONObject.parseObject(JSONObject.toJSONString(storeR.getData()), ShopStoreVO.class);
+                loginStoreUserInfoVO.setStoreInfo(shopStoreVO);
+            }
+            return R.ok(loginStoreUserInfoVO);
+        }catch (Exception e){
+            e.printStackTrace();
+            return R.fail("获取登陆商家用户信息失败");
+        }
     }
 
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/OrderApi.java b/springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/OrderApi.java
index 577a5d2..2fe2bc7 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/OrderApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/OrderApi.java
@@ -69,8 +69,8 @@
     @ApiOperation(value = "订单分页", response = ComShopOrderSearchVO.class)
     @PostMapping("")
     public R page(@RequestBody @Validated PageComShopOrderSearchDTO pageComShopOrderSearchDTO){
-        pageComShopOrderSearchDTO.setUserId(this.getUserId());
         ClazzUtils.setIfStringIsEmpty(pageComShopOrderSearchDTO);
+        pageComShopOrderSearchDTO.setStoreUserId(this.getUserId());
         return communityService.pageShopOrder(pageComShopOrderSearchDTO);
     }
 
@@ -113,6 +113,7 @@
     @ShopOperLog(operType = 12)
     public R export(@RequestBody ComShopOrderExportDTO comShopOrderExportDTO){
         ClazzUtils.setIfStringIsEmpty(comShopOrderExportDTO);
+        comShopOrderExportDTO.setStoreUserId(getUserId());
         String url=excelUrl;
         String uuid= UUID.randomUUID().toString().replace("-","");
         //String name=uuid+".xlsx";
@@ -126,7 +127,7 @@
 
         ShopStoreVO shopStoreVO = JSONObject.parseObject(JSONObject.toJSONString(storeR.getData()),ShopStoreVO.class);
         Long userId = this.getUserId();
-        comShopOrderExportDTO.setUserId(userId);
+        comShopOrderExportDTO.setStoreUserId(userId);
         R r=communityService.shopOrderExportData(comShopOrderExportDTO);
         if (R.isOk(r)) {
             List<ExcelShopOrderDTO> excelShopOrderDTO = JSONArray.parseArray(JSONArray.toJSONString(r.getData()),ExcelShopOrderDTO.class);

--
Gitblit v1.7.1