k94314517
2023-09-14 45ab609a4bfee635162b8947380c858964c9be74
基础字段
已添加7个文件
已修改16个文件
652 ■■■■ 文件已修改
server/company/src/main/java/com/doumee/CompanyApplication.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/api/business/GoodsController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/api/business/WebParamController.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/api/system/SystemMenuController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/api/system/SystemUserController.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/config/shiro/ShiroCredentialsMatcher.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/GoodsController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/system/SystemMenuController.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/biz/system/SystemMenuBiz.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/biz/system/SystemUserBiz.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/WebParamMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/WebParam.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/system/SystemMenuMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/system/dto/CreateCompanyUserDTO.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/system/dto/UpdateWebParamDTO.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/WebParamService.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/WebParamServiceImpl.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/system/SystemMenuService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/system/impl/SystemMenuServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/resources/mappers/SystemMenuMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/CompanyApplication.java
@@ -4,6 +4,7 @@
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.ApplicationContext;
/**
server/company/src/main/java/com/doumee/api/business/GoodsController.java
@@ -3,6 +3,7 @@
import com.doumee.api.BaseController;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.Goods;
@@ -102,6 +103,8 @@
    @PostMapping("/page")
    @RequiresPermissions("business:goods:query")
    public ApiResponse<PageData<Goods>> findPage (@RequestBody PageWrap<Goods> pageWrap) {
        LoginUserInfo loginUserInfo = this.getLoginUser();
        pageWrap.getModel().setCompanyId(loginUserInfo.getCompanyId());
        return ApiResponse.success(goodsService.findPage(pageWrap));
    }
server/company/src/main/java/com/doumee/api/business/WebParamController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
package com.doumee.api.business;
import com.doumee.api.BaseController;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.dao.business.model.WebParam;
import com.doumee.dao.system.dto.UpdateWebParamDTO;
import com.doumee.service.business.WebParamService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
/**
 * @author æ±Ÿè¹„蹄
 * @since 2023/09/12 11:18
 */
@Api(tags = "企业页面配置信息表")
@RestController
@RequestMapping("/business/webParam")
public class WebParamController extends BaseController {
    @Autowired
    private WebParamService webParamService;
    @ApiOperation("获取当前登录企业配置信息")
    @GetMapping("/getByLogin")
//    @RequiresPermissions("business:webparam:query")
    public ApiResponse<WebParam> getByLogin() {
        return ApiResponse.success(webParamService.findOne());
    }
    @ApiOperation("更新企业配置信息")
    @PostMapping("/renew")
//    @RequiresPermissions("business:webparam:query")
    public ApiResponse renew(@RequestBody UpdateWebParamDTO updateWebParamDTO) {
        webParamService.renew(updateWebParamDTO);
        return ApiResponse.success("操作成功");
    }
}
server/company/src/main/java/com/doumee/api/system/SystemMenuController.java
@@ -5,6 +5,7 @@
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.constants.OperaType;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.dao.system.dto.UpdateSystemMenuSortDTO;
import com.doumee.dao.system.model.SystemMenu;
import com.doumee.dao.system.vo.SystemMenuListVO;
@@ -42,14 +43,16 @@
    @ApiOperation("查询菜单树")
    @GetMapping("/treeNodes")
    public ApiResponse<List<SystemMenuNodeVO>> getTreeMenu () {
        return ApiResponse.success(systemMenuBiz.findTree(this.getLoginUser().getId()));
        LoginUserInfo loginUserInfo = this.getLoginUser();
        return ApiResponse.success(systemMenuBiz.findTree(loginUserInfo.getId(),loginUserInfo.getType()));
    }
    @ApiOperation("查询列表树")
    @PostMapping("/treeList/{type}")
    @PostMapping("/treeList")
    @RequiresPermissions("system:menu:query")
    public ApiResponse<List<SystemMenuListVO>> findTree (@PathVariable Integer type) {
        return ApiResponse.success(systemMenuBiz.findTreeByType(type));
    public ApiResponse<List<SystemMenuListVO>> findTree () {
        LoginUserInfo loginUserInfo = this.getLoginUser();
        return ApiResponse.success(systemMenuBiz.findTreeByType(loginUserInfo.getType()));
    }
    @PreventRepeat
server/company/src/main/java/com/doumee/api/system/SystemUserController.java
@@ -7,10 +7,8 @@
import com.doumee.core.constants.OperaType;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.system.dto.CreateSystemUserDTO;
import com.doumee.dao.system.dto.CreateUserRoleDTO;
import com.doumee.dao.system.dto.QuerySystemUserDTO;
import com.doumee.dao.system.dto.ResetSystemUserPwdDTO;
import com.doumee.core.utils.Constants;
import com.doumee.dao.system.dto.*;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.system.vo.SystemUserListVO;
import com.doumee.service.system.SystemUserService;
@@ -126,4 +124,61 @@
        return ApiResponse.success(systemUserService.findById(id));
    }
    @Trace(withRequestParameters = false)
    @PreventRepeat
    @ApiOperation("新建员工")
    @PostMapping("/companyCreateUser")
    @RequiresPermissions("system:user:create")
    public ApiResponse companyCreate(@Validated(OperaType.Create.class) @RequestBody CreateCompanyUserDTO createCompanyUserDTO) {
        createCompanyUserDTO.setType(Constants.UserType.COMPANY.getKey());
        systemUserBiz.companyCreateUser(createCompanyUserDTO);
        return ApiResponse.success(null);
    }
    @Trace(withRequestParameters = false)
    @PreventRepeat
    @ApiOperation("新建主播")
    @PostMapping("/companyCreateAnchor")
