Browse Source

签名

master
wangpengfei 4 months ago
parent
commit
458e52ad82
  1. 54
      external/src/main/java/com/yxt/external/apiadmin/aggregation/PurchaseBillRest.java
  2. 7
      external/src/main/java/com/yxt/external/apiadmin/aggregation/SmsSalesBillRest.java
  3. 103
      external/src/main/java/com/yxt/external/apiadmin/aggregation/SysUserRest.java
  4. 13
      external/src/main/java/com/yxt/external/apiadmin/aggregation/WarehouseInfoRest.java
  5. 22
      external/src/main/java/com/yxt/external/feign/privilege/PrivilegeQuery.java
  6. 21
      external/src/main/java/com/yxt/external/feign/protal/sysuser/OrgList.java
  7. 87
      external/src/main/java/com/yxt/external/feign/protal/sysuser/SysOrganization.java
  8. 49
      external/src/main/java/com/yxt/external/feign/protal/sysuser/SysStaffOrgVo.java
  9. 73
      external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUser.java
  10. 48
      external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserDto.java
  11. 103
      external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserFeign.java
  12. 102
      external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserFeignFallback.java
  13. 58
      external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserQuery.java
  14. 108
      external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserVo.java
  15. 3
      external/src/main/java/com/yxt/external/feign/sales/smssalesbill/SmsSalesBillFeign.java
  16. 77
      external/src/main/java/com/yxt/external/feign/sales/smssalesbill/SmsSalesBillQuery.java
  17. 81
      external/src/main/java/com/yxt/external/feign/sales/smssalesbill/SmsSalesBillVo.java
  18. 27
      external/src/main/java/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseExtendDto.java
  19. 50
      external/src/main/java/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseInfoDto.java
  20. 7
      external/src/main/java/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseInfoFeign.java
  21. 25
      external/src/main/java/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseInfoQuery.java
  22. BIN
      external/target/classes/com/yxt/external/apiadmin/aggregation/PurchaseBillRest.class
  23. BIN
      external/target/classes/com/yxt/external/apiadmin/aggregation/SmsSalesBillRest.class
  24. BIN
      external/target/classes/com/yxt/external/apiadmin/aggregation/WarehouseInfoRest.class
  25. BIN
      external/target/classes/com/yxt/external/feign/sales/smssalesbill/SmsSalesBillFeign.class
  26. BIN
      external/target/classes/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseInfoFeign.class
  27. 19
      externalgateway/pom.xml
  28. 3
      externalgateway/src/main/java/com/yxt/external/GatewayApiApplication.java
  29. 58
      externalgateway/src/main/java/com/yxt/external/Signature.java
  30. 4
      externalgateway/src/main/java/com/yxt/external/feign/package-info.java
  31. 15
      externalgateway/src/main/java/com/yxt/external/feign/protal/organizationappkey/OrganizationAppKey.java
  32. 14
      externalgateway/src/main/java/com/yxt/external/feign/protal/organizationappkey/OrganizationAppKeyDto.java
  33. 34
      externalgateway/src/main/java/com/yxt/external/feign/protal/organizationappkey/OrganizationAppKeyFeign.java
  34. 2
      externalgateway/src/main/resources/application.yml
  35. 2
      externalgateway/target/classes/application.yml
  36. BIN
      externalgateway/target/classes/com/yxt/external/GatewayApiApplication.class
  37. BIN
      externalgateway/target/classes/com/yxt/external/Signature.class

54
external/src/main/java/com/yxt/external/apiadmin/aggregation/PurchaseBillRest.java

@ -34,9 +34,18 @@ import com.yxt.external.feign.purchase.PurchaseBillQuery;
import com.yxt.external.feign.purchase.PurchaseBillVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.bouncycastle.jcajce.provider.digest.MD5;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
@Api(tags = "采购单")
@RestController
@RequestMapping("/apiadmin/purchasebill")
@ -55,4 +64,49 @@ public class PurchaseBillRest {
public ResultBean<PagerVo<PurchaseBillVo>> listPage(@RequestBody PagerQuery<PurchaseBillQuery> pq){
return purchaseBillFeign.listPage(pq);
}
public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException {
String secret="secret";
Map<String, String> parameters=new HashMap<>();
parameters.put("_app","appKey4");
parameters.put("_t","1672213377");
Map<String, String> treeMap = new TreeMap<>();
// 2. 拼接参数字符串
String content = joinParameters(treeMap);
content = secret + content + secret;
String b=md5(content);
System.out.println(b);
}
/**
* 拼接参数字符串
*
* @param tree 排序后的参数
* @return 拼接后的参数字符串
*/
public static String joinParameters(Map<String, String> tree) throws UnsupportedEncodingException {
StringBuilder builder = new StringBuilder();
for (Map.Entry<String, String> entry : tree.entrySet()) {
if (builder.length() > 0) {
builder.append("&");
}
builder.append(entry.getKey()).append("=");
builder.append(URLEncoder.encode(entry.getValue(), "UTF-8"));
}
return builder.toString();
}
/**
* 计算 MD5
*
* @param content 要计算 MD5 的字符串
* @return MD5
*/
public static String md5(String content) throws NoSuchAlgorithmException {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] bytes = md.digest(content.getBytes());
StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
sb.append(String.format("%02x", b));
}
return sb.toString();
}
}

7
external/src/main/java/com/yxt/external/apiadmin/aggregation/SmsSalesBillRest.java

@ -30,6 +30,8 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.external.biz.func.smssalesbill.SmsSalesBillDto;
import com.yxt.external.feign.sales.smssalesbill.SmsSalesBillFeign;
import com.yxt.external.feign.sales.smssalesbill.SmsSalesBillQuery;
import com.yxt.external.feign.sales.smssalesbill.SmsSalesBillVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
@ -66,4 +68,9 @@ public class SmsSalesBillRest {
public ResultBean saveSales(@RequestBody SmsSalesBillDto dto){
return smsSalesBillFeign.saveSales(dto);
}
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<SmsSalesBillVo>> listPage(@RequestBody PagerQuery<SmsSalesBillQuery> pq) {
return smsSalesBillFeign.listPage(pq);
}
}

103
external/src/main/java/com/yxt/external/apiadmin/aggregation/SysUserRest.java

@ -0,0 +1,103 @@
package com.yxt.external.apiadmin.aggregation;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.external.feign.protal.sysuser.SysUserDto;
import com.yxt.external.feign.protal.sysuser.SysUserFeign;
import com.yxt.external.feign.protal.sysuser.SysUserQuery;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
* @author wangpengfei
* @date 2024/5/6 10:29
*/
@Api(tags = "用户信息")
@RestController
@RequestMapping("/apiadmin/sysuser")
public class SysUserRest {
// @Autowired
// SysUserService sysUserService;
@Autowired
SysUserFeign sysUserFeign;
@PostMapping("/register")
@ResponseBody
@ApiOperation(value = "3、注册")
@ApiOperationSupport(order = 30)
public ResultBean register(@RequestBody SysUserDto dto){
return sysUserFeign.register(dto);
}
@PostMapping("/sendMessageCode")
@ResponseBody
@ApiOperation(value = "3、获取注册码")
public ResultBean sendMessageCode(@RequestParam("mobile") String mobile){
return sysUserFeign.sendMessageCode(mobile);
}
@PostMapping("/sendMessageLogin")
@ResponseBody
@ApiOperation(value = "3、获取登录码")
public ResultBean sendMessageLogin(@RequestParam("mobile") String mobile){
return sysUserFeign.sendMessageLogin(mobile);
}
@PostMapping("/sendMessageUpdate")
@ResponseBody
@ApiOperation(value = "3、获取修改码")
public ResultBean sendMessageUpdate(@RequestParam("mobile") String mobile){
return sysUserFeign.sendMessageUpdate(mobile);
}
@PostMapping("/listPage")
@ResponseBody
public ResultBean listPage(@RequestBody PagerQuery<SysUserQuery> pq){
return sysUserFeign.listPage(pq);
}
@PostMapping("/bindOrganization")
@ResponseBody
@ApiOperation(value = "绑定组织")
@ApiOperationSupport(order = 30)
public ResultBean bindOrganization(@RequestBody SysUserDto dto){
return sysUserFeign.bindOrganization(dto);
}
@PostMapping("/selOrganization")
@ResponseBody
@ApiOperation(value = "选择所登录的组织")
@ApiOperationSupport(order = 30)
public ResultBean selOrganization(@RequestBody SysUserDto dto){
return sysUserFeign.selOrganization(dto);
}
@PostMapping("/setIsEnable/{sid}/{isEnable}")
@ResponseBody
@ApiOperation(value = "设置是否可用:isEnable:1可用,0不可用")
public ResultBean setIsEnable(@ApiParam(value = "sid", required = true) @PathVariable("sid") String sid, @ApiParam(value = "isEnable", required = true) @PathVariable("isEnable") String isEnable){
return sysUserFeign.setIsEnable(sid,isEnable);
}
/**
* 初始化密码
*
* @param sid 用户sid
* @return ResultBean
*/
@ResponseBody
@PostMapping("/initPwd/{sid}")
@ApiOperation(value = "10、用户初始化密码")
@ApiOperationSupport(order = 100)
public ResultBean
initPwd(@ApiParam(value = "用户sid", required = true) @PathVariable("sid") String sid) {
return sysUserFeign.initPwd(sid);
}
@ApiOperation("删除记录根据sid")
@GetMapping("/delBySid/{sid}")
public ResultBean delBySid(@PathVariable("sid") String sid){
return sysUserFeign.delBySid(sid);
};
}

13
external/src/main/java/com/yxt/external/apiadmin/aggregation/WarehouseInfoRest.java

@ -7,7 +7,9 @@ import com.yxt.common.core.vo.PagerVo;
import com.yxt.external.biz.func.supplierinfo.SupplierInfoDetailsVo;
import com.yxt.external.biz.func.warehouseinfo.*;
import com.yxt.external.feign.supplier.supplierinfo.SupplierInfoFeign;
import com.yxt.external.feign.warehouse.warehouseinfo.WarehouseInfoDto;
import com.yxt.external.feign.warehouse.warehouseinfo.WarehouseInfoFeign;
import com.yxt.external.feign.warehouse.warehouseinfo.WarehouseInfoQuery;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@ -29,7 +31,16 @@ public class WarehouseInfoRest {
@Autowired
SupplierInfoFeign supplierInfoFeign;
@ApiOperation("分页列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<WarehouseInfoVo>> listPage(@RequestBody PagerQuery<WarehouseInfoQuery> pq) {
return warehouseInfoFeign.listPage(pq);
}
@ApiOperation("保存修改")
@PostMapping("/saveOrUpdate")
public ResultBean<String> saveOrUpdate(@RequestBody WarehouseInfoDto dto) {
return warehouseInfoFeign.saveOrUpdate(dto);
}
@PostMapping("/list")
public ResultBean<List<ProjectDetailsVo>> list(@RequestBody WarehouseInfoMapQuery query) {
ResultBean rb =new ResultBean();

22
external/src/main/java/com/yxt/external/feign/privilege/PrivilegeQuery.java

@ -0,0 +1,22 @@
package com.yxt.external.feign.privilege;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description: 权限角色层级
* @author: dimengzhe
* @date: 2023/5/23
**/
@Data
public class PrivilegeQuery {
@ApiModelProperty("菜单路由")
private String menuUrl;
@ApiModelProperty("组织全路径sid")
private String orgPath;
@ApiModelProperty("菜单sid")
private String menuSid;
@ApiModelProperty("用户sid")
private String userSid;
}

21
external/src/main/java/com/yxt/external/feign/protal/sysuser/OrgList.java

@ -0,0 +1,21 @@
package com.yxt.external.feign.protal.sysuser;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/9/21 9:26
* @Description
*/
@Data
public class OrgList implements Vo {
private static final long serialVersionUID = -2867882982421321776L;
private String orgName;
private String orgPath;
private String deptName;
private String deptSid;
}

87
external/src/main/java/com/yxt/external/feign/protal/sysuser/SysOrganization.java

@ -0,0 +1,87 @@
package com.yxt.external.feign.protal.sysuser;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysOrganization.java <br/>
* Class: SysOrganization <br/>
* Description: 组织机构表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:28 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "组织机构表", description = "组织机构表")
@TableName("sys_organization")
@Data
public class SysOrganization extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("部门/组织名称")
private String name;
@ApiModelProperty("父(部门/组织) sid")
private String psid;
@ApiModelProperty("联系电话")
private String linkPhone;
@ApiModelProperty("联系人")
private String linkPerson;
@ApiModelProperty("部门sid全路径")
private String orgSidPath;
@ApiModelProperty("排序")
private Integer sort;
@ApiModelProperty("地址")
private String addrs;
@ApiModelProperty("地理位置经纬度")
private String jwd;
@ApiModelProperty("二维码")
private String qrText;
@ApiModelProperty("限制本部门成员查看通讯录:限制开启后,本部门成员只能看到限定范围内的通讯录不能看到所有通讯录,仅可见自己")
private Integer limitOrgMember;
@ApiModelProperty("部门编码")
private String orgCode;
// @ApiModelProperty("部门简称(地区简称+门店名称首字母(遇到首字母重复时用2个字母))")
// private String orgShortName;
@ApiModelProperty("销售区域划分(本店终端销售:0,门店对应业务区域划分销售:1至9,具体编号划分各门店报备确定)")
private String regionDivision;
@ApiModelProperty("是否是部门(0否,1是)")
private Integer isDept;
@ApiModelProperty("组织简称")
private String orgAbbre;
@ApiModelProperty("组织属性key")
private String orgAttributeKey;
@ApiModelProperty("组织属性value")
private String orgAttributeValue;
@ApiModelProperty("管理层级key")
private String orgLevelKey;
@ApiModelProperty("管理层级value")
private String orgLevelValue;
@ApiModelProperty("其他编码")
private String otherCode;
}

49
external/src/main/java/com/yxt/external/feign/protal/sysuser/SysStaffOrgVo.java

@ -0,0 +1,49 @@
package com.yxt.external.feign.protal.sysuser;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysStaffOrgVo.java <br/>
* Class: com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo <br/>
* Description: 员工部门关联表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "员工部门关联表 视图数据对象", description = "员工部门关联表 视图数据对象")
@Data
public class SysStaffOrgVo implements Vo {
@ApiModelProperty("部门sid")
private String orgSid;
@ApiModelProperty("部门名称")
private String orgName;
@ApiModelProperty("人员sid")
private String staffSid;
// @ApiModelProperty("部门路径")
// private String orgSidPath;
//
// @ApiModelProperty("部门名称路径")
// private String orgNamePath;
@ApiModelProperty("管理类型:1、主管。2、分管。3、员工")
private String manageType;
@ApiModelProperty("员工姓名")
private String staffName;
@ApiModelProperty("员工手机号")
private String mobile;
private String type="2";
}

73
external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUser.java

