소스 검색

Merge remote-tracking branch 'origin/cnbg-master' into cnbg-master

Qutong 1 년 전
부모
커밋
0b3506857e

+ 0 - 3
hnqz-common/hnqz-common-core/src/main/java/com/qunzhixinxi/hnqz/common/core/util/Ip2Region.java

@@ -1,13 +1,10 @@
 package com.qunzhixinxi.hnqz.common.core.util;
 
-import org.apache.commons.io.FileUtils;
 import org.lionsoul.ip2region.xdb.Searcher;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.File;
 import java.io.IOException;
-import java.io.InputStream;
 import java.util.concurrent.TimeUnit;
 
 /**

+ 2 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/dto/SysImplementPlanDTO.java

@@ -115,6 +115,8 @@ public final class SysImplementPlanDTO {
         @Min(value = 10, message = "分页数量最小为{value}")
         @Max(value = 100, message = "分页数量最大为{value}")
         private Integer size;
+
+        private Integer planId;
     }
 
     @Data

+ 5 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/vo/SysImplementPlanVO.java

@@ -60,6 +60,11 @@ public final class SysImplementPlanVO {
          */
         private Map<String, Object> skuInfo;
 
+        /**
+         * 计划详情
+         */
+        private SysImplPlanDetails planDetails;
+
 
     }
 }

+ 28 - 56
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java

@@ -7,7 +7,6 @@ import cn.hutool.core.date.DatePattern;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.lang.Assert;
-import cn.hutool.core.map.MapUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.IdcardUtil;
@@ -121,7 +120,6 @@ import com.qunzhixinxi.hnqz.admin.service.WmUserSignService;
 import com.qunzhixinxi.hnqz.admin.service.WmWkAlbumService;
 import com.qunzhixinxi.hnqz.admin.service.WmWkArticleService;
 import com.qunzhixinxi.hnqz.admin.service.WmWkArticleShareService;
-import com.qunzhixinxi.hnqz.admin.util.GetOpenIDUtil;
 import com.qunzhixinxi.hnqz.admin.util.Html2ImageByJsWrapper;
 import com.qunzhixinxi.hnqz.admin.util.OsEnvUtils;
 import com.qunzhixinxi.hnqz.admin.util.QRCodeGenerator;
