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; } 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; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderOperateVO.java
New file @@ -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; } 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; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/LoginStoreUserInfoVO.java
New file @@ -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; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ShopOperLogVO.java
@@ -23,9 +23,12 @@ @ApiModelProperty("模块标题") private String title; @ApiModelProperty("业务类型(0其它 1新增 2修改 3删除)") @ApiModelProperty("业务类型") private Integer businessType; @ApiModelProperty("业务类型名称") private String businessName; @ApiModelProperty("方法名称") private String method; 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 " + springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOperLogServiceImpl.java
@@ -55,6 +55,25 @@ */ shopOperLogVO.setJsonResult("****"); shopOperLogVO.setOperParam("****"); String businessTypeName = ""; switch (comShopOperLogDO.getBusinessType()){ case 1: businessTypeName = "登录";break; case 2: businessTypeName = "修改密码";break; case 3: businessTypeName = "添加商品";break; case 4: businessTypeName = "编辑商品";break; case 5: businessTypeName = "下架商品";break; case 6: businessTypeName = "上架商品";break; case 7: businessTypeName = "删除商品";break; case 8: businessTypeName = "取消订单";break; case 9: businessTypeName = "发货";break; case 10: businessTypeName = "配送";break; case 11:businessTypeName = "查看订单详情";break; case 12:businessTypeName = "导出订单";break; case 13:businessTypeName = "导出资金流水";break; default: break; } shopOperLogVO.setBusinessName(businessTypeName); return shopOperLogVO; }); return R.ok(comShopOperLogVOIPage); 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); } springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/LogApi.java
@@ -4,6 +4,7 @@ import com.panzhihua.common.model.dtos.PageDTO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.shop.ShopOperLogVO; import com.panzhihua.common.service.community.CommunityService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -32,7 +33,7 @@ @Resource private CommunityService communityService; @ApiOperation(value = "登陆用户操作日志") @ApiOperation(value = "登陆用户操作日志", response = ShopOperLogVO.class) @GetMapping("/page") public R page(@RequestParam("pageNum") Long pageNum, @RequestParam("pageSize") Long pageSize){ PageDTO pageDTO = new PageDTO(); 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("获取登陆商家用户信息失败"); } } } 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);