springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/api/LoginApi.java
@@ -107,5 +107,16 @@ return R.ok(loginReturnVO); } /** * 商家后台登录 * @param account 账户 * @param password 密码 * @return 登录结果 */ @PostMapping("/loginShopBackStage") public R loginShopBackStage(@RequestParam("account") String account, @RequestParam("password")String password){ LoginReturnVO loginReturnVO =loginService.loginShopBackStage(account,password); return R.ok(loginReturnVO); } } springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/service/LoginService.java
@@ -39,4 +39,12 @@ * @return 登录结果 */ LoginReturnVO loginCommunityBackage(String account, String password); /** * 商家后台登录 * @param account 账户 * @param password 密码 * @return 登录结果 */ LoginReturnVO loginShopBackStage(String account, String password); } springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/service/impl/LoginServiceImpl.java
@@ -104,5 +104,25 @@ return loginReturnVO; } /** * 商家后台登录 * * @param account 账户 * @param password 密码 * @return 登录结果 */ @Override public LoginReturnVO loginShopBackStage(String account, String password) { Authentication authentication = null; authentication = authenticationManager .authenticate(new UsernamePasswordAuthenticationToken(account+"_5", password)); LoginUserInfoVO loginUser = (LoginUserInfoVO) authentication.getPrincipal(); String token = JWTTokenUtil.generateToken(loginUser); String refeshToken = JWTTokenUtil.generateRefeshToken(loginUser); LoginReturnVO loginReturnVO=new LoginReturnVO(); loginReturnVO.setToken(token); loginReturnVO.setRefreshToken(refeshToken); return loginReturnVO; } } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/interfaces/ShopOperLog.java
New file @@ -0,0 +1,32 @@ package com.panzhihua.common.interfaces; import java.lang.annotation.*; /** * 商城后台操作日志注解 * @author wu */ @Target(ElementType.METHOD) //注解放置的目标位置,METHOD是可注解在方法级别上 @Retention(RetentionPolicy.RUNTIME) //注解在哪个阶段执行 @Documented public @interface ShopOperLog { String operModul() default "shop"; /** * 操作类型 * 1.登录 * 2.修改密码 * 3.添加商品 * 4.编辑商品 * 5.下架商品 * 6.上架商品 * 7.删除商品 * 8.取消订单 * 9.发货 * 10.配送 * 11.查看订单详情 * 12.导出订单 * 13.导出资金流水 * @return */ int operType() default 0; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ShopOperLogVO.java
New file @@ -0,0 +1,78 @@ 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.util.Date; /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 商城后台操作日志 * @author: cedoo * @create: 2021-4-17 10:11:45 **/ @Data @ApiModel("操作日志") public class ShopOperLogVO { @ApiModelProperty("日志主键") private Long operId; @ApiModelProperty("模块标题") private String title; @ApiModelProperty("业务类型(0其它 1新增 2修改 3删除)") private Integer businessType; @ApiModelProperty("方法名称") private String method; @ApiModelProperty("请求方式") private String requestMethod; @ApiModelProperty("操作类别(0其它 1后台用户 2手机端用户)") private Integer operatorType; @ApiModelProperty("操作人员") private String operName; @ApiModelProperty("部门名称") private String deptName; @ApiModelProperty("请求url") private String operUrl; @ApiModelProperty("主机地址") private String operIp; @ApiModelProperty("操作地点") private String operLocation; @ApiModelProperty("请求参数") private String operParam; @ApiModelProperty("返回参数") private String jsonResult; @ApiModelProperty("操作状态(0正常 1异常)") private Integer status; @ApiModelProperty("错误消息") private String errorMsg; @ApiModelProperty("操作时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date operTime; @ApiModelProperty("社区id") private Long communityId; @ApiModelProperty("操作账户") private String account; @ApiModelProperty("用户ID") private Long userId; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/auth/TokenService.java
@@ -54,4 +54,13 @@ */ @PostMapping("/refreshToken") R refreshToken(@RequestParam("refreshToken")String refreshToken); /** * 商家后台登录 * @param account 账户 * @param password 密码 * @return 登录结果 */ @PostMapping("/loginShopBackStage") R loginShopBackStage(@RequestParam("account") String account, @RequestParam("password")String password); } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -1,6 +1,7 @@ package com.panzhihua.common.service.community; import com.panzhihua.common.model.dtos.AppletesBackstageConfigDTO; import com.panzhihua.common.model.dtos.PageDTO; import com.panzhihua.common.model.dtos.advertisement.ComOpsAdvDTO; import com.panzhihua.common.model.dtos.advertisement.PageComOpsAdvDTO; import com.panzhihua.common.model.dtos.community.*; @@ -11,6 +12,7 @@ import com.panzhihua.common.model.vos.community.questnaire.EditComActQuestnaireVo; import com.panzhihua.common.model.vos.community.questnaire.QuestnaireVO; import com.panzhihua.common.model.vos.community.questnaire.UsersAnswerQuestnaireVO; import com.panzhihua.common.model.vos.shop.ShopOperLogVO; import com.panzhihua.common.model.vos.shop.ShopStoreVO; import com.panzhihua.common.model.vos.user.UserPhoneVO; import org.springframework.cloud.openfeign.FeignClient; @@ -1793,4 +1795,18 @@ @GetMapping("/shop/getStoreInfo") R getStoreInfo(@RequestParam("id")Long id); /** * 结果 * @param shopOperlog 商城后台操作日志 */ @PostMapping("/shop/addShopOperLog") R addShopOperLog(@RequestBody ShopOperLogVO shopOperlog); /** * 分页查询 商家后台操作日志 * @param pageDTO 分页数据 * @return 分页日志 */ @PostMapping("/shop/pageShopOperLog") R pageShopOperLog(@RequestBody PageDTO pageDTO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ShopApi.java
@@ -1,10 +1,13 @@ package com.panzhihua.service_community.api; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.model.dtos.PageDTO; import com.panzhihua.common.model.dtos.shop.PageComShopStoreDTO; 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.model.vos.shop.ShopStoreVO; import com.panzhihua.service_community.service.ComShopOperLogService; import com.panzhihua.service_community.service.ComShopStoreService; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; @@ -20,6 +23,8 @@ @Resource private ComShopStoreService comShopStoreService; @Resource private ComShopOperLogService comShopOperLogService; /** * 店铺列表-分页查询 @@ -76,5 +81,25 @@ return comShopStoreService.getOneInfo(id); } /** * 添加商城后台日志 * * @param shopOperlog 商城日志 * @return 添加结果 */ @PostMapping("/addShopOperLog") public R addShopOperLog(@RequestBody ShopOperLogVO shopOperlog) { return comShopOperLogService.saveLog(shopOperlog); } /** * 分页查询 商家后台操作日志 * @param pageDTO 分页数据 * @return 分页日志 */ @PostMapping("/pageShopOperLog") public R pageShopOperLog(@RequestBody PageDTO pageDTO) { return comShopOperLogService.pageShopOperLog(pageDTO); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopOperLogDAO.java
New file @@ -0,0 +1,16 @@ package com.panzhihua.service_community.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.panzhihua.service_community.model.dos.ComShopOperLogDO; import com.panzhihua.service_community.model.dos.ComShopOrderDO; import org.apache.ibatis.annotations.Mapper; /** * @author cedoo * @create 2021-4-17 10:55:15 * @describe 订单日志mapper类 */ @Mapper public interface ComShopOperLogDAO extends BaseMapper<ComShopOperLogDO> { } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopOperLogDO.java
New file @@ -0,0 +1,114 @@ package com.panzhihua.service_community.model.dos; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.io.Serializable; import java.util.Date; /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 操作日志 * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2020-12-25 10:34 **/ @Data @TableName("com_shop_oper_log") public class ComShopOperLogDO implements Serializable { private static final long serialVersionUID = 1L; /** * 日志主键 */ private Long operId; /** * 模块标题 */ private String title; /** * 业务类型(0其它 1新增 2修改 3删除) */ private Integer businessType; /** * 方法名称 */ private String method; /** * 请求方式 */ private String requestMethod; /** * 操作类别(0其它 1后台用户 2手机端用户) */ private Integer operatorType; /** * 操作人员 */ private String operName; /** * 部门名称 */ private String deptName; /** * 请求url */ private String operUrl; /** * 主机地址 */ private String operIp; /** * 操作地点 */ private String operLocation; /** * 请求参数 */ private String operParam; /** * 返回参数 */ private String jsonResult; /** * 操作状态(0正常 1异常) */ private Integer status; /** * 错误消息 */ private String errorMsg; /** * 操作时间 */ private Date operTime; /** * 操作社区id 0 标识运营后台 */ private Long communityId; /** * 操作账户 */ private String account; /** * 操作用户ID */ private Long userId; } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopOperLogService.java
New file @@ -0,0 +1,29 @@ package com.panzhihua.service_community.service; import com.baomidou.mybatisplus.extension.service.IService; import com.panzhihua.common.model.dtos.PageDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.shop.ShopOperLogVO; import com.panzhihua.service_community.model.dos.ComShopOperLogDO; import com.panzhihua.service_community.model.dos.ComShopUserAddressDO; /** * @author cedoo * @create 2021-4-16 10:49:12 * @describe 商城后台操作日志 */ public interface ComShopOperLogService extends IService<ComShopOperLogDO> { /** * 通过VO添加日志 * @param shopOperlog 商城后台日志VO * @return */ R saveLog(ShopOperLogVO shopOperlog); /** * 查询商城后台操作日志 * @param pageDTO * @return */ R pageShopOperLog(PageDTO pageDTO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOperLogServiceImpl.java
New file @@ -0,0 +1,57 @@ package com.panzhihua.service_community.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.dtos.PageDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.shop.ComShopStoreVO; import com.panzhihua.common.model.vos.shop.ShopOperLogVO; import com.panzhihua.service_community.dao.ComShopOperLogDAO; import com.panzhihua.service_community.dao.ComShopOrderDAO; import com.panzhihua.service_community.model.dos.ComShopOperLogDO; import com.panzhihua.service_community.model.dos.ComShopOrderDO; import com.panzhihua.service_community.model.dos.ComShopStoreDO; import com.panzhihua.service_community.service.ComShopOperLogService; import com.panzhihua.service_community.service.ComShopOrderService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; /** * @auther cedoo * @create 2021-4-17 10:51:12 * @describe 日志服务 */ @Slf4j @Service public class ComShopOperLogServiceImpl extends ServiceImpl<ComShopOperLogDAO, ComShopOperLogDO> implements ComShopOperLogService { @Override public R saveLog(ShopOperLogVO shopOperLogVO) { if (shopOperLogVO == null) { return R.ok("500", "数据为空!"); } ComShopOperLogDO theDo = new ComShopOperLogDO(); BeanUtils.copyProperties(shopOperLogVO, theDo); this.baseMapper.insert(theDo); return R.ok(); } @Override public R pageShopOperLog(PageDTO pageDTO) { Page page = new Page<>(pageDTO.getPageNum(), pageDTO.getPageSize()); IPage<ComShopOperLogDO> comShopOperLogDOIPage = this.baseMapper.selectPage(page, new LambdaQueryWrapper<ComShopOperLogDO>().eq(ComShopOperLogDO::getUserId, pageDTO.getUserId())); IPage<ShopOperLogVO> comShopOperLogVOIPage = comShopOperLogDOIPage.convert(comShopOperLogDO -> { ShopOperLogVO shopOperLogVO = new ShopOperLogVO(); BeanUtils.copyProperties(comShopOperLogDO, shopOperLogVO); return shopOperLogVO; }); return R.ok(comShopOperLogVOIPage); } }