jiaosong
2023-09-08 cbf7bd4c7d62670b26292d4738cc062bf965591c
#素材库提交
已添加8个文件
已修改11个文件
830 ■■■■■ 文件已修改
server/company/src/main/java/com/doumee/api/BaseController.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/BaseController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/BaseCategoryController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/CompanyController.java 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/shiro/ShiroCredentialsMatcher.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/shiro/ShiroToken.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/CompanyMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/join/BaseGoodsJoinMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/BaseCategory.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/Brand.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/Company.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/dto/BaseCategoryRequest.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/dto/BaseCategoryRequestParam.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/BaseCategoryService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/CompanyService.java 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/BaseCategoryServiceImpl.java 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/BaseGoodsServiceImpl.java 74 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/BrandServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/api/BaseController.java
@@ -4,6 +4,12 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
/**
 * Controller基类
 * @author Eva.Caesar Liu
@@ -21,4 +27,34 @@
        return (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
    }
    /**
     * èŽ·å–ID集合
     *
     * @param ids ä½¿ç”¨","隔开的多个ID
     * @return List<Integer>
     */
    protected List<Integer> getIdList (String ids) {
        String [] idArray = ids.split(",");
        List<Integer> idList = new ArrayList<>();
        for (String id : idArray) {
            idList.add(Integer.valueOf(id));
        }
        return idList;
    }
    /**
     * èŽ·å–æ–‡ä»¶å­—èŠ‚æµ
     *
     * @param is è¾“入流
     * @return ByteArrayOutputStream
     */
    protected ByteArrayOutputStream getOutputStream (InputStream is) throws IOException {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        byte[] bs = new byte[is.available()];
        int len;
        while ((len = is.read(bs)) != -1) {
            baos.write(bs, 0, len);
        }
        return baos;
    }
}
server/platform/src/main/java/com/doumee/api/BaseController.java
@@ -5,6 +5,12 @@
import org.apache.shiro.SecurityUtils;
import  com.doumee.core.model.ApiResponse;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
/**
 * Controller基类
 * @author Eva.Caesar Liu
@@ -22,4 +28,35 @@
        return (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
    }
    /**
     * èŽ·å–ID集合
     *
     * @param ids ä½¿ç”¨","隔开的多个ID
     * @return List<Integer>
     */
    protected List<Integer> getIdList (String ids) {
        String [] idArray = ids.split(",");
        List<Integer> idList = new ArrayList<>();
        for (String id : idArray) {
            idList.add(Integer.valueOf(id));
        }
        return idList;
    }
    /**
     * èŽ·å–æ–‡ä»¶å­—èŠ‚æµ
     *
     * @param is è¾“入流
     * @return ByteArrayOutputStream
     */
    protected ByteArrayOutputStream getOutputStream (InputStream is) throws IOException {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        byte[] bs = new byte[is.available()];
        int len;
        while ((len = is.read(bs)) != -1) {
            baos.write(bs, 0, len);
        }
        return baos;
    }
}
server/platform/src/main/java/com/doumee/api/business/BaseCategoryController.java
@@ -7,6 +7,7 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.dao.business.model.BaseCategory;
import com.doumee.dao.business.model.dto.BaseCategoryRequest;
import com.doumee.service.business.BaseCategoryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -34,7 +35,7 @@
    @ApiOperation("新建")
    @PostMapping("/create")
    @RequiresPermissions("business:basecategory:create")
    public ApiResponse create(@RequestBody BaseCategory baseCategory) {
    public ApiResponse create(@RequestBody BaseCategoryRequest baseCategory) {
        return ApiResponse.success(baseCategoryService.create(baseCategory));
    }
server/platform/src/main/java/com/doumee/api/business/CompanyController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,74 @@
package com.doumee.api.business;
import com.doumee.api.BaseController;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.Company;
import com.doumee.service.business.CompanyService;
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.*;
/**
 * @author AA
 * @since 2023/09/08 10:27
 */
@Api(tags = "系统-企业信息表")
@RestController
@RequestMapping("/company")
public class CompanyController extends BaseController {
    @Autowired
    private CompanyService companyService;
    @PreventRepeat
    @ApiOperation("新建")
    @PostMapping("/create")
    @RequiresPermissions("company:company:create")
    public ApiResponse create(@RequestBody Company company) {
        return ApiResponse.success(companyService.create(company));
    }
    @ApiOperation("根据ID删除")
    @GetMapping("/delete/{id}")
    @RequiresPermissions("company:company:delete")
    public ApiResponse deleteById(@PathVariable Integer id) {
        companyService.deleteById(id);
        return ApiResponse.success(null);
    }
    @ApiOperation("批量删除")
    @GetMapping("/delete/batch")
    @RequiresPermissions("company:company:delete")
    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
        companyService.deleteByIdInBatch(this.getIdList(ids));
        return ApiResponse.success(null);
    }
    @ApiOperation("根据ID修改")
    @PostMapping("/updateById")
    @RequiresPermissions("company:company:update")
    public ApiResponse updateById(@RequestBody Company company) {
        companyService.updateById(company);
        return ApiResponse.success(null);
    }
    @ApiOperation("分页查询")
    @PostMapping("/page")
    @RequiresPermissions("company:company:query")
    public ApiResponse<PageData<Company>> findPage (@RequestBody PageWrap<Company> pageWrap) {
        return ApiResponse.success(companyService.findPage(pageWrap));
    }
    @ApiOperation("根据ID查询")
    @GetMapping("/{id}")
    @RequiresPermissions("company:company:query")
    public ApiResponse findById(@PathVariable Integer id) {
        return ApiResponse.success(companyService.findById(id));
    }
}
server/platform/src/main/java/com/doumee/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/shiro/ShiroToken.java
@@ -8,7 +8,7 @@
 * @author Eva.Caesar Liu
 * @date 2022/04/18 18:12
 */