//    @RequiresPermissions("system:user:create")
    public ApiResponse companyCreateAnchor(@Validated(OperaType.Create.class) @RequestBody CreateCompanyUserDTO createCompanyUserDTO) {
        createCompanyUserDTO.setType(Constants.UserType.ZHUBO.getKey());
        systemUserBiz.companyCreateUser(createCompanyUserDTO);
        return ApiResponse.success(null);
    }
    @Trace(withRequestParameters = false)
    @PreventRepeat
    @ApiOperation("修改员工信息")
    @PostMapping("/companyUpdUser")
    @RequiresPermissions("system:user:create")
    public ApiResponse companyUpdUser(@Validated(OperaType.Create.class) @RequestBody CreateCompanyUserDTO createCompanyUserDTO) {
        createCompanyUserDTO.setType(Constants.UserType.COMPANY.getKey());
        systemUserBiz.companyCreateUser(createCompanyUserDTO);
        return ApiResponse.success(null);
    }
    @Trace(withRequestParameters = false)
    @PreventRepeat
    @ApiOperation("修改主播信息")
    @PostMapping("/companyUpdAnchor")
    @RequiresPermissions("system:user:create")
    public ApiResponse companyUpdAnchor(@Validated(OperaType.Create.class) @RequestBody CreateCompanyUserDTO createCompanyUserDTO) {
        createCompanyUserDTO.setType(Constants.UserType.ZHUBO.getKey());
        systemUserBiz.companyUpdUser(createCompanyUserDTO);
        return ApiResponse.success(null);
    }
    @Trace(withRequestParameters = false)
    @PreventRepeat
    @ApiOperation("修改密码")
    @PostMapping("/updPassword")
