czh 2 лет назад
Родитель
Сommit
2f3aa737c5
20 измененных файлов с 105 добавлено и 49 удалено
  1. 4 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/filter/LoginFilter.java
  2. 3 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/constant/HttpStatus.java
  3. 6 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogisticsGoods.java
  4. 6 1
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/LogisticsGoodsInfoReqVo.java
  5. 6 5
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java
  6. 2 2
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmCooperateManageController.java
  7. 1 1
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmAddressService.java
  8. 3 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateManageService.java
  9. 2 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsUserController.java
  10. 9 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dao/KwsEnterpriseDao.java
  11. 2 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dao/KwsRoleDao.java
  12. 3 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteSystemServiceImpl.java
  13. 1 2
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/res/RoleResVo.java
  14. 6 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsDeptService.java
  15. 0 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java
  16. 13 7
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsRoleService.java
  17. 10 5
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java
  18. 4 0
      sckw-modules/sckw-system/src/main/resources/mapper/KwsEnterpriseDao.xml
  19. 12 3
      sckw-modules/sckw-system/src/main/resources/mapper/KwsRoleDao.xml
  20. 12 20
      sckw-modules/sckw-system/src/main/resources/mapper/KwsUserDao.xml

+ 4 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/filter/LoginFilter.java

@@ -113,7 +113,10 @@ public class LoginFilter implements Filter {
         }
 
         /*4、企业信息等校验*/
-        checkEntInfo(loginUserInfo);
+        //特殊处理,认证接口不校验资质
+        if (!"/kwsEnt/register".equals(requestUri)) {
+            checkEntInfo(loginUserInfo);
+        }
 
         RedissonUtils.putString(Global.getFullUserLoginKey(Integer.parseInt(systemType), Long.parseLong(key), clientType), JSON.toJSONString(loginUserInfo), Global.PC_TOKEN_EXPIRE);
         filterChain.doFilter(servletRequest, servletResponse);

+ 3 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/constant/HttpStatus.java

@@ -156,5 +156,8 @@ public class HttpStatus {
     public static final String MSG_020 = "当前机构还存在员工数据,不能删除!";
     public static final String MSG_021 = "不能重复设置默认地址!";
     public static final String MSG_022 = "只能对草稿进行删除!";
+    public static final String MSG_023 = "解除成功!";
+    public static final String MSG_024 = "名称不能重复!";
+    public static final String MSG_025 = "禁止删除本人信息!";
 
 }

+ 6 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogisticsGoods.java

