罗yu 元桥
2021-04-28 b6082fe75b377ac9c177736d98f36ae46e7cdb70
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOperLogServiceImpl.java
New file
@@ -0,0 +1,91 @@
package com.panzhihua.service_community.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.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.common.service.user.UserService;
import com.panzhihua.service_community.dao.ComShopOperLogDAO;
import com.panzhihua.service_community.model.dos.ComShopOperLogDO;
import com.panzhihua.service_community.service.ComShopOperLogService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
 * @auther cedoo
 * @create 2021-4-17 10:51:12
 * @describe 日志服务
 */
@Slf4j
@Service
public class ComShopOperLogServiceImpl extends ServiceImpl<ComShopOperLogDAO, ComShopOperLogDO> implements ComShopOperLogService {
    @Resource
    private UserService userService;
    @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>().orderByDesc(ComShopOperLogDO::getOperTime).eq(ComShopOperLogDO::getUserId, pageDTO.getUserId()))
                ;
        IPage<ShopOperLogVO> comShopOperLogVOIPage =
                comShopOperLogDOIPage.convert(comShopOperLogDO -> {
                    ShopOperLogVO shopOperLogVO = new ShopOperLogVO();
                    BeanUtils.copyProperties(comShopOperLogDO, shopOperLogVO);
                    /**
                     * 隐藏敏感信息
                     */
                    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);
                    R<LoginUserInfoVO> usrInfo = userService.getUserInfoByUserId(comShopOperLogDO.getUserId()+"");
                    if(R.isOk(usrInfo)) {
                        LoginUserInfoVO loginUserInfoVO = JSONObject.parseObject(JSONObject.toJSONString(usrInfo.getData()), LoginUserInfoVO.class);
                        shopOperLogVO.setUserName(loginUserInfoVO.getName());
                    }
                    return shopOperLogVO;
                });
        return R.ok(comShopOperLogVOIPage);
    }
}