//    @RequiresPermissions("system:user:create")
    public ApiResponse updPassword(@Validated(OperaType.Create.class) @RequestBody CreateCompanyUserDTO createCompanyUserDTO) {
        systemUserBiz.updPassword(createCompanyUserDTO);
        return ApiResponse.success(null);
    }
}
server/company/src/main/java/com/doumee/config/shiro/ShiroCredentialsMatcher.java
@@ -5,6 +5,7 @@
import com.doumee.service.system.SystemUserService;
import org.apache.shiro.authc.AuthenticationInfo;
import org.apache.shiro.authc.AuthenticationToken;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.authc.credential.HashedCredentialsMatcher;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
@@ -23,7 +24,7 @@
    @Override
    public boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) {
        ShiroToken usernamePasswordToken = (ShiroToken) token;
        UsernamePasswordToken usernamePasswordToken = (UsernamePasswordToken) token;
        SystemUser queryUserDto = new SystemUser();
        queryUserDto.setUsername(usernamePasswordToken.getUsername());
        queryUserDto.setDeleted(Boolean.FALSE);
@@ -31,12 +32,12 @@
        if (systemUser == null) {
            return Boolean.FALSE;
        }
        if(usernamePasswordToken.getDdLogin()){
            return Boolean.TRUE;
        }
        if(usernamePasswordToken.getWxLogin()){
            return Boolean.TRUE;
        }
//        if(usernamePasswordToken.getDdLogin()){
//            return Boolean.TRUE;
//        }
//        if(usernamePasswordToken.getWxLogin()){
//            return Boolean.TRUE;
//        }
        // åŠ å¯†å¯†ç 
        String pwd = Utils.Secure.encryptPassword(new String(usernamePasswordToken.getPassword()), systemUser.getSalt());
        // æ¯”较密码
server/platform/src/main/java/com/doumee/api/business/GoodsController.java
@@ -3,6 +3,7 @@
import com.doumee.api.BaseController;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.Goods;
@@ -81,6 +82,8 @@
    @PostMapping("/exportExcel")
    @RequiresPermissions("business:goods:exportExcel")
    public void exportExcel (@RequestBody PageWrap<Goods> pageWrap, HttpServletResponse response) {
        LoginUserInfo loginUserInfo = this.getLoginUser();
        pageWrap.getModel().setCompanyId(loginUserInfo.getCompanyId());
        ExcelExporter.build(Goods.class).export(goodsService.findPage(pageWrap).getRecords(), "商品信息表", response);
    }
server/platform/src/main/java/com/doumee/api/system/SystemMenuController.java
@@ -5,6 +5,7 @@
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.constants.OperaType;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.dao.system.dto.UpdateSystemMenuSortDTO;
import com.doumee.dao.system.model.SystemMenu;
import com.doumee.dao.system.vo.SystemMenuListVO;
@@ -42,7 +43,8 @@
    @ApiOperation("查询菜单树")
    @GetMapping("/treeNodes")
    public ApiResponse<List<SystemMenuNodeVO>> getTreeMenu () {
        return ApiResponse.success(systemMenuBiz.findTree(this.getLoginUser().getId()));
        LoginUserInfo loginUserInfo = this.getLoginUser();
        return ApiResponse.success(systemMenuBiz.findTree(loginUserInfo.getId(),loginUserInfo.getType()));
    }
    @ApiOperation("查询列表树")
server/service/src/main/java/com/doumee/biz/system/SystemMenuBiz.java
@@ -40,7 +40,7 @@
     * @author Eva.Caesar Liu
     * @date 2023/03/21 14:49
     */
    List<SystemMenuNodeVO> findTree(Integer userId);
    List<SystemMenuNodeVO> findTree(Integer userId,Integer type);
    /**
     * æŸ¥è¯¢èœå•列表树
server/service/src/main/java/com/doumee/biz/system/SystemUserBiz.java
@@ -1,10 +1,6 @@
package com.doumee.biz.system;
import com.doumee.dao.system.dto.CreateSystemUserDTO;
import com.doumee.dao.system.dto.CreateUserRoleDTO;
import com.doumee.dao.system.dto.ResetSystemUserPwdDTO;
import com.doumee.dao.system.dto.UpdatePwdDto;
import org.springframework.web.multipart.MultipartFile;
import com.doumee.dao.system.dto.*;
import java.util.List;
@@ -64,4 +60,15 @@
     */
    void createUserRole(CreateUserRoleDTO dto);
    /**
     * ä¼ä¸šåˆ›å»ºç”¨æˆ·
     * @param createCompanyUserDTO
     */
    void companyCreateUser(CreateCompanyUserDTO createCompanyUserDTO);
    void companyUpdUser(CreateCompanyUserDTO updCreateCompanyUserDTO);
    void updPassword(CreateCompanyUserDTO updCreateCompanyUserDTO);
}
server/service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java
@@ -112,10 +112,10 @@
    }
    @Override
    public List<SystemMenuNodeVO> findTree (Integer userId) {
    public List<SystemMenuNodeVO> findTree (Integer userId,Integer type) {
        SystemMenu queryDto = new SystemMenu();
        queryDto.setDeleted(Boolean.FALSE);
        List<SystemMenu> menus = systemMenuService.findByUserId(userId);
        List<SystemMenu> menus = systemMenuService.findByUserId(userId,type);
        List<SystemMenuNodeVO> rootNodes = new ArrayList<>();
        // æ·»åŠ æ ¹èœå•
        for (SystemMenu menu : menus) {
server/service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java
@@ -4,11 +4,10 @@
import com.doumee.biz.system.SystemUserBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.system.dto.CreateSystemUserDTO;
import com.doumee.dao.system.dto.CreateUserRoleDTO;
import com.doumee.dao.system.dto.ResetSystemUserPwdDTO;
import com.doumee.dao.system.dto.UpdatePwdDto;
import com.doumee.dao.system.dto.*;
import com.doumee.dao.system.model.SystemDepartment;
import com.doumee.dao.system.model.SystemDepartmentUser;
import com.doumee.dao.system.model.SystemUser;
@@ -16,6 +15,8 @@
import com.doumee.service.system.*;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -24,6 +25,7 @@
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@Service
public class SystemUserBizImpl implements SystemUserBiz {
@@ -228,6 +230,98 @@
        }
    }
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public void companyCreateUser(CreateCompanyUserDTO createCompanyUserDTO) {
        if(Objects.isNull(createCompanyUserDTO)
                ||StringUtils.isBlank(createCompanyUserDTO.getUserName())
                ||StringUtils.isBlank(createCompanyUserDTO.getRealName())
                ||StringUtils.isBlank(createCompanyUserDTO.getPassword())
                ||StringUtils.isBlank(createCompanyUserDTO.getMobile())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        SystemUser queryUserDto = new SystemUser();
        queryUserDto.setUsername(createCompanyUserDTO.getUserName());
        queryUserDto.setDeleted(Boolean.FALSE);
        SystemUser user = systemUserService.findOne(queryUserDto);
        if (user != null) {
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "用户名已存在");
        }
        SystemUser systemUser  = new SystemUser();
        BeanUtils.copyProperties(createCompanyUserDTO,systemUser);
        systemUser.setCompanyId(loginUserInfo.getCompanyId());
        systemUser.setRealname(createCompanyUserDTO.getRealName());
        systemUser.setUsername(createCompanyUserDTO.getUserName());
        // ç”Ÿæˆå¯†ç ç›
        String salt = RandomStringUtils.randomAlphabetic(6);
        // ç”Ÿæˆå¯†ç 
        systemUser.setPassword(Utils.Secure.encryptPassword(systemUser.getPassword(), salt));
        systemUser.setSalt(salt);
        Integer userId = systemUserService.create(systemUser);
        if(systemUser.getType().equals(Constants.UserType.COMPANY)){
            SystemUserRole newUserRole = new SystemUserRole();
            newUserRole.setUserId(userId);
            newUserRole.setRoleId(createCompanyUserDTO.getRoleId());
            systemUserRoleService.create(newUserRole);
        }
    }
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public void companyUpdUser(CreateCompanyUserDTO updCreateCompanyUserDTO) {
        if(Objects.isNull(updCreateCompanyUserDTO)
                ||Objects.isNull(updCreateCompanyUserDTO.getUserId())
                ||StringUtils.isBlank(updCreateCompanyUserDTO.getRealName())
                ||StringUtils.isBlank(updCreateCompanyUserDTO.getMobile())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        SystemUser systemUser  = systemUserService.findById(updCreateCompanyUserDTO.getUserId());
        if(Objects.isNull(systemUser)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        systemUser.setRealname(updCreateCompanyUserDTO.getRealName());
        systemUser.setMobile(systemUser.getMobile());
        // ç”Ÿæˆå¯†ç ç›
//        String salt = RandomStringUtils.randomAlphabetic(6);
//        // ç”Ÿæˆå¯†ç 
//        systemUser.setPassword(Utils.Secure.encryptPassword(systemUser.getPassword(), salt));
//        systemUser.setSalt(salt);
        systemUserService.updateById(systemUser);
        if(systemUser.getType().equals(Constants.UserType.COMPANY)){
            // åˆ é™¤å…³è”角色
            SystemUserRole deleteDto = new SystemUserRole();
            deleteDto.setUserId(systemUser.getId());
            systemUserRoleService.delete(deleteDto);
            SystemUserRole newUserRole = new SystemUserRole();
            newUserRole.setUserId(systemUser.getId());
            newUserRole.setRoleId(updCreateCompanyUserDTO.getRoleId());
            systemUserRoleService.create(newUserRole);
        }
    }
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public void updPassword(CreateCompanyUserDTO updCreateCompanyUserDTO) {
        if(Objects.isNull(updCreateCompanyUserDTO)
                ||Objects.isNull(updCreateCompanyUserDTO.getUserId())
                ||StringUtils.isBlank(updCreateCompanyUserDTO.getPassword())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        SystemUser systemUser  = systemUserService.findById(updCreateCompanyUserDTO.getUserId());
        if(Objects.isNull(systemUser)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        // ç”Ÿæˆå¯†ç ç›
        String salt = RandomStringUtils.randomAlphabetic(6);
        // ç”Ÿæˆå¯†ç 
        systemUser.setPassword(Utils.Secure.encryptPassword(updCreateCompanyUserDTO.getPassword(), salt));
        systemUser.setSalt(salt);
        systemUserService.updateById(systemUser);
    }
    private <K,V> K getKey(Map<K,V> map,V v){
server/service/src/main/java/com/doumee/dao/business/WebParamMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.WebParam;
/**
 * @author æ±Ÿè¹„蹄
 * @since 2023/09/12 11:18
 */
public interface WebParamMapper extends BaseMapper<WebParam> {
}
server/service/src/main/java/com/doumee/dao/business/model/WebParam.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
package com.doumee.dao.business.model;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
/**
 * ä¼ä¸šé¡µé¢é…ç½®ä¿¡æ¯è¡¨
 * @author æ±Ÿè¹„蹄
 * @since 2023/09/12 11:18
 */
@Data
@ApiModel("企业页面配置信息表")
@TableName("`web_param`")
public class WebParam {
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键", example = "1")
    @ExcelColumn(name="主键")
    private Integer id;
    @ApiModelProperty(value = "是否已删除 0未删除 1已删除", example = "1")
    @ExcelColumn(name="是否已删除 0未删除 1已删除")
    private Byte deleted;
    @ApiModelProperty(value = "创建人编码", example = "1")
    @ExcelColumn(name="创建人编码")
    private Integer createUser;
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createTime;
    @ApiModelProperty(value = "更新人编码", example = "1")
    @ExcelColumn(name="更新人编码")
    private Integer updateUser;
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date updateTime;
    @ApiModelProperty(value = "备注")
    @ExcelColumn(name="备注")
    private String remark;
    @ApiModelProperty(value = "企业编码(关联company表)", example = "1")
    @ExcelColumn(name="企业编码(关联company表)")
    private Integer companyId;
    @ApiModelProperty(value = "主色值")
    @ExcelColumn(name="主色值")
    private String mainColor;
    @ApiModelProperty(value = "背景图")
    @ExcelColumn(name="背景图")
    private String bgImg;
    @ApiModelProperty(value = "顶部宣传图")
    @ExcelColumn(name="顶部宣传图")
    private String topImg;
    @ApiModelProperty(value = "PK台图")
    @ExcelColumn(name="PK台图")
    private String pkImg;
    @ApiModelProperty(value = "内容范围尺寸")
    @ExcelColumn(name="内容范围尺寸")
    private String rangeSize;
}
server/service/src/main/java/com/doumee/dao/system/SystemMenuMapper.java
@@ -20,7 +20,7 @@
     * @author Eva.Caesar Liu
     * @date 2023/02/14 11:14
     */
    List<SystemMenu> selectByUserId(Integer userId);
    List<SystemMenu> selectByUserId(Integer userId,Integer type);
    /**
     * æ ¹æ®è§’色ID查询
server/service/src/main/java/com/doumee/dao/system/dto/CreateCompanyUserDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
package com.doumee.dao.system.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * Created by IntelliJ IDEA.
 *
 * @Author : Rk
 * @create 2023/9/12 9:31
 */
@Data
@ApiModel("创建用户参数")
public class CreateCompanyUserDTO {
    @ApiModelProperty(value = "用户主键", example = "1")
    private Integer userId;
    @ApiModelProperty(value = "账号", example = "1")
    private String userName;
    @ApiModelProperty(value = "真实姓名", example = "1")
    private String realName;
    @ApiModelProperty(value = "手机号", example = "1")
    private String mobile;
    @ApiModelProperty(value = "密码", example = "1")
    private String password;
    @ApiModelProperty(value = "角色主键(企业用户使用)", example = "1")
    private Integer roleId;
    @ApiModelProperty(value = "类型 1企业用户 2主播", hidden = true)
    private Integer type;
    @ApiModelProperty(value = "企业编码(关联company表)", hidden = true)
    private Integer companyId;
}
server/service/src/main/java/com/doumee/dao/system/dto/UpdateWebParamDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
package com.doumee.dao.system.dto;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * Created by IntelliJ IDEA.
 *
 * @Author : Rk
 * @create 2023/9/12 9:31
 */
@Data
@ApiModel("更新企业配置请求类")
public class UpdateWebParamDTO {
    @ApiModelProperty(value = "内容范围尺寸")
    private String rangeSize;
    @ApiModelProperty(value = "主色值")
    private String mainColor;
    @ApiModelProperty(value = "背景图")
    private String bgImg;
    @ApiModelProperty(value = "顶部宣传图")
    private String topImg;
    @ApiModelProperty(value = "PK台图")
    private String pkImg;
}
server/service/src/main/java/com/doumee/service/business/WebParamService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.doumee.service.business;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.WebParam;
import com.doumee.dao.system.dto.UpdateWebParamDTO;
import java.util.List;
/**
 * ä¼ä¸šé¡µé¢é…ç½®ä¿¡æ¯è¡¨Service定义
 * @author æ±Ÿè¹„蹄
 * @since 2023/09/12 11:18
 */
public interface WebParamService {
    WebParam findOne();
    void renew(UpdateWebParamDTO updateWebParamDTO);
}
server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
@@ -644,9 +644,10 @@
        if (pageWrap.getModel().getBrandId() != null) {
            queryWrapper.eq(Goods::getBrandId, pageWrap.getModel().getBrandId());
        }
        if (pageWrap.getModel().getCompanyId() != null) {
            queryWrapper.eq(Goods::getCompanyId, pageWrap.getModel().getCompanyId());
        }
        queryWrapper.orderByDesc(Goods::getId);
        IPage<Goods> goodsIPage =  goodsJoinMapper.selectJoinPage(page, Goods.class, queryWrapper);
        String prefixUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.FILE_DIR).getCode()
                + systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.PROJECTS).getCode();
@@ -761,54 +762,54 @@
            //查询全部属性1和属性2规格值
            List<CateAttr> allAttr = cateAttrMapper.selectList(new QueryWrapper<>(ca));
            //属性1集合
            String[] attrs = StringUtils.defaultString(m.getAttrFirstNames(),"").split("\n");
//            String[] attrs = StringUtils.defaultString(m.getAttrFirstNames(),"").split("\n");
            //属性2集合
            String[] attrs2 = StringUtils.defaultString(m.getAttrSecodNames(),"").split("\n");
//            String[] attrs2 = StringUtils.defaultString(m.getAttrSecodNames(),"").split("\n");
            //产品参数集合
            String[] params =  StringUtils.defaultString(m.getParamStr(),"").split("\n");
            if(attrs.length > 0){
                String attrids="" ,attrNames="";
                for(String s : attrs){
                    if(StringUtils.isBlank(s)){
                        continue;
                    }
                    //查询属性规格对象
                    CateAttr ta = getCateAttrByName(s,Constants.ZERO,allAttr);
                    if(ta == null){
                        throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第【"+(num)+"】行属性1中【"+s+"】无效,请检查输入!");
                    }
                    if(StringUtils.isNotBlank(attrids)){
                        attrids += ",";
                        attrNames += ",";
                    }
                    attrids+= ta.getId();
                    attrNames+= ta.getName();
                }
                newModel.setAttrFirstIds(attrids);
                newModel.setAttrFirstNames(attrNames);
            }
            if(attrs2.length > 0){
                String attrids="" ,attrNames="";
                for(String s : attrs2){
                    if(StringUtils.isBlank(s)){
                        continue;
                    }
                    //查询属性规格对象
                    CateAttr ta = getCateAttrByName(s,Constants.ONE,allAttr);
                    if(ta == null){
                        throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第【"+(num)+"】行属性1中【"+s+"】无效,请检查输入!");
                    }
                    if(StringUtils.isNotBlank(attrids)){
                        attrids += ",";
                        attrNames += ",";
                    }
                    attrids+= ta.getId();
                    attrNames+= ta.getName();
                }
                newModel.setAttrSecodIds(attrids);
                newModel.setAttrSecodNames(attrNames);
            }
//            if(attrs.length > 0){
//                String attrids="" ,attrNames="";
//                for(String s : attrs){
//                    if(StringUtils.isBlank(s)){
//                        continue;
//                    }
//                    //查询属性规格对象
//                    CateAttr ta = getCateAttrByName(s,Constants.ZERO,allAttr);
//                    if(ta == null){
//                        throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第【"+(num)+"】行属性1中【"+s+"】无效,请检查输入!");
//                    }
//                    if(StringUtils.isNotBlank(attrids)){
//                        attrids += ",";
//                        attrNames += ",";
//                    }
//                    attrids+= ta.getId();
//                    attrNames+= ta.getName();
//                }
//                newModel.setAttrFirstIds(attrids);
//                newModel.setAttrFirstNames(attrNames);
//            }
//            if(attrs2.length > 0){
//                String attrids="" ,attrNames="";
//                for(String s : attrs2){
//                    if(StringUtils.isBlank(s)){
//                        continue;
//                    }
//                    //查询属性规格对象
//                    CateAttr ta = getCateAttrByName(s,Constants.ONE,allAttr);
//                    if(ta == null){
//                        throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第【"+(num)+"】行属性1中【"+s+"】无效,请检查输入!");
//                    }
//                    if(StringUtils.isNotBlank(attrids)){
//                        attrids += ",";
//                        attrNames += ",";
//                    }
//                    attrids+= ta.getId();
//                    attrNames+= ta.getName();
//                }
//                newModel.setAttrSecodIds(attrids);
//                newModel.setAttrSecodNames(attrNames);
//
//            }
            List<String> mulFiles = null;
            String proDir =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PROJECTS).getCode();
@@ -890,6 +891,20 @@
                    gp.setSortnum(ta.getSortnum());
                    //插入产品参数关联表
                    goodsParamMapper.insert(gp);
                    //存储 cate_param_select æŸ¥è¯¢æ˜¯å¦å·²å­˜åœ¨
                    if(cateParamSelectMapper.selectCount(new QueryWrapper<CateParamSelect>()
                            .eq("PARAM_ID",gp.getPramaId()).eq("NAME",gp.getName()))<=Constants.ZERO){
                        CateParamSelect cateParamSelect = new CateParamSelect();
                        cateParamSelect.setCreator(user.getId());
                        cateParamSelect.setCreateDate(new Date());
                        cateParamSelect.setName(gp.getVal());
                        cateParamSelect.setIsdeleted(Constants.ZERO);
                        cateParamSelect.setStatus(Constants.ZERO);
                        cateParamSelect.setParamId(gp.getPramaId());
                        cateParamSelect.setCategoryId(newModel.getCategoryId());
                        cateParamSelect.setStatus(Constants.ZERO);
                        cateParamSelectMapper.insert(cateParamSelect);
                    };
                }
            }
            if(mulFiles !=null && mulFiles.size()>0){
server/service/src/main/java/com/doumee/service/business/impl/WebParamServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,69 @@
package com.doumee.service.business.impl;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.WebParamMapper;
import com.doumee.dao.business.model.WebParam;
import com.doumee.dao.system.dto.UpdateWebParamDTO;
import com.doumee.service.business.WebParamService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
 * ä¼ä¸šé¡µé¢é…ç½®ä¿¡æ¯è¡¨Service实现
 * @author æ±Ÿè¹„蹄
 * @since 2023/09/12 11:18
 */
@Service
public class WebParamServiceImpl implements WebParamService {
    @Autowired
    private WebParamMapper webParamMapper;
    @Override
    public WebParam findOne() {
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        QueryWrapper<WebParam> wrapper = new QueryWrapper<>();
        wrapper.eq("COMPANY_ID",user.getCompanyId());
        wrapper.last(" limit 1  ");
        return webParamMapper.selectOne(wrapper);
    }
    @Override
    public void renew(UpdateWebParamDTO updateWebParamDTO) {
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        QueryWrapper<WebParam> wrapper = new QueryWrapper<>();
        wrapper.eq("COMPANY_ID",user.getCompanyId());
        wrapper.last(" limit 1  ");
        WebParam webParam = webParamMapper.selectOne(wrapper);
        if(Objects.isNull(webParam)){
            webParam = new WebParam();
            BeanUtils.copyProperties(updateWebParamDTO,webParam);
            webParam.setCreateTime(new Date());
            webParam.setCompanyId(user.getCompanyId());
            webParam.setCreateUser(user.getId());
            webParamMapper.insert(webParam);
        }else{
            BeanUtils.copyProperties(updateWebParamDTO,webParam);
            webParam.setUpdateUser(user.getId());
            webParam.setUpdateTime(new Date());
            webParamMapper.updateById(webParam);
        }
    }
}
server/service/src/main/java/com/doumee/service/system/SystemMenuService.java
@@ -87,7 +87,7 @@
     * @author Eva.Caesar Liu
     * @date 2023/03/21 14:49
     */
    List<SystemMenu> findByUserId(Integer userId);
    List<SystemMenu> findByUserId(Integer userId,Integer type);
    /**
     * æ ¹æ®è§’色ID查询
server/service/src/main/java/com/doumee/service/system/impl/SystemMenuServiceImpl.java
@@ -98,8 +98,8 @@
    }
    @Override
    public List<SystemMenu> findByUserId(Integer userId) {
        return systemMenuMapper.selectByUserId(userId);
    public List<SystemMenu> findByUserId(Integer userId,Integer type) {
        return systemMenuMapper.selectByUserId(userId,type);
    }
    @Override
server/service/src/main/resources/mappers/SystemMenuMapper.xml
@@ -23,7 +23,7 @@
     JOIN `SYSTEM_USER` create_user ON create_user.ID = menu.CREATE_USER
    LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = menu.UPDATE_USER
    <where>
      menu.DELETED = 0 and menu.type = {type}
      menu.DELETED = 0 and menu.type = #{type}
    </where>
    ORDER BY menu.SORT
  </select>
@@ -39,6 +39,7 @@
      AND menu.DELETED = 0
      AND menu.DISABLED = 0
      AND user_role.USER_ID = #{userId}
      AND menu.TYPE = #{type}
    </where>
    ORDER BY menu.SORT
  </select>