@@ -30,6 +30,12 @@ public class KwcContractLogisticsGoods implements Serializable {
      */
     private Long goodsId;
 
+
+    /**
+     * 商品名
+     */
+    private String goodsName;
+
     /**
      * sku
      */

+ 6 - 1
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/LogisticsGoodsInfoReqVo.java

@@ -21,9 +21,14 @@ public class LogisticsGoodsInfoReqVo implements Serializable {
     /**
      * 商品id
      */
-    @NotNull(message = "商品不能为空")
+//    @NotNull(message = "商品不能为空")
     private Long goodsId;
 
+    /**
+     * 商品名
+     */
+    private String goodsName;
+
     /**
      * 运量
      */

+ 6 - 5
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java

@@ -191,7 +191,7 @@ public class KwcContractLogisticsService {
         List<KwcContractLogisticsGoods> kwcContractLogisticsGoodsList = kwcContractLogisticsGoodsService.queryGoodsInfoByContractId(kwcContractLogistics.getId());
         if (CollectionUtils.isNotEmpty(kwcContractLogisticsGoodsList)) {
             List<Long> goodsIdList = kwcContractLogisticsGoodsList.stream().map(KwcContractLogisticsGoods::getGoodsId).toList();
-            Map<Long, KwpGoods> goodsMap = goodsInfoService.getGoodsByIds(goodsIdList);
+//            Map<Long, KwpGoods> goodsMap = goodsInfoService.getGoodsByIds(goodsIdList);
 
             String keys = "";
            for (KwcContractLogisticsGoods item :kwcContractLogisticsGoodsList){
@@ -214,10 +214,11 @@ public class KwcContractLogisticsService {
                 logisticsGoodsInfoResVo.setDeficitUnit(kwcContractLogisticsGoods.getDeficitUnit());
                 logisticsGoodsInfoResVo.setGoodsId(kwcContractLogisticsGoods.getGoodsId());
                 logisticsGoodsInfoResVo.setId(kwcContractLogisticsGoods.getId());
-                KwpGoods kwpGoods = goodsMap.get(kwcContractLogisticsGoods.getGoodsId());
-                if (Objects.nonNull(kwpGoods)) {
-                    logisticsGoodsInfoResVo.setGoodsName(kwpGoods.getName());
-                }
+                logisticsGoodsInfoResVo.setGoodsName(kwcContractLogisticsGoods.getGoodsName());
+//                KwpGoods kwpGoods = goodsMap.get(kwcContractLogisticsGoods.getGoodsId());
+//                if (Objects.nonNull(kwpGoods)) {
+//                    logisticsGoodsInfoResVo.setGoodsName(kwpGoods.getName());
+//                }
                 logisticsGoodsInfoResVo.setLoss(kwcContractLogisticsGoods.getLoss());
                 logisticsGoodsInfoResVo.setLossUnit(kwcContractLogisticsGoods.getLossUnit());
 

+ 2 - 2
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmCooperateManageController.java

@@ -71,7 +71,7 @@ public class KwmCooperateManageController {
     @PostMapping("dissolve")
     public HttpResult dissolve(@Valid @RequestBody IdsReqVo reqVo) throws SystemException {
         kwmCooperateManageService.dissolve(reqVo.getIds());
-        return HttpResult.ok(HttpStatus.MSG_010);
+        return HttpResult.ok(HttpStatus.MSG_023);
     }
 
     /**
@@ -84,7 +84,7 @@ public class KwmCooperateManageController {
     @PostMapping("delete")
     public HttpResult delete(@Valid @RequestBody IdsReqVo reqVo) throws SystemException {
         kwmCooperateManageService.delete(reqVo.getIds());
-        return HttpResult.ok(HttpStatus.MSG_007);
+        return HttpResult.ok(HttpStatus.MSG_008);
     }
 
     /**

+ 1 - 1
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmAddressService.java

@@ -124,7 +124,7 @@ public class KwmAddressService {
      */
     public void bindDefault(BindDefaultReqVo reqVo) {
         KwmAddress kwmAddress = kwmAddressMapper.selectById(reqVo.getId());
-        if (Objects.isNull(kwmAddress) || kwmAddress.getDefaultType() == Global.YES) {
+        if (Objects.isNull(kwmAddress)) {
             throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.ADDRESS_NOT_EXISTS);
         }
 

+ 3 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateManageService.java

@@ -183,6 +183,9 @@ public class KwmCooperateManageService {
         //todo 判断是否可以解除(若和所选企业有未完结的业务单据(销售订单/采购订单、托运订单/承运订单、对账单、结算单),不支持解除合作)
         //提示:您与所选企业存在未完结业务,当前无法删除!
         List<KwmCooperate> kwmCooperates = kwmCooperateMapper.selectBatchIds(Arrays.asList(ids.split(Global.COMMA)));
+        if (CollectionUtils.isEmpty(kwmCooperates)) {
+            throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.COOPERATE_NOT_EXISTS);
+        }
         Long userId = LoginUserHolder.getUserId();
         Date date = new Date();
         kwmCooperates.forEach(item -> {

+ 2 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsUserController.java

@@ -6,6 +6,7 @@ import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.system.model.KwsUser;
 import com.sckw.system.model.vo.req.IdReqVo;
@@ -55,6 +56,7 @@ public class KwsUserController {
     public HttpResult findPage(@RequestBody HashMap params) throws SystemException {
         // 设置分页参数
         PageHelper.startPage(PageResult.getPage(params), PageResult.getPageSize(params));
+        params.put("entId", LoginUserHolder.getEntId());
         List<KwsUserResVo> list = kwsUserService.findPage(params);
         PageResult pageResult = PageHelperUtil.getPageResult(new PageInfo<>(list));
         return HttpResult.ok(pageResult);

+ 9 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/dao/KwsEnterpriseDao.java

@@ -123,4 +123,13 @@ public interface KwsEnterpriseDao {
      * @date: 2023/7/10
      */
     List<KwsEnterprise> queryEntByName(String entName);
+
+    /**
+     * @param entName 企业名
+     * @return KwsEnterprise
+     * @desc: 精确匹配企业名/联系人
+     * @author: czh
+     * @date: 2023/7/10
+     */
+    List<KwsEnterprise> checkEntRepeat(@Param(value = "entName") String entName, @Param(value = "phone") String phone);
 }

+ 2 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/dao/KwsRoleDao.java

@@ -1,6 +1,7 @@
 package com.sckw.system.dao;
 
 import com.sckw.system.model.KwsRole;
+import com.sckw.system.model.vo.res.RoleResVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -41,7 +42,7 @@ public interface KwsRoleDao {
      * @return
      * @throws Exception
      */
-    List<KwsRole> findPage(Map<String, Object> params);
+    List<RoleResVo> findPage(Map<String, Object> params);
 
     /**
      * @param  userId 用户id

+ 3 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteSystemServiceImpl.java

@@ -279,6 +279,9 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
                 parent.setChild(Collections.singletonList(entCacheResDto));
                 result.put(entId, parent);
             }
+
+
+
         }
         return result;
     }

+ 1 - 2
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/res/RoleResVo.java

@@ -49,8 +49,7 @@ public class RoleResVo implements Serializable {
     /**
      * 创建人
      */
-    @JsonSerialize(using = LongToStringUtils.class)
-    private Long createBy;
+    private String createBy;
 
     /**
      * 创建时间

+ 6 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsDeptService.java

@@ -18,6 +18,7 @@ import com.sckw.system.model.vo.res.KwsDeptResVo;
 import org.checkerframework.checker.units.qual.K;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -47,6 +48,7 @@ public class KwsDeptService {
      * @author: czh
      * @date: 2023/7/3
      */
+    @Transactional(rollbackFor = {})
     public void add(KwsDept params) {
         Long deptId = new IdWorker(1).nextId();
         if (Objects.nonNull(params.getParentId()) && params.getParentId().compareTo(0L) != 0) {
@@ -68,6 +70,10 @@ public class KwsDeptService {
         List<KwsDeptResVo> list = kwsDeptDao.findList(kwsDeptParam);
         int sort = 1;
         if (CollectionUtils.isNotEmpty(list)) {
+            List<String> deptNameList = list.stream().map(KwsDeptResVo::getName).toList();
+            if (deptNameList.contains(params.getName())) {
+                throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_024);
+            }
             sort = list.get(0).getSort() + 1;
         }
         params.setId(deptId);

+ 0 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java

@@ -325,7 +325,6 @@ public class KwsEnterpriseService {
         kwsEnterprise.setOrgCode("");
         kwsEnterprise.setRegTime(date);
         kwsEnterprise.setUpdateBy(LoginUserHolder.getUserId());
-        kwsEnterprise.setCreateBy(LoginUserHolder.getUserId());
         kwsEnterprise.setApproval(ApprovalEnum.PROCESS.getCode());
         if (kwsEnterpriseDao.update(kwsEnterprise) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);

+ 13 - 7
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsRoleService.java

@@ -88,6 +88,14 @@ public class KwsRoleService {
     public IdResVo add(EditRoleReqVo reqVo) {
         IdResVo idResVo = new IdResVo();
 
+        List<KwsRole> kwsRoles = kwsRoleDao.selectBatchByUnitIds(Collections.singletonList(reqVo.getCurrentUnitId()));
+        if (CollectionUtils.isNotEmpty(kwsRoles)) {
+            List<String> nameList = kwsRoles.stream().map(KwsRole::getName).toList();
+            if (nameList.contains(reqVo.getName())) {
+                throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_024);
+            }
+        }
+
         /*1、存角色信息*/
         KwsRole kwsRole = new KwsRole();
         long roleId = new IdWorker(1L).nextId();
@@ -245,14 +253,12 @@ public class KwsRoleService {
      * @return List
      */
     public PageResult findPage(Map<String, Object> params) throws SystemException {
-        Page<Object> objects = PageHelper.startPage(PageResult.getPage(params), PageResult.getPageSize(params));
-        List<KwsRole> list = kwsRoleDao.findPage(params);
-
-        if (CollectionUtils.isEmpty(list)) {
-            return PageHelperUtil.getPageResult(new PageInfo<>(list));
+        PageHelper.startPage(PageResult.getPage(params), PageResult.getPageSize(params));
+        List<RoleResVo> roleResVos = kwsRoleDao.findPage(params);
+        if (CollectionUtils.isEmpty(roleResVos)) {
+            return PageHelperUtil.getPageResult(new PageInfo<>(roleResVos));
         }
 
-        List<RoleResVo> roleResVos = BeanUtils.copyToList(list, RoleResVo.class);
         List<Long> roleIdList = roleResVos.stream().map(RoleResVo::getId).toList();
         List<KwsAuthority> kwsAuthorities = kwsAuthorityDao.selectByRoleIds(roleIdList);
         if (CollectionUtils.isNotEmpty(kwsAuthorities)) {
@@ -275,7 +281,7 @@ public class KwsRoleService {
                 }
             });
         }
-        return PageHelperUtil.getPageResult(new PageInfo<>(roleResVos), list, PageResult.getPageSize(params));
+        return PageHelperUtil.getPageResult(new PageInfo<>(roleResVos), roleResVos, PageResult.getPageSize(params));
     }
 
     /**

+ 10 - 5
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java

@@ -6,6 +6,7 @@ import com.sckw.core.model.enums.ApprovalEnum;
 import com.sckw.core.model.enums.SystemTypeEnum;
 import com.sckw.core.utils.*;
 import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.redis.utils.RedissonUtils;
 import com.sckw.system.api.model.dto.req.RegisterReqDto;
 import com.sckw.system.api.model.dto.req.UpdatePasswordReqDto;
@@ -105,10 +106,8 @@ public class KwsUserService {
      */
     @Transactional(rollbackFor = {})
     public RegisterResDto register(RegisterReqDto reqDto) throws SystemException {
-        FindListReqVo findListReqVo = new FindListReqVo();
-        findListReqVo.setEntName(reqDto.getEntName());
-        List<FindEntListResVo> list = kwsEnterpriseDao.findList(findListReqVo);
-        if (!CollectionUtils.isEmpty(list)) {
+        List<KwsEnterprise> list = kwsEnterpriseDao.checkEntRepeat(reqDto.getEntName(), reqDto.getPhone());
+        if (CollectionUtils.isNotEmpty(list)) {
             throw new SystemException(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.ENT_EXISTS);
         }
 
@@ -125,7 +124,10 @@ public class KwsUserService {
         kwsUser.setPhone(reqDto.getPhone());
         kwsUser.setIsMain(reqDto.getIsMain());
         kwsUser.setId(userId);
-
+        if (Objects.isNull(LoginUserHolder.getUserId()) || LoginUserHolder.getUserId().compareTo(1L) == 0) {
+            kwsUser.setCreateBy(userId);
+            kwsUser.setUpdateBy(userId);
+        }
         //填充密码、入库
         fillPassword(kwsUser);
         if (kwsUserDao.insert(kwsUser) <= 0) {
@@ -249,6 +251,9 @@ public class KwsUserService {
 
         String[] idArray = ids.split(",");
         for (String id : idArray) {
+            if (id.equals(String.valueOf(LoginUserHolder.getUserId()))) {
+                throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_025);
+            }
             KwsUser kwsUser = kwsUserDao.selectByKey(Long.parseLong(id));
             if (null != kwsUser) {
                 kwsUser.setDelFlag(Global.YES);

+ 4 - 0
sckw-modules/sckw-system/src/main/resources/mapper/KwsEnterpriseDao.xml

@@ -251,6 +251,10 @@
     select * from kws_enterprise where firm_name like concat('%', #{entName}, '%') and del_flag = 0
   </select>
 
+  <select id="checkEntRepeat" resultType="com.sckw.system.model.KwsEnterprise">
+    select * from kws_enterprise where (firm_name = #{entName} or phone = #{phone}) and del_flag = 0 and approval in (1,3,4)
+  </select>
+
   <insert id="insert" parameterType="com.sckw.system.model.KwsEnterprise">
     insert into kws_enterprise
     <trim prefix="(" suffix=")" suffixOverrides=",">

+ 12 - 3
sckw-modules/sckw-system/src/main/resources/mapper/KwsRoleDao.xml

@@ -128,10 +128,20 @@
     where id = #{id,jdbcType=BIGINT}
   </update>
 
-  <select id="findPage" resultMap="BaseResultMap" parameterType="java.util.Map" >
+  <select id="findPage" resultType="com.sckw.system.model.vo.res.RoleResVo" parameterType="java.util.Map" >
     select
-    <include refid="Base_Column_List" />
+    sr.id,
+    sr.name,
+    sr.dept_id,
+    sr.remark,
+    sr.status,
+    su.name createBy,
+    sr.create_time,
+    sr.update_by,
+    sr.update_time,
+    sr.del_flag
     from kws_role sr
+    left join kws_user su on sr.create_by = su.id
     where sr.del_flag = 0
     <if test="name != null and name != ''">
       and sr.name like concat('%', #{name, jdbcType=VARCHAR}, '%')
@@ -145,7 +155,6 @@
     <if test="endTime != null and endTime != ''" >
       and sr.create_time &lt;= #{endTime,jdbcType=DATE}
     </if>
-
     ORDER BY sr.create_time desc
   </select>
   <select id="queryRoleByUserId" resultType="com.sckw.system.model.KwsRole">

+ 12 - 20
sckw-modules/sckw-system/src/main/resources/mapper/KwsUserDao.xml

@@ -209,16 +209,22 @@
   </update>
 
   <select id="findPage" resultType="com.sckw.system.model.vo.res.KwsUserResVo" parameterType="java.util.Map" >
-    select
+    select distinct
     su.id, su.system_type systemType, su.account, su.password, su.name,
     su.phone, su.photo, su.email, su.is_main isMain, su.remark, su.status, su.salt,
-    c.id deptId,c.name deptName,e.id roleId, e.name roleName
+    c.id deptId,c.name deptName,e.id roleId, e.name roleName,
+    su.create_time,
+    su2.`name` createByName,
+    su.update_time
     from kws_user su
     left join kws_user_dept b on su.id = b.user_id
     left join kws_dept c on b.dept_id = c.id
     left join kws_user_role d on su.id = d.user_id
     left join kws_role e on e.id = d.role_id
+    left join kws_user su2 on su.create_by = su2.id
     where su.del_flag = 0
+      and b.del_flag = 0
+      and d.del_flag = 0
     <if test="systemType != null and systemType != ''">
       and su.system_type = #{system_type, jdbcType=VARCHAR}
     </if>
@@ -235,30 +241,16 @@
       and su.email = #{email, jdbcType=VARCHAR}
     </if>
     <if test="deptId != null and deptId != ''">
-      and su.id in (
-        select
-          sud.user_id
-        from kws_user_dept sud
-        left join kws_dept sd on sud.dept_id = sd.id
-        where sd.del_flag = 0 and sud.del_flag = 0
-        and sd.id = #{deptId, jdbcType=VARCHAR}
-      )
+      and c.id = #{deptId, jdbcType=VARCHAR}
     </if>
       <if test="roleId != null and roleId != ''">
-        and su.id in (
-            select kr.user_id from kws_user_role kr where kr.id = #{roleId} and kr.del_flag = 0
-        )
+        and e.id = #{roleId}
       </if>
       <if test="keywords != null and keywords != ''">
-        and (su.name like concat('%', #{keywords}, '%') or su.account like concat('%', #{keywords}, '%') or su.create_by in (select id from kws_user where name like concat('%', #{keywords}, '%')))
+        and (su.name like concat('%', #{keywords}, '%') or su.account like concat('%', #{keywords}, '%') or su2.name like concat('%', #{keywords}, '%'))
       </if>
     <if test="entId != null and entId != ''">
-      and su.id in (
-        select
-          user_id
-        from kws_user_dept
-        where del_flag = 0 and ent_id = #{entId, jdbcType=VARCHAR}
-      )
+      and c.ent_id = #{entId}
     </if>
     <if test="startTime != null and startTime != ''">
       and su.create_time >= #{startTime}