Ver código fonte

Merge remote-tracking branch 'origin/dev' into dev

caozj 2 anos atrás
pai
commit
7a3a2ec7e9

+ 5 - 3
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountPaymentServiceImpl.java

@@ -117,9 +117,11 @@ public class AccountPaymentServiceImpl extends ServiceImpl<AccountPaymentMapper,
                 .filter(Objects::nonNull)
                 .distinct()
                 .collect(Collectors.toList());
-        List<SysDept> sysDeptList = sysDeptService.listByIds(deptIdList);
-        Map<Long, String> deptMap = sysDeptList.stream().collect(Collectors.toMap(SysDept::getDeptId, SysDept::getDeptName));
-        records.forEach(item -> item.setDeptName(deptMap.get(item.getDepartmentId())));
+        if (ObjectUtil.isNotEmpty(deptIdList)) {
+            List<SysDept> sysDeptList = sysDeptService.listByIds(deptIdList);
+            Map<Long, String> deptMap = sysDeptList.stream().collect(Collectors.toMap(SysDept::getDeptId, SysDept::getDeptName));
+            records.forEach(item -> item.setDeptName(deptMap.get(item.getDepartmentId())));
+        }
         DynamicDataSourceContextHolder.poll();
 
         return page;

+ 8 - 4
hx-dingding/src/main/java/com/fjhx/dingding/service/impl/DingServiceImpl.java

@@ -6,6 +6,7 @@ import cn.hutool.extra.pinyin.PinyinUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -94,6 +95,7 @@ public class DingServiceImpl implements DingService {
 
     }
 
+    @DSTransactional
     @Override
     public String getUserToken(GetUserTokenDto dto) {
         DynamicDataSourceContextHolder.push(SourceConstant.BASE);
@@ -105,6 +107,10 @@ public class DingServiceImpl implements DingService {
             TenantInfo tenantInfo = tenantInfoService.getOne(Wrappers.<TenantInfo>lambdaQuery()
                     .eq(TenantInfo::getCorpid, dto.getCorpId()));
 
+            if (tenantInfo == null) {
+                throw new ServiceException("未知corpId");
+            }
+
             sysUser = new SysUser();
             OapiV2UserGetResponse.UserGetResponse userDetail = DingUtil.getUserDetail(dto.getCorpId(), userid);
             List<Long> deptIdList = userDetail.getDeptIdList();
@@ -115,12 +121,13 @@ public class DingServiceImpl implements DingService {
                     sysUser.setDeptId(sysDept.getDeptId());
                 }
             }
+            sysUser.setDdUserId(userid);
             sysUser.setTenantId(tenantInfo.getTenantId());
             sysUser.setUserName("admin");
             sysUser.setNickName(userInfo.getName());
             sysUser.setPassword(SecurityUtils.encryptPassword(RandomUtil.randomString(6)));
             sysUser.setStatus("0");
-            sysUser.setCreateBy(SecurityUtils.getUsername());
+            sysUser.setCreateBy("admin");
             sysUser.setCreateTime(new Date());
             sysUserService.save(sysUser);
 
@@ -225,14 +232,11 @@ public class DingServiceImpl implements DingService {
         List<String> tenantIdList = list.stream().map(TenantInfo::getTenantId).collect(Collectors.toList());
 
         if (list.size() > 0) {
-
             String tempTenantId;
             do {
                 tempTenantId = tenantId + "-" + RandomUtil.randomString(3);
             } while (!tenantIdList.contains(tempTenantId));
-
             tenantId = tempTenantId;
-
         }
 
         // 创建租户

+ 6 - 2
hx-dingding/src/main/java/com/fjhx/dingding/utils/DingUtil.java

@@ -107,7 +107,12 @@ public class DingUtil {
             req.setCode(code);
             String corpAccessToken = getCorpAccessToken(corpId);
             OapiV2UserGetuserinfoResponse rsp = client.execute(req, corpAccessToken);
-            return rsp.getResult();
+            OapiV2UserGetuserinfoResponse.UserGetByCodeResponse result = rsp.getResult();
+            if (result == null) {
+                log.error(rsp.getErrmsg());
+                throw new ServiceException(rsp.getErrmsg());
+            }
+            return result;
         } catch (Exception e) {
             log.error("通过免登码获取用户信息失败", e);
             throw new ServiceException("通过免登码获取用户信息失败");
@@ -128,7 +133,6 @@ public class DingUtil {
         }
     }
 
-
     public static List<OapiV2DepartmentListsubResponse.DeptBaseResponse> getDeptList(String corpId, Long deptId) {
         try {
             DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/department/listsub");

+ 5 - 5
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -214,7 +214,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
             wrapper.eq("t1", Contract::getSellCorporationId, dto.getSellCorporationId());
         }
         if (StringUtils.isNotEmpty(dto.getRefundStatusNew())) {
-            wrapper.in("t1.refundStatusNew", dto.getRefundStatusNew().split(","));
+            wrapper.in("t1.refundStatusNew", Arrays.asList(dto.getRefundStatusNew().split(",")));
         }
         if (StringUtils.isNotEmpty(dto.getKeyword())) {
             wrapper.keyword(dto.getKeyword(), new SqlField("t1", Contract::getCode));
@@ -897,7 +897,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
         List<PurchaseDetail> purchaseDetailList = purchaseDetailService.list(q -> q.in(PurchaseDetail::getPurchaseId, purchaseIdList));
 
         // 赋值关联销售合同
-        setContractInfo(vo, purchaseDetailList);
+        setContractInfo(vo, purchaseList);
 
         // 赋值采购合同数据
         setPurchaseInfo(vo, purchaseList, purchaseDetailList);
@@ -1024,11 +1024,11 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
     /**
      * 赋值销售合同数据
      */
-    private void setContractInfo(PayDecisionAidVo vo, List<PurchaseDetail> purchaseDetailList) {
+    private void setContractInfo(PayDecisionAidVo vo, List<Purchase> purchaseList) {
 
-        List<Long> contractIdList = purchaseDetailList.stream()
+        List<Long> contractIdList = purchaseList.stream()
                 .filter(item -> Objects.equals(item.getDataResource(), 1))
-                .map(PurchaseDetail::getDataResourceId)
+                .map(Purchase::getDataResourceId)
                 .filter(Objects::nonNull)
                 .distinct()
                 .collect(Collectors.toList());

+ 1 - 1
hx-sale/src/main/resources/mapper/contract/ContractMapper.xml

@@ -7,7 +7,7 @@
              (SELECT t1.*,
                      IFNULL(t1.amount, 0) * IFNULL(t1.rate, 0) AS amountCNY,
                      CASE
-                         WHEN (t1.amount - t1.sumClaimMoney) &lt;= 0 THEN
+                         WHEN ( IFNULL( t1.amount, 0 ) * IFNULL( t1.rate, 0 ) - t1.sumClaimMoney ) &lt;=  0 THEN
                              20
                          WHEN t1.sumClaimMoney = 0 THEN
                              0