@Component
//@Component
public class ShiroToken extends UsernamePasswordToken {
    /**
server/service/src/main/java/com/doumee/dao/business/CompanyMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.Company;
/**
 * @author AA
 * @since 2023/09/08 10:27
 */
public interface CompanyMapper extends BaseMapper<Company> {
}
server/service/src/main/java/com/doumee/dao/business/join/BaseGoodsJoinMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.doumee.dao.business.join;
import com.doumee.dao.business.model.BaseGoods;
import com.doumee.dao.business.model.Goods;
import com.github.yulichang.base.mapper.MPJJoinMapper;
import org.springframework.stereotype.Repository;
/**
 * @author T14
 */
@Repository
public interface BaseGoodsJoinMapper extends MPJJoinMapper<BaseGoods> {
}
server/service/src/main/java/com/doumee/dao/business/model/BaseCategory.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -83,4 +84,8 @@
    @ExcelColumn(name="名称拼音首字母")
    private String shortPinyin;
    @ApiModelProperty(value = "图标")
    @ExcelColumn(name="图标")
    @TableField(exist = false)
    private String imgfullurl;
}
server/service/src/main/java/com/doumee/dao/business/model/Brand.java
@@ -75,6 +75,6 @@
    @ApiModelProperty(value = "前缀路径")
    @TableField(exist = false)
    private String prefixUrl;
    private String imgfullurl;
}
server/service/src/main/java/com/doumee/dao/business/model/Company.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,76 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * ç³»ç»Ÿ-企业信息表
 * @author AA
 * @since 2023/09/08 10:27
 */
@Data
@ApiModel("系统-企业信息表")
@TableName("`company`")
public class Company {
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键", example = "1")
    private Integer id;
    @ApiModelProperty(value = "是否已删除 0未删除 1已删除", example = "1")
    private Byte deleted;
    @ApiModelProperty(value = "创建人编码", example = "1")
    private Integer createUser;
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    @ApiModelProperty(value = "更新人编码", example = "1")
    private Integer updateUser;
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    @ApiModelProperty(value = "名称")
    private String name;
    @ApiModelProperty(value = "企业简称")
    private String shortName;
    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "管理员账号(关联system_user表)", example = "1")
    private Integer managerId;
    @ApiModelProperty(value = "联系人")
    private String linkname;
    @ApiModelProperty(value = "联系人电话")
    private String linkephone;
    @ApiModelProperty(value = "统一社会信用代码,不可重复")
    private String creditCode;
    @ApiModelProperty(value = "主播数量限制", example = "1")
    private Integer userNum;
    @ApiModelProperty(value = "系统使用有效期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date oepnValidDate;
    @ApiModelProperty(value = "账户开通类型 0试用账户 1正式账户", example = "1")
    private Integer oepnType;
    @ApiModelProperty(value = "销售人员编码(关联system_user表)", example = "1")
    private Integer salesmanId;
}
server/service/src/main/java/com/doumee/dao/business/model/dto/BaseCategoryRequest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,52 @@
package com.doumee.dao.business.model.dto;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * Created by IntelliJ IDEA.
 *
 * @Author : Rk
 * @create 2023/6/7 15:09
 */
@Data
public class BaseCategoryRequest {
    @ApiModelProperty(value = "主键")
    private Integer id;
    @ApiModelProperty(value = "名称(不可重复)")
    private String name;
    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "属性1名称")
    private String attrFirst;
    @ApiModelProperty(value = "属性2名称")
    private String attrSecond;
    @ApiModelProperty(value = "状态 0启用 1禁用", example = "1")
    private Integer status;
    @ApiModelProperty(value = "排序码", example = "1")
    private Integer sortnum;
    @ApiModelProperty(value = "图标")
    private String imgurl;
    @ApiModelProperty(value = "名称拼音")
    private String pinyin;
    @ApiModelProperty(value = "名称拼音首字母")
    private String shortPinyin;
    @ApiModelProperty(value = "参数属性配置")
    List<BaseCategoryRequestParam> baseCategoryRequestParamList;
}
server/service/src/main/java/com/doumee/dao/business/model/dto/BaseCategoryRequestParam.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
package com.doumee.dao.business.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author T14
 */
@Data
public class BaseCategoryRequestParam{
    @ApiModelProperty(value = "主键")
    private Integer id;
    @ApiModelProperty(value = "名称")
    private String name;
    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "状态 0启用 1禁用", example = "1")
    private Integer status;
    @ApiModelProperty(value = "排序码", example = "1")
    private Integer sortnum;
    @ApiModelProperty(value = "所属品类编码(关联category表)", example = "1")
    private Integer categoryId;
}
server/service/src/main/java/com/doumee/service/business/BaseCategoryService.java
@@ -3,6 +3,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.BaseCategory;
import com.doumee.dao.business.model.dto.BaseCategoryRequest;
import java.util.List;
/**
@@ -18,7 +20,7 @@
     * @param baseCategory å®žä½“对象
     * @return Integer
     */
    Integer create(BaseCategory baseCategory);
    Integer create(BaseCategoryRequest baseCategory);
    /**
     * ä¸»é”®åˆ é™¤
@@ -46,6 +48,13 @@
     *
     * @param baseCategory å®žä½“对象
     */
    void updateById(BaseCategoryRequest baseCategory);
    /**
     * ä¸»é”®æ›´æ–°
     *
     * @param baseCategory å®žä½“对象
     */
    void updateById(BaseCategory baseCategory);
    /**
server/service/src/main/java/com/doumee/service/business/CompanyService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,100 @@
package com.doumee.service.business;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.Company;
import java.util.List;
/**
 * ç³»ç»Ÿ-企业信息表Service定义
 * @author AA
 * @since 2023/09/08 10:27
 */
