Commit c8e3f7b1 authored by 3533457856@qq.com's avatar 3533457856@qq.com

发货单

新增/编辑/详情接口 更新发货单状态接口
parent 0d3a6ec3
package com.yeejoin.amos.boot.module.hygf.api.Enum;
/**
* @author DELL
* 手机登录类型: 2020年底 驻场开发
*/
public enum PhoneRegisterTypeEum {
WX("微信授权快捷登录",1),
PHONE_VERIFY("手机验证登录",2);
private String name;
private int code;
PhoneRegisterTypeEum(String name,int code){
this.name = name;
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
}
package com.yeejoin.amos.boot.module.hygf.api.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
*
* @author Provence
* @version v1.0
* @date 2023/8/21 15:15
*/
@Data
public class MobileLoginParamDto {
/**
* 注册类型:1-微信授权快捷登录;2-手机验证登录
*/
@ApiModelProperty("注册类型:1-微信授权快捷登录;2-手机验证登录")
private int registerType;
/**
* 是否需要需要短信验证: true-验证; false-不验证
*/
@ApiModelProperty("是否需要需要短信验证: true-验证; false-不验证")
private Boolean isNeedVerify;
/**
* 注册类型为1时使用:微信用户数据字段1,根据1、2进行数据解密,计算出手机号
*/
@ApiModelProperty("注册类型为1时使用:微信用户数据字段1,根据1、2进行数据解密,计算出手机号")
private String encryptedData;
/**
* 注册类型为1时使用:微信用户数据字段2,根据1、2进行数据解密,计算出手机号
*/
@ApiModelProperty("注册类型为1时使用:微信用户数据字段1,根据1、2进行数据解密,计算出手机号")
private String iv;
/**
*注册类型为1时使用:微信用户数据字段3,根据1、2、3进行数据解密,计算出手机号
*/
@ApiModelProperty("注册类型为1时使用:微信用户数据字段3,根据1、2、3进行数据解密,计算出手机号")
private String code;
/**
* 注册类型为2-手机验证登录时使用:手机号
*/
@ApiModelProperty("注册类型为2-手机验证登录时使用:手机号")
private String phoneNo;
/**
* 注册类型为2-手机验证登录时使用:验证码
*/
@ApiModelProperty("注册类型为2-手机验证登录时使用:验证码")
private String verifyCode;
private PeasantHouseholdDto peasantHouseholdDto;
}
...@@ -103,4 +103,33 @@ public class PeasantHouseholdDto extends BaseDto { ...@@ -103,4 +103,33 @@ public class PeasantHouseholdDto extends BaseDto {
@ApiModelProperty(value = "常住地址文字") @ApiModelProperty(value = "常住地址文字")
@TableField(typeHandler = FastjsonTypeHandler.class) @TableField(typeHandler = FastjsonTypeHandler.class)
private List<String> permanentAddressText; private List<String> permanentAddressText;
@ApiModelProperty(value = "区域公司id")
private String companyId;
@ApiModelProperty(value = "区域公司code")
private String companyCode;
@ApiModelProperty(value = "区域公司名称")
private String companyName;
@ApiModelProperty(value = "身份证正面")
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<String> idCardFront;
@ApiModelProperty(value = "身份证反面")
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<String> idCardOpposite;
@ApiModelProperty(value = "微信唯一id")
private String openId;
@ApiModelProperty(value = "是否已认证(0-未认证,1-已认证)")
private Integer isCertified;
@ApiModelProperty(value = "微信注册账号")
private String loginId;
@ApiModelProperty(value = "微信注册密码")
private String loginPassword;
} }
package com.yeejoin.amos.boot.module.hygf.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.yeejoin.amos.boot.module.hygf.api.entity.PeasantHousehold;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
*
* @author Provence
* @version v1.0
* @date 2023/8/21 13:16
*/
@Data
@ApiModel (value="PeasantHouseholdWxDto", description="农户信息")
public class PeasantHouseholdWxDto {
@ApiModelProperty (value = "登录方式")
private String loginType;
@ApiModelProperty (value = "验证码登录code")
private String verifyCode;
@ApiModelProperty
private String userState;
@ApiModelProperty
private AuthInfoDto authInfo;
@ApiModelProperty (value = "用户信息")
private AgencyUserModel userInfo;
@ApiModelProperty (value = "农户信息")
private PeasantHousehold peasantHousehold;
@Data
@ApiModel (value="authInfo信息", description="authInfo信息")
public static class AuthInfoDto {
@ApiModelProperty (value = "登录token")
private String token;
@ApiModelProperty (value = "用户id")
private String personId;
@ApiModelProperty (value = "appKey")
private String appKey;
@ApiModelProperty (value = "product")
private String product;
}
}
...@@ -140,4 +140,50 @@ public class PeasantHousehold extends BaseEntity { ...@@ -140,4 +140,50 @@ public class PeasantHousehold extends BaseEntity {
* */ * */
@TableField("developer") @TableField("developer")
private String developer; private String developer;
/*
* 区域公司id
* */
@TableField("company_id")
private String companyId;
/*
* 区域公司code
* */
@TableField("company_code")
private String companyCode;
/*
* 区域公司名称
* */
@TableField("company_name")
private String companyName;
/*
* 身份证正面
* */
@TableField(value = "id_card_front", typeHandler = FastjsonTypeHandler.class)
private List<String> idCardFront;
/*
* 身份证反面
* */
@TableField(value = "id_card_opposite", typeHandler = FastjsonTypeHandler.class)
private List<String> idCardOpposite;
/*
* 微信唯一id
* */
@TableField("open_id")
private String openId;
/*
* 是否已认证(0-未认证,1-已认证)
* */
@TableField("is_certified")
private Integer isCertified;
/*
* 微信注册账号
* */
@TableField("login_id")
private String loginId;
/*
* 微信注册密码
* */
@TableField("login_password")
private String loginPassword;
} }
package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.jxiop.api.util.HttpUtil;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.io.InputStream;
/**
* TODO(一句话描述该类的功能)
*
* @author Provence
* @version v1.0
* @date 2023/8/21 16:21
*/
@Slf4j
@Component
public class WxServiceImpl {
@Value ("${hygfProgram.appid}")
private String appId;
@Value ("${hygfProgram.secret}")
private String secret;
public String getSessionKey(String code) {
JSONObject jsonObject = getCode2Session(code);
String sessionKey = null;
if (jsonObject != null) {
sessionKey = jsonObject.getString("session_key");
}
return sessionKey;
}
public JSONObject getCode2Session(String code) {
String url = buildOpenIdUrl(appId, secret, code);
String resultStr = HttpUtil.sendHttpGet(url);
ResponeVo responeVo = JSONObject.parseObject(resultStr, ResponeVo.class);
log.error("手机号解析结果" + JSONObject.toJSONString(responeVo));
System.out.println("手机号解析结果" + JSONObject.toJSONString(responeVo));
JSONObject jsonObject = JSONObject.parseObject(responeVo.getContent());
if (jsonObject != null) {
int errcode = jsonObject.getIntValue("errcode");
if (errcode == 0) {
// session_key 会话秘钥
// String openId = jsonObject.getString("openid");
return jsonObject;
} else {
throw new BadRequest(jsonObject.getString("errmsg"));
}
} else {
throw new BadRequest("微信接口调用失败");
}
}
private String buildOpenIdUrl(String appId, String secret, String code) {
String url = "https://api.weixin.qq.com/sns/jscode2session?appid=" + appId + "&secret=" + secret + "&js_code="
+ code + "&grant_type=authorization_code";
return url;
}
@Data
public static class ResponeVo {
int code;
CloseableHttpResponse response;
String content;
byte[] inStream;
InputStream inputStream;
}
}
...@@ -85,30 +85,36 @@ spring.jms.pub-sub-domain=false ...@@ -85,30 +85,36 @@ spring.jms.pub-sub-domain=false
myqueue=amos.privilege.v1.JXIOP.AQSC_FDGL.userBusiness myqueue=amos.privilege.v1.JXIOP.AQSC_FDGL.userBusiness
regulator.unit.code=86*258 regulator.unit.code=86*258
# 经销商应用code # 经销商应用code
dealer.appcode=studio_normalapp_5133538 dealer.appcode=studio_normalapp_5133538
hygf.sms.tempCode=SMS_HYGF_0001 hygf.sms.tempCode=SMS_HYGF_0001
# 华为短信相关配置 # 华为短信相关配置
sms.huawei.url=https://smsapi.cn-north-4.myhuaweicloud.com:443/sms/batchSendSms/v1 sms.huawei.url=https://smsapi.cn-north-4.myhuaweicloud.com:443/sms/batchSendSms/v1
sms.huawei.appKey=n3FYPWO7Heo1ze212QRBvF4VA2E2 sms.huawei.appKey=n3FYPWO7Heo1ze212QRBvF4VA2E2
sms.huawei.appSecret=IFhiMpWROi7w4Ei21ZbfIjKyt97b sms.huawei.appSecret=IFhiMpWROi7w4Ei21ZbfIjKyt97b
# 模板id # 模板id
sms.huawei.templateId=6aaeb4bf916d4db0a1942c598912519e sms.huawei.templateId=6aaeb4bf916d4db0a1942c598912519e
# 签名通道号 # 签名通道号
sms.huawei.sender=1069368924410006092 sms.huawei.sender=1069368924410006092
# 签名名称 # 签名名称
sms.huawei.signature=华为云短信测试 sms.huawei.signature=华为云短信测试
# 审核pageId确认 # 审核pageId确认
power.station.examine.pageId=1680853427061551106 power.station.examine.pageId=1680853427061551106
# 电站审核计划id # 电站审核计划id
power.station.examine.planId=c4ed1873-0dc6-4518-a7a9-dbc588ef35e5 power.station.examine.planId=c4ed1873-0dc6-4518-a7a9-dbc588ef35e5
# 用户组userGroupId # 用户组userGroupId
hygf.user.group.id=1679755750924120066 hygf.user.group.id=1679755750924120066
unitInfo.station.examine.planId=51776087-a9cf-4a87-9a03-24fd24a8cf45 unitInfo.station.examine.planId=51776087-a9cf-4a87-9a03-24fd24a8cf45
hygf.sms.tempCodeJXS=SMS_HYGF_0002 hygf.sms.tempCodeJXS=SMS_HYGF_0002
\ No newline at end of file
login.environment=
security.productWeb=
security.appKey=
hygfProgram.appid=wx2188769349b1ddeb
hygfProgram.secret=
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment