diff --git a/external/src/main/java/com/yxt/external/apiadmin/aggregation/PurchaseBillRest.java b/external/src/main/java/com/yxt/external/apiadmin/aggregation/PurchaseBillRest.java index f4ccc41..f764819 100644 --- a/external/src/main/java/com/yxt/external/apiadmin/aggregation/PurchaseBillRest.java +++ b/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> listPage(@RequestBody PagerQuery pq){ return purchaseBillFeign.listPage(pq); } + + public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException { + String secret="secret"; + Map parameters=new HashMap<>(); + parameters.put("_app","appKey4"); + parameters.put("_t","1672213377"); + Map 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 tree) throws UnsupportedEncodingException { + StringBuilder builder = new StringBuilder(); + for (Map.Entry 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(); + } } diff --git a/external/src/main/java/com/yxt/external/apiadmin/aggregation/SmsSalesBillRest.java b/external/src/main/java/com/yxt/external/apiadmin/aggregation/SmsSalesBillRest.java index 918542b..9514db2 100644 --- a/external/src/main/java/com/yxt/external/apiadmin/aggregation/SmsSalesBillRest.java +++ b/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> listPage(@RequestBody PagerQuery pq) { + return smsSalesBillFeign.listPage(pq); + } } diff --git a/external/src/main/java/com/yxt/external/apiadmin/aggregation/SysUserRest.java b/external/src/main/java/com/yxt/external/apiadmin/aggregation/SysUserRest.java new file mode 100644 index 0000000..35fb982 --- /dev/null +++ b/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 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); + }; +} diff --git a/external/src/main/java/com/yxt/external/apiadmin/aggregation/WarehouseInfoRest.java b/external/src/main/java/com/yxt/external/apiadmin/aggregation/WarehouseInfoRest.java index 6637fd8..357d048 100644 --- a/external/src/main/java/com/yxt/external/apiadmin/aggregation/WarehouseInfoRest.java +++ b/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> listPage(@RequestBody PagerQuery pq) { + return warehouseInfoFeign.listPage(pq); + } + @ApiOperation("保存修改") + @PostMapping("/saveOrUpdate") + public ResultBean saveOrUpdate(@RequestBody WarehouseInfoDto dto) { + return warehouseInfoFeign.saveOrUpdate(dto); + } @PostMapping("/list") public ResultBean> list(@RequestBody WarehouseInfoMapQuery query) { ResultBean rb =new ResultBean(); diff --git a/external/src/main/java/com/yxt/external/feign/privilege/PrivilegeQuery.java b/external/src/main/java/com/yxt/external/feign/privilege/PrivilegeQuery.java new file mode 100644 index 0000000..f10ea1e --- /dev/null +++ b/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; +} diff --git a/external/src/main/java/com/yxt/external/feign/protal/sysuser/OrgList.java b/external/src/main/java/com/yxt/external/feign/protal/sysuser/OrgList.java new file mode 100644 index 0000000..84166e3 --- /dev/null +++ b/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; +} diff --git a/external/src/main/java/com/yxt/external/feign/protal/sysuser/SysOrganization.java b/external/src/main/java/com/yxt/external/feign/protal/sysuser/SysOrganization.java new file mode 100644 index 0000000..1e1695d --- /dev/null +++ b/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(门户建设)
+ * File: SysOrganization.java
+ * Class: SysOrganization
+ * Description: 组织机构表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @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; +} diff --git a/external/src/main/java/com/yxt/external/feign/protal/sysuser/SysStaffOrgVo.java b/external/src/main/java/com/yxt/external/feign/protal/sysuser/SysStaffOrgVo.java new file mode 100644 index 0000000..c241894 --- /dev/null +++ b/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(门户建设)
+ * File: SysStaffOrgVo.java
+ * Class: com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo
+ * Description: 员工部门关联表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @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"; +} diff --git a/external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUser.java b/external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUser.java new file mode 100644 index 0000000..afdc370 --- /dev/null +++ b/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(门户建设)
+ * File: SysUser.java
+ * Class: com.yxt.anrui.portal.api.sysuser.SysUser
+ * Description: 用户表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @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非登录账户‘ + +} diff --git a/external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserDto.java b/external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserDto.java new file mode 100644 index 0000000..d51256e --- /dev/null +++ b/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(门户建设)
+ * File: SysUserDto.java
+ * Class: com.yxt.anrui.portal.api.sysuser.SysUserDto
+ * Description: 用户表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @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; +} \ No newline at end of file diff --git a/external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserFeign.java b/external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserFeign.java new file mode 100644 index 0000000..4424404 --- /dev/null +++ b/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 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 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> listPage(@RequestBody PagerQuery 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 selectPrivilegeLevel(@RequestBody PrivilegeQuery query); + + @ApiOperation("根据sid获取一条记录") + @GetMapping("/fetchBySid/{sid}") + public ResultBean 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 selectBySid(@RequestParam("sid") String sid); + + + @ApiOperation("根据staffsid查询用户") + @ResponseBody + @GetMapping("/selectByStaffsid/{staffsid}") + public ResultBean selectByStaffsid(@PathVariable("staffsid") String staffsid); +} diff --git a/external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserFeignFallback.java b/external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserFeignFallback.java new file mode 100644 index 0000000..949c7c5 --- /dev/null +++ b/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 login(SysUserQuery userQuery) { + return null; + } + + @Override + public ResultBean register(SysUserDto dto) { + return null; + } + + @Override + public ResultBean 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> listPage(PagerQuery 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 selectPrivilegeLevel(PrivilegeQuery query) { + return null; + } + + @Override + public ResultBean fetchBySid(String sid) { + return null; + } + + @Override + public ResultBean initPwd(String sid) { + return null; + } + + @Override + public ResultBean delBySid(String sid) { + return null; + } + + @Override + public ResultBean selectBySid(String sid) { + return null; + } + + @Override + public ResultBean selectByStaffsid(String staffsid) { + return null; + } +} diff --git a/external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserQuery.java b/external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserQuery.java new file mode 100644 index 0000000..48ab06c --- /dev/null +++ b/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(门户建设)
+ * File: SysUserQuery.java
+ * Class: com.yxt.anrui.portal.api.sysuser.SysUserQuery
+ * Description: 用户表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @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;//资源 +} \ No newline at end of file diff --git a/external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserVo.java b/external/src/main/java/com/yxt/external/feign/protal/sysuser/SysUserVo.java new file mode 100644 index 0000000..bd65e30 --- /dev/null +++ b/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(门户建设)
+ * File: SysUserVo.java
+ * Class: com.yxt.anrui.portal.api.sysuser.SysUserVo
+ * Description: 用户表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @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 roleSids = new ArrayList<>(); + + private List 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 sysOrganizations; + List 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; +} diff --git a/external/src/main/java/com/yxt/external/feign/sales/smssalesbill/SmsSalesBillFeign.java b/external/src/main/java/com/yxt/external/feign/sales/smssalesbill/SmsSalesBillFeign.java index 6c9d7e9..64c916c 100644 --- a/external/src/main/java/com/yxt/external/feign/sales/smssalesbill/SmsSalesBillFeign.java +++ b/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> listPage(@RequestBody PagerQuery pq); } diff --git a/external/src/main/java/com/yxt/external/feign/sales/smssalesbill/SmsSalesBillQuery.java b/external/src/main/java/com/yxt/external/feign/sales/smssalesbill/SmsSalesBillQuery.java new file mode 100644 index 0000000..d484e09 --- /dev/null +++ b/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)
+ * File: SmsSalesBillQuery.java
+ * Class: com.yxt.sales.apiadmin.api.smssalesbill.SmsSalesBillQuery
+ * Description: 销售订单 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-04 15:18:10
+ * + * @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; // 审核状态 +} diff --git a/external/src/main/java/com/yxt/external/feign/sales/smssalesbill/SmsSalesBillVo.java b/external/src/main/java/com/yxt/external/feign/sales/smssalesbill/SmsSalesBillVo.java new file mode 100644 index 0000000..f767a85 --- /dev/null +++ b/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)
+ * File: SmsSalesBillVo.java
+ * Class: com.yxt.sales.apiadmin.api.smssalesbill.SmsSalesBillVo
+ * Description: 销售订单 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-04 15:18:10
+ * + * @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; // 审核状态 + +} diff --git a/external/src/main/java/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseExtendDto.java b/external/src/main/java/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseExtendDto.java new file mode 100644 index 0000000..60d2f92 --- /dev/null +++ b/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 +} diff --git a/external/src/main/java/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseInfoDto.java b/external/src/main/java/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseInfoDto.java new file mode 100644 index 0000000..b1ce00a --- /dev/null +++ b/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 wmsWarehouseExtendDtos; + private WarehouseExtendDto wmsWarehouseExtendDto; + private String userSid; //登录用户sid + private String orgPath; //组织全路径 +} diff --git a/external/src/main/java/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseInfoFeign.java b/external/src/main/java/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseInfoFeign.java index 35f038c..f237d47 100644 --- a/external/src/main/java/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseInfoFeign.java +++ b/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> listPage(@RequestBody PagerQuery pq); + @ApiOperation("保存修改") + @PostMapping("/saveOrUpdate") + public ResultBean saveOrUpdate(@RequestBody WarehouseInfoDto dto); @PostMapping("/list") public ResultBean> list(@RequestBody WarehouseInfoMapQuery query); @GetMapping("/getWarehouseBySid/{sid}") diff --git a/external/src/main/java/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseInfoQuery.java b/external/src/main/java/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseInfoQuery.java new file mode 100644 index 0000000..d2ff984 --- /dev/null +++ b/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; + +} diff --git a/external/target/classes/com/yxt/external/apiadmin/aggregation/PurchaseBillRest.class b/external/target/classes/com/yxt/external/apiadmin/aggregation/PurchaseBillRest.class index 5898f47..00570ea 100644 Binary files a/external/target/classes/com/yxt/external/apiadmin/aggregation/PurchaseBillRest.class and b/external/target/classes/com/yxt/external/apiadmin/aggregation/PurchaseBillRest.class differ diff --git a/external/target/classes/com/yxt/external/apiadmin/aggregation/SmsSalesBillRest.class b/external/target/classes/com/yxt/external/apiadmin/aggregation/SmsSalesBillRest.class index 9120242..d005afb 100644 Binary files a/external/target/classes/com/yxt/external/apiadmin/aggregation/SmsSalesBillRest.class and b/external/target/classes/com/yxt/external/apiadmin/aggregation/SmsSalesBillRest.class differ diff --git a/external/target/classes/com/yxt/external/apiadmin/aggregation/WarehouseInfoRest.class b/external/target/classes/com/yxt/external/apiadmin/aggregation/WarehouseInfoRest.class index ac7c692..a6fc12f 100644 Binary files a/external/target/classes/com/yxt/external/apiadmin/aggregation/WarehouseInfoRest.class and b/external/target/classes/com/yxt/external/apiadmin/aggregation/WarehouseInfoRest.class differ diff --git a/external/target/classes/com/yxt/external/feign/sales/smssalesbill/SmsSalesBillFeign.class b/external/target/classes/com/yxt/external/feign/sales/smssalesbill/SmsSalesBillFeign.class index 3b33993..44e41d6 100644 Binary files a/external/target/classes/com/yxt/external/feign/sales/smssalesbill/SmsSalesBillFeign.class and b/external/target/classes/com/yxt/external/feign/sales/smssalesbill/SmsSalesBillFeign.class differ diff --git a/external/target/classes/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseInfoFeign.class b/external/target/classes/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseInfoFeign.class index 44ab6f0..fe3fe7e 100644 Binary files a/external/target/classes/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseInfoFeign.class and b/external/target/classes/com/yxt/external/feign/warehouse/warehouseinfo/WarehouseInfoFeign.class differ diff --git a/externalgateway/pom.xml b/externalgateway/pom.xml index e416929..4f24997 100644 --- a/externalgateway/pom.xml +++ b/externalgateway/pom.xml @@ -71,6 +71,25 @@ + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + io.springfox + springfox-swagger2 + 2.9.2 + + + io.springfox + springfox-swagger-ui + 2.8.0 + + diff --git a/externalgateway/src/main/java/com/yxt/external/GatewayApiApplication.java b/externalgateway/src/main/java/com/yxt/external/GatewayApiApplication.java index 27c98d6..430844f 100644 --- a/externalgateway/src/main/java/com/yxt/external/GatewayApiApplication.java +++ b/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) { diff --git a/externalgateway/src/main/java/com/yxt/external/Signature.java b/externalgateway/src/main/java/com/yxt/external/Signature.java index 6a143fe..2aa47fb 100644 --- a/externalgateway/src/main/java/com/yxt/external/Signature.java +++ b/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> converters) { + return new HttpMessageConverters(converters.orderedStream().collect(Collectors.toList())); + } public String getSecret(String appKey) { - return appKeyConfig.getKeys().get(appKey); + ResultBean 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(); + } } diff --git a/externalgateway/src/main/java/com/yxt/external/feign/package-info.java b/externalgateway/src/main/java/com/yxt/external/feign/package-info.java new file mode 100644 index 0000000..2e3320c --- /dev/null +++ b/externalgateway/src/main/java/com/yxt/external/feign/package-info.java @@ -0,0 +1,4 @@ +/** + * 宇信通监管项目-光伏(山海新能源)项目后台逻辑和接口-接口声明 + */ +package com.yxt.external.feign; \ No newline at end of file diff --git a/externalgateway/src/main/java/com/yxt/external/feign/protal/organizationappkey/OrganizationAppKey.java b/externalgateway/src/main/java/com/yxt/external/feign/protal/organizationappkey/OrganizationAppKey.java new file mode 100644 index 0000000..2da173c --- /dev/null +++ b/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; +} diff --git a/externalgateway/src/main/java/com/yxt/external/feign/protal/organizationappkey/OrganizationAppKeyDto.java b/externalgateway/src/main/java/com/yxt/external/feign/protal/organizationappkey/OrganizationAppKeyDto.java new file mode 100644 index 0000000..fac14f1 --- /dev/null +++ b/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; +} diff --git a/externalgateway/src/main/java/com/yxt/external/feign/protal/organizationappkey/OrganizationAppKeyFeign.java b/externalgateway/src/main/java/com/yxt/external/feign/protal/organizationappkey/OrganizationAppKeyFeign.java new file mode 100644 index 0000000..f8d492e --- /dev/null +++ b/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 checkByAppKey(@PathVariable("appKey") String appKey); + +} \ No newline at end of file diff --git a/externalgateway/src/main/resources/application.yml b/externalgateway/src/main/resources/application.yml index 1ede0b0..12d73e6 100644 --- a/externalgateway/src/main/resources/application.yml +++ b/externalgateway/src/main/resources/application.yml @@ -31,4 +31,4 @@ ignore: whitesTwo: #包含所有 - /upload/** - - /external/apiadmin/supplierinfo/getSupplierCountByOrgSid/** +# - /external/apiadmin/supplierinfo/getSupplierCountByOrgSid** diff --git a/externalgateway/target/classes/application.yml b/externalgateway/target/classes/application.yml index 1ede0b0..12d73e6 100644 --- a/externalgateway/target/classes/application.yml +++ b/externalgateway/target/classes/application.yml @@ -31,4 +31,4 @@ ignore: whitesTwo: #包含所有 - /upload/** - - /external/apiadmin/supplierinfo/getSupplierCountByOrgSid/** +# - /external/apiadmin/supplierinfo/getSupplierCountByOrgSid** diff --git a/externalgateway/target/classes/com/yxt/external/GatewayApiApplication.class b/externalgateway/target/classes/com/yxt/external/GatewayApiApplication.class index c67c905..d9dcda3 100644 Binary files a/externalgateway/target/classes/com/yxt/external/GatewayApiApplication.class and b/externalgateway/target/classes/com/yxt/external/GatewayApiApplication.class differ diff --git a/externalgateway/target/classes/com/yxt/external/Signature.class b/externalgateway/target/classes/com/yxt/external/Signature.class index 1bdcb40..e7cfc1c 100644 Binary files a/externalgateway/target/classes/com/yxt/external/Signature.class and b/externalgateway/target/classes/com/yxt/external/Signature.class differ