@ -0,0 +1,73 @@
package com.yxt.external.feign.protal.sysuser;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysUser.java <br/>
* Class: com.yxt.anrui.portal.api.sysuser.SysUser <br/>
* Description: 用户表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "用户表", description = "用户表")
@TableName("sys_user")
@Data
public class SysUser extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("登录名,登录名不能相同")
private String userName;
@ApiModelProperty("密码(加密或签名后)")
private String password;
@ApiModelProperty("密码修改时限")
private String pwdDayslimit;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("最后一次密码修改时间")
private Date pwdModifyTime;
@ApiModelProperty("在线状态(0为离线、1为在线)")
private Integer onlineState;
@ApiModelProperty("用户登录时随机生成身份验证字符串")
private String token;
@ApiModelProperty("是否是管理员:1管理员,2一般用户,0是超级管理员,3尚无单位人员")
private String isAdmin;
@ApiModelProperty("手机登录唯一标识,手机与用户绑定字段")
private String appId;
@ApiModelProperty("关联的人员sid")
private String staffSid;
@ApiModelProperty("手机号")
private String mobile;
@ApiModelProperty("用户类型:1员工、2客户、3供应商")
private Integer userType;
@ApiModelProperty("用户头像")
private String headImage;
@TableField(exist = false)
private String orgSid;
private String accountType;////账号类型 1单位管理员,2操作员,0是平台管理员 3非登录账户‘
}

48
external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserDto.java

@ -0,0 +1,48 @@
package com.yxt.external.feign.protal.sysuser;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysUserDto.java <br/>
* Class: com.yxt.anrui.portal.api.sysuser.SysUserDto <br/>
* Description: 用户表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "用户表 数据传输对象", description = "用户表 数据传输对象")
@Data
public class SysUserDto implements Dto {
@ApiModelProperty("手机号")
private String mobile;
@ApiModelProperty("用户类型:1员工、2客户、3供应商")
private Integer userType;
@ApiModelProperty(value = "姓名", required = true)
@NotBlank(message = "姓名不能为空")
private String name;
@ApiModelProperty(value = "验证码", required = true)
@NotBlank(message = "验证码不能为空")
private String code;
@ApiModelProperty(value = "部门sid")
private String deptSid;
@ApiModelProperty(value = "岗位sid")
private String postSid;
private String companyName;//公司名
private String contacts;//联系人
private String address;//省/市/区
private String userSid;
private String password;
private String orgSid;
private String sourceSid;
}

103
external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserFeign.java

@ -0,0 +1,103 @@
package com.yxt.external.feign.protal.sysuser;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.external.feign.privilege.PrivilegeQuery;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
* @description:
* @author: wangpengfei
* @date: 2024/4/12
**/
@FeignClient(
contextId = "ss-common-portal-SysUser",
name = "ss-common-portal",
path = "/apiadmin/sysuser",
fallback = SysUserFeignFallback.class)
public interface SysUserFeign {
@PostMapping("/login")
@ResponseBody
@ApiOperation(value = "3、登录")
@ApiOperationSupport(order = 30)
public ResultBean<SysUserVo> login(@RequestBody SysUserQuery userQuery);
@PostMapping("/register")
@ResponseBody
@ApiOperation(value = "3、注册")
@ApiOperationSupport(order = 30)
public ResultBean register(@RequestBody SysUserDto dto);
@PostMapping("/loginDetails")
@ResponseBody
@ApiOperation(value = "获取登录人")
@ApiOperationSupport(order = 30)
public ResultBean<SysUserVo> loginDetails(HttpServletRequest httpServletRequest);
@PostMapping("/sendMessageCode")
@ResponseBody
@ApiOperation(value = "3、获取注册码")
@ApiOperationSupport(order = 30)
public ResultBean sendMessageCode(@RequestParam("mobile") String mobile);
@PostMapping("/sendMessageLogin")
@ResponseBody
@ApiOperation(value = "3、获取登录码")
@ApiOperationSupport(order = 30)
public ResultBean sendMessageLogin(@RequestParam("mobile") String mobile);
@PostMapping("/sendMessageUpdate")
@ResponseBody
@ApiOperation(value = "3、获取登录码")
@ApiOperationSupport(order = 30)
public ResultBean sendMessageUpdate(@RequestParam("mobile") String mobile);
@ApiOperation("根据条件分页查询数据的列表 ")
@PostMapping("/listPage")
public ResultBean<PagerVo<SysUserVo>> listPage(@RequestBody PagerQuery<SysUserQuery> pq);
@PostMapping("/bindOrganization")
@ResponseBody
@ApiOperation(value = "绑定组织")
@ApiOperationSupport(order = 30)
public ResultBean bindOrganization(@RequestBody SysUserDto dto);
@PostMapping("/selOrganization")
@ResponseBody
@ApiOperation(value = "选择所登录的组织")
@ApiOperationSupport(order = 30)
public ResultBean selOrganization(@RequestBody SysUserDto dto);
@PostMapping("/setIsEnable/{sid}/{isEnable}")
@ResponseBody
@ApiOperation(value = "设置是否可用:isEnable:1可用,0不可用")
public ResultBean setIsEnable(@ApiParam(value = "sid", required = true) @PathVariable("sid") String sid, @ApiParam(value = "isEnable", required = true) @PathVariable("isEnable") String isEnable);
@ApiOperation(value = "查询角色权限的层级获取权限id")
@PostMapping(value = "/selectPrivilegeLevel")
ResultBean<String> selectPrivilegeLevel(@RequestBody PrivilegeQuery query);
@ApiOperation("根据sid获取一条记录")
@GetMapping("/fetchBySid/{sid}")
public ResultBean<SysUserVo> fetchBySid(@PathVariable("sid") String sid);
@ResponseBody
@PostMapping("/initPwd/{sid}")
@ApiOperation(value = "10、用户初始化密码")
@ApiOperationSupport(order = 100)
public ResultBean initPwd(@ApiParam(value = "用户sid", required = true) @PathVariable("sid") String sid);
@ApiOperation("删除记录根据sid")
@GetMapping("/delBySid/{sid}")
public ResultBean delBySid(@PathVariable("sid") String sid);
@ApiOperation("根据sid查询用户信息")
@PostMapping("/selectBySid")
public ResultBean<SysUser> selectBySid(@RequestParam("sid") String sid);
@ApiOperation("根据staffsid查询用户")
@ResponseBody
@GetMapping("/selectByStaffsid/{staffsid}")
public ResultBean<SysUserVo> selectByStaffsid(@PathVariable("staffsid") String staffsid);
}

102
external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserFeignFallback.java

@ -0,0 +1,102 @@
package com.yxt.external.feign.protal.sysuser;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.external.feign.privilege.PrivilegeQuery;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
/**
* @description:
* @author: dimengzhe
* @date: 2024/3/20
**/
@Component
public class SysUserFeignFallback implements SysUserFeign {
@Override
public ResultBean<SysUserVo> login(SysUserQuery userQuery) {
return null;
}
@Override
public ResultBean register(SysUserDto dto) {
return null;
}
@Override
public ResultBean<SysUserVo> loginDetails(HttpServletRequest httpServletRequest) {
return null;
}
@Override
public ResultBean sendMessageCode(String mobile) {
return null;
}
@Override
public ResultBean sendMessageLogin(String mobile) {
return null;
}
@Override
public ResultBean sendMessageUpdate(String mobile) {
return null;
}
@Override
public ResultBean<PagerVo<SysUserVo>> listPage(PagerQuery<SysUserQuery> pq) {
return null;
}
@Override
public ResultBean bindOrganization(SysUserDto dto) {
return null;
}
@Override
public ResultBean selOrganization(SysUserDto dto) {
return null;
}
@Override
public ResultBean setIsEnable(String sid, String isEnable) {
return null;
}
@Override
public ResultBean<String> selectPrivilegeLevel(PrivilegeQuery query) {
return null;
}
@Override
public ResultBean<SysUserVo> fetchBySid(String sid) {
return null;
}
@Override
public ResultBean initPwd(String sid) {
return null;
}
@Override
public ResultBean delBySid(String sid) {
return null;
}
@Override
public ResultBean<SysUser> selectBySid(String sid) {
return null;
}
@Override
public ResultBean<SysUserVo> selectByStaffsid(String staffsid) {
return null;
}
}

58
external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserQuery.java

@ -0,0 +1,58 @@
package com.yxt.external.feign.protal.sysuser;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysUserQuery.java <br/>
* Class: com.yxt.anrui.portal.api.sysuser.SysUserQuery <br/>
* Description: 用户表 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "用户表 查询条件", description = "用户表 查询条件")
@Data
public class SysUserQuery implements Query {
@ApiModelProperty("角色sid")
private String roleSid;
@ApiModelProperty("用户名称")
private String userName;
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("部门名称")
private String orgName;
@ApiModelProperty("密码(加密或签名后)")
private String password;
@ApiModelProperty("用户登录时随机生成身份验证字符串")
private String token;
@ApiModelProperty("用户登录时随机生成的验证码字符串")
private String verifyCode;
private String uuid;
@ApiModelProperty("手机登录唯一标识,手机与用户绑定字段")
private String appId;
@ApiModelProperty("手机登录类型:1、密码登录2、验证码登录")
private String type;
@ApiModelProperty(value = "是否是测试",example = "false")
private Boolean isTest;
private String companyName;//公司名
private String contacts;//联系人
private String provinces;//省
private String cities;//市
private String districts;//区
private String orgSid;//组织
private String sourceSid;//资源
}

108
external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserVo.java