public interface CompanyService {
    /**
     * åˆ›å»º
     *
     * @param company å®žä½“对象
     * @return Integer
     */
    Integer create(Company company);
    /**
     * ä¸»é”®åˆ é™¤
     *
     * @param id ä¸»é”®
     */
    void deleteById(Integer id);
    /**
     * åˆ é™¤
     *
     * @param company å®žä½“对象
     */
    void delete(Company company);
    /**
     * æ‰¹é‡ä¸»é”®åˆ é™¤
     *
     * @param ids ä¸»é”®é›†
     */
    void deleteByIdInBatch(List<Integer> ids);
    /**
     * ä¸»é”®æ›´æ–°
     *
     * @param company å®žä½“对象
     */
    void updateById(Company company);
    /**
     * æ‰¹é‡ä¸»é”®æ›´æ–°
     *
     * @param companys å®žä½“集
     */
    void updateByIdInBatch(List<Company> companys);
    /**
     * ä¸»é”®æŸ¥è¯¢
     *
     * @param id ä¸»é”®
     * @return Company
     */
    Company findById(Integer id);
    /**
     * æ¡ä»¶æŸ¥è¯¢å•条记录
     *
     * @param company å®žä½“对象
     * @return Company
     */
    Company findOne(Company company);
    /**
     * æ¡ä»¶æŸ¥è¯¢
     *
     * @param company å®žä½“对象
     * @return List<Company>
     */
    List<Company> findList(Company company);
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param pageWrap åˆ†é¡µå¯¹è±¡
     * @return PageData<Company>
     */
    PageData<Company> findPage(PageWrap<Company> pageWrap);
    /**
     * æ¡ä»¶ç»Ÿè®¡
     *
     * @param company å®žä½“对象
     * @return long
     */
    long count(Company company);
}
server/service/src/main/java/com/doumee/service/business/impl/BaseCategoryServiceImpl.java
@@ -1,20 +1,34 @@
package com.doumee.service.business.impl;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.BaseCateParamMapper;
import com.doumee.dao.business.BaseCategoryMapper;
import com.doumee.dao.business.model.BaseCateParam;
import com.doumee.dao.business.model.BaseCategory;
import com.doumee.dao.business.model.dto.BaseCategoryRequest;
import com.doumee.service.business.BaseCateParamService;
import com.doumee.service.business.BaseCategoryService;
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.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
 * ç´ æåº“-品类信息表Service实现
@@ -27,10 +41,64 @@
    @Autowired
    private BaseCategoryMapper baseCategoryMapper;
    @Autowired
    private BaseCateParamMapper baseCateParamMapper;
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    @Override
    public Integer create(BaseCategory baseCategory) {
        baseCategoryMapper.insert(baseCategory);
        return baseCategory.getId();
    public Integer create(BaseCategoryRequest baseCategory) {
        LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
        QueryWrapper<BaseCategory> wrapper = new QueryWrapper<>();
        wrapper.lambda().eq(BaseCategory::getName,baseCategory.getName())
                        .eq(BaseCategory::getIsdeleted,Constants.ZERO);
        BaseCategory baseCategory1 = baseCategoryMapper.selectOne(wrapper);
        if (Objects.nonNull(baseCategory1)){
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"品类信息表");
        }
        BaseCategory baseCategory2 = new BaseCategory();
        baseCategory2.setCreator(loginUserInfo.getId());
        baseCategory2.setCreateDate(new Date());
        baseCategory2.setEditor(loginUserInfo.getId());
        baseCategory2.setEditDate(new Date());
        baseCategory2.setIsdeleted(Constants.ZERO);
        baseCategory2.setName(baseCategory.getName());
        baseCategory2.setRemark(baseCategory.getRemark());
        baseCategory2.setAttrFirst(baseCategory.getAttrFirst());
        baseCategory2.setAttrSecond(baseCategory.getAttrSecond());
        baseCategory2.setStatus(baseCategory.getStatus());
        baseCategory2.setSortnum(baseCategory.getSortnum());
        baseCategory2.setImgurl(baseCategory.getImgurl());
        baseCategory2.setPinyin(baseCategory.getPinyin());
        baseCategory2.setShortPinyin(baseCategory.getShortPinyin());
        baseCategoryMapper.insert(baseCategory2);
        if (CollectionUtils.isEmpty(baseCategory.getBaseCategoryRequestParamList())){
            long count = baseCategory.getBaseCategoryRequestParamList().stream().map(s -> s.getName().trim()).distinct().count();
            if (baseCategory.getBaseCategoryRequestParamList().size() != count){
                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"属性存在重复");
            }
            baseCategory.getBaseCategoryRequestParamList().forEach(s->{
                BaseCateParam baseCateParam = new BaseCateParam();
                baseCateParam.setCreator(loginUserInfo.getId());
                baseCateParam.setCreateDate(new Date());
                baseCateParam.setEditor(loginUserInfo.getId());
                baseCateParam.setEditDate(new Date());
                baseCateParam.setIsdeleted(Constants.ZERO);
                baseCateParam.setName(s.getName());
                baseCateParam.setRemark(s.getRemark());
                baseCateParam.setStatus(s.getStatus());
                baseCateParam.setSortnum(s.getSortnum());
                baseCateParam.setCategoryId(baseCategory2.getId());
                baseCateParamMapper.insert(baseCateParam);
            });
        }
        return baseCategory2.getId();
    }
    @Override
@@ -50,6 +118,64 @@
            return;
        }
        baseCategoryMapper.deleteBatchIds(ids);
    }
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    @Override
    public void updateById(BaseCategoryRequest baseCategory) {
        LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
        if (Objects.nonNull(baseCategory.getId())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"品类主键缺失");
        }
        QueryWrapper<BaseCategory> wrapper = new QueryWrapper<>();
        wrapper.lambda().eq(BaseCategory::getName,baseCategory.getName())
                .eq(BaseCategory::getIsdeleted,Constants.ZERO);
        BaseCategory baseCategory1 = baseCategoryMapper.selectOne(wrapper);
        if (Objects.nonNull(baseCategory1) && (!baseCategory1.getId().equals(baseCategory.getId()))){
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"品类信息表");
        }
        UpdateWrapper<BaseCategory> updateWrapper = new UpdateWrapper<>();
        updateWrapper.lambda()
                .eq(BaseCategory::getId,baseCategory.getId())
                .set(BaseCategory::getName,baseCategory.getName())
                .set(BaseCategory::getImgurl,baseCategory.getImgurl())
                .set(BaseCategory::getSortnum,baseCategory.getSortnum());
        baseCategoryMapper.update(null,wrapper);
        if (CollectionUtils.isEmpty(baseCategory.getBaseCategoryRequestParamList())){
            long count = baseCategory.getBaseCategoryRequestParamList().stream().map(s -> s.getName().trim()).distinct().count();
            if (baseCategory.getBaseCategoryRequestParamList().size() != count){
                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"属性存在重复");
            }
            QueryWrapper<BaseCateParam> baseCateParamQuery = new QueryWrapper<>();
            baseCateParamQuery.lambda()
                                .eq(BaseCateParam::getCategoryId,baseCategory.getId());
            baseCateParamMapper.delete(baseCateParamQuery);
            baseCategory.getBaseCategoryRequestParamList().forEach(s->{
                BaseCateParam baseCateParam = new BaseCateParam();
                baseCateParam.setCreator(loginUserInfo.getId());
                baseCateParam.setCreateDate(new Date());
                baseCateParam.setEditor(loginUserInfo.getId());
                baseCateParam.setEditDate(new Date());
                baseCateParam.setIsdeleted(Constants.ZERO);
                baseCateParam.setName(s.getName());
                baseCateParam.setRemark(s.getRemark());
                baseCateParam.setStatus(s.getStatus());
                baseCateParam.setSortnum(s.getSortnum());
                baseCateParam.setCategoryId(baseCategory.getId());
                baseCateParamMapper.insert(baseCateParam);
            });
        }
    }
    @Override