@@ -799,30 +797,23 @@ public class ApiController {
      * 更新用户信息(openId 和头像)
      *
      * @param uId      用户ID
-     * @param authCode 授权码
+     * @param openId openId
      * @param avatar   头像
      */
-    private void updateUserOpenIdAndAvatar(Integer uId, String authCode, String avatar) {
+    private void updateUserOpenIdAndAvatar(Integer uId, String openId, String avatar) {
         SysUser u = sysUserService.getById(uId);
-        if (StrUtil.isBlank(u.getWxOpenid()) || StrUtil.isBlank(u.getAvatar())) {
-            SysUser updateU = new SysUser();
-            // 获取小程序openid
-            updateU.setUserId(uId);
-            if (StrUtil.isBlank(u.getWxOpenid())) {
-                Map<String, Object> openMap = GetOpenIDUtil.oauth2GetOpenid(authCode, upmsConfig.getWechatEnv());
-                log.info("openMap: {}", openMap);
-                if (MapUtil.isNotEmpty(openMap)) {
-                    String openid = (String) openMap.get("openid");
-                    updateU.setWxOpenid(openid);
-                }
-            }
-            // avatar头像
-            if (StrUtil.isBlank(u.getAvatar())) {
-                updateU.setAvatar(avatar);
-            }
-            updateU.setUpdateTime(LocalDateTime.now());
-            sysUserService.updateById(updateU);
+
+        SysUser updateU = new SysUser();
+        if (StrUtil.isBlank(u.getWxOpenid())){
+            updateU.setWxOpenid(openId);
         }
+
+        if (StrUtil.isBlank(u.getAvatar())){
+            updateU.setAvatar(avatar);
+        }
+
+        updateU.setUpdateTime(LocalDateTime.now());
+        sysUserService.updateById(updateU);
     }
 
     /**
@@ -846,26 +837,7 @@ public class ApiController {
             return R.failed("账号信息异常,请联系管理员");
         }
 
-        SysUser u = sysUserService.getById(hnqzUser.getId());
-        if (StrUtil.isBlank(u.getWxOpenid()) || StrUtil.isBlank(u.getAvatar())) {
-            SysUser updateU = new SysUser();
-            // 获取小程序openid
-            updateU.setUserId(u.getUserId());
-            if (StrUtil.isBlank(u.getWxOpenid())) {
-                Map<String, Object> opemMap = GetOpenIDUtil.oauth2GetOpenid(code, upmsConfig.getWechatEnv());
-                log.info("opemMap: {}", opemMap);
-                if (MapUtil.isNotEmpty(opemMap)) {
-                    String openid = (String) opemMap.get("openid");
-                    updateU.setWxOpenid(openid);
-                }
-            }
-            // avatar头像
-            if (StrUtil.isBlank(u.getAvatar())) {
-                updateU.setAvatar(avatar);
-            }
-            updateU.setUpdateTime(LocalDateTime.now());
-            sysUserService.updateById(updateU);
-        }
+        updateUserOpenIdAndAvatar(hnqzUser.getId(), code, avatar);
 
         List<Integer> roleList = new ArrayList<>();
 
@@ -3230,19 +3202,19 @@ public class ApiController {
         return R.ok(listMap);
     }
 
-    /**
-     * 获取阅读人openid
-     *
-     * @param authCode 授权code
-     * @return 获取结果
-     */
-    private String getReaderOpenId(String authCode) {
-        //获取小程序openid
-        log.info("小程序登录AUTH_CODE:{}", authCode);
-        Map<String, Object> resultMap = GetOpenIDUtil.oauth2GetOpenid(authCode.trim(), upmsConfig.getWechatEnv());
-        log.warn("小程序登录结果信息:{}", resultMap);
-        return (String) resultMap.get("openid");
-    }
+    ///**
+    // * 获取阅读人openid
+    // *
+    // * @param authCode 授权code
+    // * @return 获取结果
+    // */
+    //private String getReaderOpenId(String authCode) {
+    //    //获取小程序openid
+    //    log.info("小程序登录AUTH_CODE:{}", authCode);
+    //    Map<String, Object> resultMap = GetOpenIDUtil.oauth2GetOpenid(authCode.trim(), upmsConfig.getWechatEnv());
+    //    log.warn("小程序登录结果信息:{}", resultMap);
+    //    return (String) resultMap.get("openid");
+    //}
 
     /**
      * 分享阅读任务方法
@@ -3449,7 +3421,7 @@ public class ApiController {
                         log.info("openUserId为null,任务积分为0。");
                         wmTask.setScore(0);
                     } else {
-                        String readerOpenId = getReaderOpenId(openUserId.trim());
+                        String readerOpenId = openUserId.trim();
                         if (readerOpenId.contains("null")) {
                             log.info("获取阅读者openid失败,积分值为0");
                             wmTask.setScore(0);

+ 35 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysImplementPlanController.java

@@ -1,10 +1,11 @@
 package com.qunzhixinxi.hnqz.admin.controller;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.lang.tree.Tree;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qunzhixinxi.hnqz.admin.api.constant.UpmsState;
 import com.qunzhixinxi.hnqz.admin.api.dto.SysImplementPlanDTO;
 import com.qunzhixinxi.hnqz.admin.api.dto.SysImplementPlanDetailsDTO;
-import com.qunzhixinxi.hnqz.admin.api.entity.SysImplementPlan;
 import com.qunzhixinxi.hnqz.admin.api.vo.SysImplementPlanVO;
 import com.qunzhixinxi.hnqz.admin.manager.SysImplementPlanManager;
 import com.qunzhixinxi.hnqz.common.core.util.R;
@@ -19,8 +20,10 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 /**
  * 执行计划前端控制器
@@ -44,6 +47,11 @@ public class SysImplementPlanController {
 
     }
 
+    @GetMapping(value = "/plan/info/{plan_id}")
+    public R<SysImplementPlanVO.ToList> getPlanById(@PathVariable(value = "plan_id") Long planId) {
+        return R.ok(implementPlanManager.findById(planId));
+    }
+
 
     @GetMapping(value = "/plan/page")
     public R<Page<?>> pagePlans(@Validated SysImplementPlanDTO.OnPage query) {
@@ -51,6 +59,32 @@ public class SysImplementPlanController {
         return R.ok(implementPlanManager.pagePlans(query, SecurityUtils.getUser()));
     }
 
+    @SuppressWarnings("unchecked")
+    @GetMapping(value = "/plan/children/list")
+    public R<List<Tree<Integer>>> listPlanChildren(@Validated SysImplementPlanDTO.OnPage query) {
+
+        Page<?> page = implementPlanManager.pagePlans(query, SecurityUtils.getUser());
+
+        if (CollUtil.isEmpty(page.getRecords())) {
+            return R.ok(Collections.emptyList());
+        }
+
+        List<Tree<Integer>> records = (List<Tree<Integer>>) page.getRecords();
+
+        for (Tree<Integer> record : records) {
+            Integer id = record.getId();
+            if (!Objects.equals(id, query.getPlanId())) {
+                continue;
+            }
+
+            List<Tree<Integer>> children = record.getChildren();
+            return R.ok(children);
+
+        }
+
+        return R.ok(Collections.emptyList());
+    }
+
     @GetMapping(value = "/plan/list")
     public R<List<SysImplementPlanVO.ToList>> listPlans(@RequestParam(value = "planState", required = false, defaultValue = "PASSED") UpmsState.ImplementPlanState planState) {
         return R.ok(implementPlanManager.listPlans(planState, SecurityUtils.getUser()));

+ 37 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/manager/SysImplementPlanManager.java

@@ -41,6 +41,7 @@ import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -468,4 +469,40 @@ public class SysImplementPlanManager {
         }).collect(Collectors.toList());
 
     }
+
+    public SysImplementPlanVO.ToList findById(Long planId) {
+        SysImplementPlan p = implementPlanService.getById(planId);
+        SysImplementPlanVO.ToList copied = BeanUtil.copyProperties(p, SysImplementPlanVO.ToList.class);
+
+        // 设置承接人信息
+        // 获取承接人
+        Map<Integer, SysDept> consigneeMap = deptService.mapConsignee(new HashSet<>(Collections.singletonList(p.getConsigneeId())));
+        Map<String, Object> consigneeInfo = new HashMap<>(2);
+        consigneeInfo.put("consigneeId", p.getConsigneeId());
+        SysDept sysDept = consigneeMap.get(p.getConsigneeId());
+        consigneeInfo.put("consigneeName", sysDept == null ? "" : sysDept.getName());
+        copied.setConsigneeInfo(consigneeInfo);
+
+        // 产品信息
+        List<Map<String, String>> skuList = drugEntDrugtableService.listDrugs(Collections.singletonList(p.getSkuId()));
+        Map<Integer, Map<String, String>> skuMap = skuList.stream().collect(Collectors.toMap(sku -> Integer.valueOf(sku.get("drug_id")), Function.identity()));
+        Map<String, String> sku = skuMap.get(p.getSkuId());
+        Map<String, Object> skuInfo = new HashMap<>(3);
+        skuInfo.put("skuId", p.getSkuId());
+        skuInfo.put("skuName", MapUtil.isEmpty(sku) ? "" : sku.get("drug_name"));
+        skuInfo.put("manufacturer", MapUtil.isEmpty(sku) ? "" : sku.get("ent_name"));
+        copied.setSkuInfo(skuInfo);
+
+        // planDtl
+
+        // 获取计划详情
+        List<SysImplPlanDetails> details = implPlanDetailsService.list(Wrappers.<SysImplPlanDetails>lambdaQuery()
+                .eq(SysImplPlanDetails::getPlanId, planId)
+                .orderByDesc(SysImplPlanDetails::getUpdateTime)
+        );
+        copied.setPlanDetails(CollUtil.isEmpty(details) ? null : details.get(0));
+
+
+        return copied;
+    }
 }

+ 4 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/util/GetOpenIDUtil.java

@@ -18,12 +18,12 @@ import java.util.Map;
 public class GetOpenIDUtil {
 
 	// cos pro 环境
-	public static final String CSO_PRO_APPID = "wxd03398e1bff2b241";
-	public static final String CSO_PRO_APPSECRET = "f745fa594d51534845e8412433951a20";
+	public static final String CSO_PRO_APPID = "wx1c531f81360684cd";
+	public static final String CSO_PRO_APPSECRET = "3dbba237f44fe3660b0b46cc861960ff";
 
 	// cos demo 环境
-	public static final String CSO_DEMO_APPID = "wx956bb32e73073426";
-	public static final String CSO_DEMO_APPSECRET = "cb722986c23cc352b7f87ff2dae4cc11";
+	public static final String CSO_DEMO_APPID = "wx1c531f81360684cd";
+	public static final String CSO_DEMO_APPSECRET = "3dbba237f44fe3660b0b46cc861960ff";
 
 	public static Map<String, Object> oauth2GetOpenid(String code, String env) {
 		String appid;