@ -0,0 +1,108 @@
package com.yxt.external.feign.protal.sysuser;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysUserVo.java <br/>
* Class: com.yxt.anrui.portal.api.sysuser.SysUserVo <br/>
* Description: 用户表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "用户表 视图数据对象", description = "用户表 视图数据对象")
@Data
@NoArgsConstructor
public class SysUserVo implements Vo {
private static final long serialVersionUID = 2415131854581950721L;
@ApiModelProperty("部门sid")
private String departmentSid;
@ApiModelProperty("部门名称")
private String departmentName;
@ApiModelProperty("上级部门名称-本级部门名称 岗位名称")
@JsonProperty("pNameAndDepartmentNameAndPostName")
private String pNameAndDepartmentNameAndPostName;
@ApiModelProperty("岗位名称")
private String postName;
@ApiModelProperty("岗位Sid")
private String postSid;
@ApiModelProperty("单位sid")
private String organizationSid;
@ApiModelProperty("单位名称")
private String organizationName;
@ApiModelProperty("用户姓名")
private String name;
@ApiModelProperty("登录名,登录名不能相同")
private String userName;
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("用户sid")
private String sid;
@ApiModelProperty("是否是管理员:1管理员,2一般用户,0是超级管理员,3尚无单位人员")
private String isAdmin;
@ApiModelProperty("角色名称")
private String roleName;
@ApiModelProperty("关联的人员sid")
private String staffSid;
@ApiModelProperty("手机号")
private String mobile;
@ApiModelProperty(value = "禁用状态")
private String isEnable;
@ApiModelProperty("用户类型:1员工、2客户、3供应商")
private String userType;
@ApiModelProperty("用户类型:1、2、3")
private String userTypeValue;
@ApiModelProperty("用户头像")
private String headImage;
@ApiModelProperty("组织名称")
private String orgNamePath;
@ApiModelProperty("组织sid")
private String orgSidPath;
@ApiModelProperty(value = "token")
private String token;
@ApiModelProperty(value = "角色sids")
private List<String> roleSids = new ArrayList<>();
private List<OrgList> orgList = new ArrayList<>();
@ApiModelProperty("默认的组织机构sid全路径")
private String defaultOrgPath;
@ApiModelProperty("默认的组织机构名称全路径")
private String defaultOrgPathName;
private String defaultDeptName;
private String defaultDeptSid;
@ApiModelProperty("是否需要更换密码")
private Boolean needResetPsd;
@ApiModelProperty("工号")
private String jobNumber;
List<SysOrganization> sysOrganizations;
List<SysStaffOrgVo> sysOrganizationVos;
private String orgSid;
private String orgName;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date createTime;
private String roles;//角色 ,分割
private String accountType;
private String accountTypeValue;
}

3
external/src/main/java/com/yxt/external/feign/sales/smssalesbill/SmsSalesBillFeign.java

@ -24,4 +24,7 @@ public interface SmsSalesBillFeign {
@ApiOperation("新增销售单(对外)")
@PostMapping("/saveSales")
public ResultBean saveSales(@RequestBody SmsSalesBillDto dto);
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<SmsSalesBillVo>> listPage(@RequestBody PagerQuery<SmsSalesBillQuery> pq);
}

77
external/src/main/java/com/yxt/external/feign/sales/smssalesbill/SmsSalesBillQuery.java

@ -0,0 +1,77 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.external.feign.sales.smssalesbill;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: ss-sales(ss-sales) <br/>
* File: SmsSalesBillQuery.java <br/>
* Class: com.yxt.sales.apiadmin.api.smssalesbill.SmsSalesBillQuery <br/>
* Description: 销售订单 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-04 15:18:10 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "销售订单 查询条件", description = "销售订单 查询条件")
public class SmsSalesBillQuery implements Query {
@ApiModelProperty("制单人姓名")
private String createByName; // 制单人姓名
@ApiModelProperty("制单部门")
private String deptName; // 制单部门
@ApiModelProperty("单据编号")
private String billNo; // 单据编号
@ApiModelProperty("制单开始日期")
private String startDate; // 制单开始日期
@ApiModelProperty("制单结束日期")
private String endDate; // 制单结束日期
@ApiModelProperty("销售姓名")
private String salesName; // 销售姓名
@ApiModelProperty("单据类型key(线下订单/预售订单等)")
private String billTypeKey; // 单据类型key(线下订单/预售订单等)
@ApiModelProperty("配送方式")
private String deliveryTypeKey; // 配送方式
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("仓库名称")
private String warehouseName; // 仓库名称
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("审核状态")
private String state; // 审核状态
}

81
external/src/main/java/com/yxt/external/feign/sales/smssalesbill/SmsSalesBillVo.java

@ -0,0 +1,81 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.external.feign.sales.smssalesbill;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: ss-sales(ss-sales) <br/>
* File: SmsSalesBillVo.java <br/>
* Class: com.yxt.sales.apiadmin.api.smssalesbill.SmsSalesBillVo <br/>
* Description: 销售订单 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-04 15:18:10 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "销售订单 视图数据对象", description = "销售订单 视图数据对象")
public class SmsSalesBillVo implements Vo {
private String sid; // sid
@ApiModelProperty("单据类型value")
private String billTypeValue; // 单据类型value
@ApiModelProperty("制单日期")
private String createTime; // 制单日期
@ApiModelProperty("单据编号")
private String billNo; // 单据编号
@ApiModelProperty("店铺名称")
private String shopName; // 店铺名称
@ApiModelProperty("仓库名称")
private String warehouseName; // 仓库名称
@ApiModelProperty("配送方式Value")
private String deliveryTypeValue; // 配送方式Value
@ApiModelProperty("快递公司")
private String logisticsName; // 快递公司
@ApiModelProperty("业务员")
private String salesName; // 业务员
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("收货人")
private String shipperName; // 收货人
@ApiModelProperty("手机号")
private String shipperMob; // 手机号
@ApiModelProperty("省/市/县/详细地址")
private String deliveryAddress; // 省/市/县/详细地址
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("审核状态")
private String state; // 审核状态
}