@@ -136,14 +262,14 @@
        if (pageWrap.getModel().getShortPinyin() != null) {
            queryWrapper.lambda().eq(BaseCategory::getShortPinyin, pageWrap.getModel().getShortPinyin());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
        queryWrapper.lambda().orderByAsc(BaseCategory::getSortnum);
        IPage<BaseCategory> baseCategoryIPage = baseCategoryMapper.selectPage(page, queryWrapper);
        if (!CollectionUtils.isEmpty(baseCategoryIPage.getRecords())){
            baseCategoryIPage.getRecords().forEach(s->s.setImgfullurl(getPreUrl()+s.getImgfullurl()));
            }
        }
        return PageData.from(baseCategoryMapper.selectPage(page, queryWrapper));
        return PageData.from(baseCategoryIPage);
    }
    @Override
@@ -151,4 +277,10 @@
        QueryWrapper<BaseCategory> wrapper = new QueryWrapper<>(baseCategory);
        return baseCategoryMapper.selectCount(wrapper);
    }
    private String getPreUrl(){
        String prefixUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.FILE_DIR).getCode()
                + systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.CATEGORY_IMG).getCode();
        return prefixUrl;
    }
}
server/service/src/main/java/com/doumee/service/business/impl/BaseGoodsServiceImpl.java
@@ -4,12 +4,15 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.BaseGoodsMapper;
import com.doumee.dao.business.join.BaseGoodsJoinMapper;
import com.doumee.dao.business.model.BaseGoods;
import com.doumee.dao.business.model.Goods;
import com.doumee.service.business.BaseGoodsService;
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 com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -26,6 +29,10 @@
    @Autowired
    private BaseGoodsMapper baseGoodsMapper;
    @Autowired
    private BaseGoodsJoinMapper baseGoodsJoinMapper;
    @Override
    public Integer create(BaseGoods baseGoods) {
@@ -87,72 +94,29 @@
    @Override
    public PageData<BaseGoods> findPage(PageWrap<BaseGoods> pageWrap) {
        IPage<BaseGoods> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<BaseGoods> queryWrapper = new QueryWrapper<>();
        MPJLambdaWrapper<BaseGoods> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(BaseGoods::getId, pageWrap.getModel().getId());
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.lambda().eq(BaseGoods::getCreator, pageWrap.getModel().getCreator());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(BaseGoods::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.lambda().le(BaseGoods::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        if (pageWrap.getModel().getEditor() != null) {
            queryWrapper.lambda().eq(BaseGoods::getEditor, pageWrap.getModel().getEditor());
        }
        if (pageWrap.getModel().getEditDate() != null) {
            queryWrapper.lambda().ge(BaseGoods::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.lambda().le(BaseGoods::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        if (pageWrap.getModel().getIsdeleted() != null) {
            queryWrapper.lambda().eq(BaseGoods::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getRemark() != null) {
            queryWrapper.lambda().eq(BaseGoods::getRemark, pageWrap.getModel().getRemark());
            queryWrapper.eq(BaseGoods::getId, pageWrap.getModel().getId());
        }
        if (pageWrap.getModel().getName() != null) {
            queryWrapper.lambda().eq(BaseGoods::getName, pageWrap.getModel().getName());
            queryWrapper.eq(BaseGoods::getName, pageWrap.getModel().getName());
        }
        if (pageWrap.getModel().getStatus() != null) {
            queryWrapper.lambda().eq(BaseGoods::getStatus, pageWrap.getModel().getStatus());
            queryWrapper.eq(BaseGoods::getStatus, pageWrap.getModel().getStatus());
        }
        if (pageWrap.getModel().getSortnum() != null) {
            queryWrapper.lambda().eq(BaseGoods::getSortnum, pageWrap.getModel().getSortnum());
        }
        if (pageWrap.getModel().getImgurl() != null) {
            queryWrapper.lambda().eq(BaseGoods::getImgurl, pageWrap.getModel().getImgurl());
        }
        if (pageWrap.getModel().getCategoryId() != null) {
            queryWrapper.lambda().eq(BaseGoods::getCategoryId, pageWrap.getModel().getCategoryId());
            queryWrapper.eq(BaseGoods::getCategoryId, pageWrap.getModel().getCategoryId());
        }
        if (pageWrap.getModel().getBrandId() != null) {
            queryWrapper.lambda().eq(BaseGoods::getBrandId, pageWrap.getModel().getBrandId());
            queryWrapper.eq(BaseGoods::getBrandId, pageWrap.getModel().getBrandId());
        }
        if (pageWrap.getModel().getZdPrice() != null) {
            queryWrapper.lambda().eq(BaseGoods::getZdPrice, pageWrap.getModel().getZdPrice());
        }
        if (pageWrap.getModel().getPrice() != null) {
            queryWrapper.lambda().eq(BaseGoods::getPrice, pageWrap.getModel().getPrice());
        }
        if (pageWrap.getModel().getContent() != null) {
            queryWrapper.lambda().eq(BaseGoods::getContent, pageWrap.getModel().getContent());
        }
        if (pageWrap.getModel().getPinyin() != null) {
            queryWrapper.lambda().eq(BaseGoods::getPinyin, pageWrap.getModel().getPinyin());
        }
        if (pageWrap.getModel().getShortPinyin() != null) {
            queryWrapper.lambda().eq(BaseGoods::getShortPinyin, pageWrap.getModel().getShortPinyin());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(baseGoodsMapper.selectPage(page, queryWrapper));
        queryWrapper.orderByDesc(Goods::getId);
        return PageData.from(baseGoodsJoinMapper.selectJoinPage(page,BaseGoods.class,queryWrapper));
    }
    @Override
server/service/src/main/java/com/doumee/service/business/impl/BrandServiceImpl.java
@@ -104,7 +104,7 @@
        String prefixUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.FILE_DIR).getCode()
                + systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.PROJECTS).getCode();
        Brand brand = brandMapper.selectById(id);
        brand.setPrefixUrl(prefixUrl);
        brand.setImgfullurl(prefixUrl+brand.getImgurl());
        return brand;
    }
@@ -124,7 +124,7 @@
        String prefixUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.FILE_DIR).getCode()
                + systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.PROJECTS).getCode();
        for (Brand b:list) {
            b.setPrefixUrl(prefixUrl);
            b.setImgfullurl(prefixUrl+b.getImgurl());
        }
        return list;
    }
@@ -146,7 +146,7 @@
        String prefixUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.FILE_DIR).getCode()
                + systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.PROJECTS).getCode();
        brandIPage.getRecords().forEach(i->{
            i.setPrefixUrl(prefixUrl);
            i.setImgfullurl(prefixUrl+i.getImgurl());
        });
        return PageData.from(brandIPage);
    }
server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,130 @@
package com.doumee.service.business.impl;
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 com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.CompanyMapper;
import com.doumee.dao.business.model.Company;
import com.doumee.service.business.CompanyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
/**
 * ç³»ç»Ÿ-企业信息表Service实现
 * @author AA
 * @since 2023/09/08 10:27
 */
@Service
public class CompanyServiceImpl implements CompanyService {
    @Autowired
    private CompanyMapper companyMapper;
    @Override
    public Integer create(Company company) {
        companyMapper.insert(company);
        return company.getId();
    }
    @Override
    public void deleteById(Integer id) {
        companyMapper.deleteById(id);
    }
    @Override
    public void delete(Company company) {
        UpdateWrapper<Company> deleteWrapper = new UpdateWrapper<>(company);
        companyMapper.delete(deleteWrapper);
    }
    @Override
    public void deleteByIdInBatch(List<Integer> ids) {
        if (CollectionUtils.isEmpty(ids)) {
            return;
        }
        companyMapper.deleteBatchIds(ids);
    }
    @Override
    public void updateById(Company company) {
        companyMapper.updateById(company);
    }
    @Override
    public void updateByIdInBatch(List<Company> companys) {
        if (CollectionUtils.isEmpty(companys)) {
            return;
        }
        for (Company company: companys) {
            this.updateById(company);
        }
    }
    @Override
    public Company findById(Integer id) {
        return companyMapper.selectById(id);
    }
    @Override
    public Company findOne(Company company) {
        QueryWrapper<Company> wrapper = new QueryWrapper<>(company);
        return companyMapper.selectOne(wrapper);
    }
    @Override
    public List<Company> findList(Company company) {
        QueryWrapper<Company> wrapper = new QueryWrapper<>(company);
        return companyMapper.selectList(wrapper);
    }
    @Override
    public PageData<Company> findPage(PageWrap<Company> pageWrap) {
        IPage<Company> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<Company> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        queryWrapper.lambda()
                .eq(pageWrap.getModel().getId() != null, Company::getId, pageWrap.getModel().getId())
                .eq(pageWrap.getModel().getDeleted() != null, Company::getDeleted, pageWrap.getModel().getDeleted())
                .eq(pageWrap.getModel().getCreateUser() != null, Company::getCreateUser, pageWrap.getModel().getCreateUser())
                .ge(pageWrap.getModel().getCreateTime() != null, Company::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime()))
                .le(pageWrap.getModel().getCreateTime() != null, Company::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime()))
                .eq(pageWrap.getModel().getUpdateUser() != null, Company::getUpdateUser, pageWrap.getModel().getUpdateUser())
                .ge(pageWrap.getModel().getUpdateTime() != null, Company::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime()))
                .le(pageWrap.getModel().getUpdateTime() != null, Company::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime()))
                .eq(pageWrap.getModel().getName() != null, Company::getName, pageWrap.getModel().getName())
                .eq(pageWrap.getModel().getShortName() != null, Company::getShortName, pageWrap.getModel().getShortName())
                .eq(pageWrap.getModel().getRemark() != null, Company::getRemark, pageWrap.getModel().getRemark())
                .eq(pageWrap.getModel().getManagerId() != null, Company::getManagerId, pageWrap.getModel().getManagerId())
                .eq(pageWrap.getModel().getLinkname() != null, Company::getLinkname, pageWrap.getModel().getLinkname())
                .eq(pageWrap.getModel().getLinkephone() != null, Company::getLinkephone, pageWrap.getModel().getLinkephone())
                .eq(pageWrap.getModel().getCreditCode() != null, Company::getCreditCode, pageWrap.getModel().getCreditCode())
                .eq(pageWrap.getModel().getUserNum() != null, Company::getUserNum, pageWrap.getModel().getUserNum())
                .ge(pageWrap.getModel().getOepnValidDate() != null, Company::getOepnValidDate, Utils.Date.getStart(pageWrap.getModel().getOepnValidDate()))
                .le(pageWrap.getModel().getOepnValidDate() != null, Company::getOepnValidDate, Utils.Date.getEnd(pageWrap.getModel().getOepnValidDate()))
                .eq(pageWrap.getModel().getOepnType() != null, Company::getOepnType, pageWrap.getModel().getOepnType())
                .eq(pageWrap.getModel().getSalesmanId() != null, Company::getSalesmanId, pageWrap.getModel().getSalesmanId())
        ;
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(companyMapper.selectPage(page, queryWrapper));
    }
    @Override
    public long count(Company company) {
        QueryWrapper<Company> wrapper = new QueryWrapper<>(company);
        return companyMapper.selectCount(wrapper);
    }
}