27
external/src/main/java/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseExtendDto.java

@ -0,0 +1,27 @@
package com.yxt.external.feign.warehouse.warehouseinfo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.dto.Dto;
import lombok.Data;
import java.util.Date;
/**
* @author wangpengfei
* @date 2024/2/26 13:38
*/
@Data
public class WarehouseExtendDto implements Dto {
private String id;
private String sid;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
private String remarks;
private String isEnable;
private String warehouseSid;//仓库sid
private Integer markupRate1;//加价率1
private Integer markupRate2;//加价率2
private Integer markupRate3;//加价率3
private Integer markupRate4;//加价率4
private Integer markupRate5;//加价率5
}

50
external/src/main/java/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseInfoDto.java

@ -0,0 +1,50 @@
package com.yxt.external.feign.warehouse.warehouseinfo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.dto.Dto;
import lombok.Data;
import java.util.Date;
/**
* @author wangpengfei
* @date 2024/2/26 13:38
*/
@Data
public class WarehouseInfoDto implements Dto {
private String id;
private String sid;
private String lockVersion;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date modifyTime;
private String remarks;
private Integer isEnable;
private Integer state;
private Integer isDelete;
private String warehouseName;//仓库名称
private String warehouseCode;//仓库编码
private String contacts;//联系人
private String mob;//手机
private String telephone;//联系电话
private String manager;//主管
private String areaSid;//地区sid
private String address;//地址
private String belongingPlace;//归属地
private String lngAndLat;//经纬度
private String longitude;//经度
private String latitude;//纬度
private String warehouseTypeKey;//仓库类型Key
private String warehouseTypeValue;//仓库类型value
private Integer usageStatus;//使用状态,0停用 1正常
private String squareMeter;//平方米
private Integer sortNo;//排序
private String useOrgSid;//创建组织sid
private String createOrgSid;//创建组织sid
// private List<WmsWarehouseExtendDto> wmsWarehouseExtendDtos;
private WarehouseExtendDto wmsWarehouseExtendDto;
private String userSid; //登录用户sid
private String orgPath; //组织全路径
}

7
external/src/main/java/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseInfoFeign.java

@ -17,7 +17,12 @@ import java.util.List;
name = "ss-common-warehouse",
path = "/apiadmin/warehouseinfo")
public interface WarehouseInfoFeign {
@ApiOperation("分页列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<WarehouseInfoVo>> listPage(@RequestBody PagerQuery<WarehouseInfoQuery> pq);
@ApiOperation("保存修改")
@PostMapping("/saveOrUpdate")
public ResultBean<String> saveOrUpdate(@RequestBody WarehouseInfoDto dto);
@PostMapping("/list")
public ResultBean<List<ProjectDetailsVo>> list(@RequestBody WarehouseInfoMapQuery query);
@GetMapping("/getWarehouseBySid/{sid}")

25
external/src/main/java/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseInfoQuery.java

@ -0,0 +1,25 @@
package com.yxt.external.feign.warehouse.warehouseinfo;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author wangpengfei
* @date 2024/2/26 13:37
*/
@Data
public class WarehouseInfoQuery implements Query {
private String name;
private String code;
private String address;
private String orgLevelKey;//权限等级
@ApiModelProperty("菜单路由")
private String menuUrl;
@ApiModelProperty("组织全路径sid")
private String orgPath;
@ApiModelProperty("用户sid")
private String userSid;
private int index;
}

BIN
external/target/classes/com/yxt/external/apiadmin/aggregation/PurchaseBillRest.class

Binary file not shown.

BIN
external/target/classes/com/yxt/external/apiadmin/aggregation/SmsSalesBillRest.class

Binary file not shown.

BIN
external/target/classes/com/yxt/external/apiadmin/aggregation/WarehouseInfoRest.class

Binary file not shown.

BIN
external/target/classes/com/yxt/external/feign/sales/smssalesbill/SmsSalesBillFeign.class

Binary file not shown.

BIN
external/target/classes/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseInfoFeign.class

Binary file not shown.

19
externalgateway/pom.xml

@ -71,6 +71,25 @@
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
</dependency>
</dependencies>
<build>

3
externalgateway/src/main/java/com/yxt/external/GatewayApiApplication.java

@ -4,14 +4,17 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
/**
* @description:
* @author: dimengzhe
* @date: 2024/12/6
**/
@EnableDiscoveryClient
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@EnableFeignClients
public class GatewayApiApplication {
public static void main(String[] args) {

58
externalgateway/src/main/java/com/yxt/external/Signature.java

@ -1,14 +1,28 @@
package com.yxt.external;
//import com.yxt.external.feign.protal.organizationappkey.OrganizationAppKey;
//import com.yxt.external.feign.protal.organizationappkey.OrganizationAppKeyFeign;
import com.yxt.external.feign.protal.organizationappkey.OrganizationAppKey;
import com.yxt.external.feign.protal.organizationappkey.OrganizationAppKeyFeign;
import com.yxt.external.utils.AppKeyConfig;
import com.yxt.external.utils.ResultBean;
import com.yxt.external.utils.SignatureUtil;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.context.annotation.Bean;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.time.Instant;
import java.util.Date;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @description:系统参数和签名校验
@ -17,14 +31,25 @@ import java.util.Map;
**/
//@RestController
//@RequestMapping("/signature")
@Component
//@Component
@Service
public class Signature {
@Autowired
private AppKeyConfig appKeyConfig;
OrganizationAppKeyFeign organizationAppKeyFeign;
@Bean
@ConditionalOnMissingBean
public HttpMessageConverters messageConverters(ObjectProvider<HttpMessageConverter<?>> converters) {
return new HttpMessageConverters(converters.orderedStream().collect(Collectors.toList()));
}
public String getSecret(String appKey) {
return appKeyConfig.getKeys().get(appKey);
ResultBean<OrganizationAppKey> organizationAppKeyResultBean = organizationAppKeyFeign.checkByAppKey(appKey);
OrganizationAppKey data = organizationAppKeyResultBean.getData();
if(!organizationAppKeyResultBean.getCode().equals("200")){
return "";
}
return data.getSecret();
// return "";
}
//验证
@ -70,6 +95,27 @@ public class Signature {
}
public static void main(String[] args) throws NoSuchAlgorithmException {
String secret="af3489cc";
long time = new Date().getTime();
String a="_app=63d9351bc400&_t="+time/1000+"&orgSid=1";
String b =secret+a+secret;
String s = md5(b);
System.out.println(s);
}
/**
* MD5加密
*
* @param content 要计算 MD5 的字符串
* @return MD5
*/
private static String md5(String content) throws NoSuchAlgorithmException {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] bytes = md.digest(content.getBytes());
StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
sb.append(String.format("%02x", b));
}
return sb.toString();
}
}

4
externalgateway/src/main/java/com/yxt/external/feign/package-info.java

@ -0,0 +1,4 @@
/**
* 宇信通监管项目-光伏山海新能源项目后台逻辑和接口-接口声明
*/
package com.yxt.external.feign;

15
externalgateway/src/main/java/com/yxt/external/feign/protal/organizationappkey/OrganizationAppKey.java

@ -0,0 +1,15 @@
package com.yxt.external.feign.protal.organizationappkey;
import lombok.Data;
/**
* @author wangpengfei
* @date 2025/1/21 11:19
*/
@Data
public class OrganizationAppKey {
private String orgSid;
private String appKey;
private String secret;
}

14
externalgateway/src/main/java/com/yxt/external/feign/protal/organizationappkey/OrganizationAppKeyDto.java

@ -0,0 +1,14 @@
package com.yxt.external.feign.protal.organizationappkey;
import lombok.Data;
/**
* @author wangpengfei
* @date 2025/1/21 11:19
*/
@Data
public class OrganizationAppKeyDto {
private String orgSid;
private String appKey;
private String secret;
}

34
externalgateway/src/main/java/com/yxt/external/feign/protal/organizationappkey/OrganizationAppKeyFeign.java

@ -0,0 +1,34 @@
package com.yxt.external.feign.protal.organizationappkey;
import com.yxt.external.utils.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
@Api(tags = "组织appkey申请")
@FeignClient(
contextId = "ss-common-portal-OrganizationAppKey",
name = "ss-common-portal",
path = "/apiadmin/organizationappkey")
public interface OrganizationAppKeyFeign {
/**
* 申请appkey
*
* @return 申请appkey
*/
@ApiOperation("申请appkey")
@ResponseBody
@PostMapping("/saveAppKey")
public ResultBean saveAppKey(@RequestBody OrganizationAppKeyDto dto);
@ApiOperation("根据组织查询appeky")
@ResponseBody
@GetMapping("/initialization/{orgSid}")
public ResultBean initialization(@PathVariable("orgSid") String orgSid);
@ApiOperation("校验是否存在")
@ResponseBody
@GetMapping("/checkByAppKey/{appKey}")
public ResultBean<OrganizationAppKey> checkByAppKey(@PathVariable("appKey") String appKey);
}

2
externalgateway/src/main/resources/application.yml

@ -31,4 +31,4 @@ ignore:
whitesTwo: #包含所有
- /upload/**
- /external/apiadmin/supplierinfo/getSupplierCountByOrgSid/**
# - /external/apiadmin/supplierinfo/getSupplierCountByOrgSid**

2
externalgateway/target/classes/application.yml

@ -31,4 +31,4 @@ ignore:
whitesTwo: #包含所有
- /upload/**
- /external/apiadmin/supplierinfo/getSupplierCountByOrgSid/**
# - /external/apiadmin/supplierinfo/getSupplierCountByOrgSid**

BIN
externalgateway/target/classes/com/yxt/external/GatewayApiApplication.class

Binary file not shown.

BIN
externalgateway/target/classes/com/yxt/external/Signature.class

Binary file not shown.
Loading…
Cancel
Save