Commit ee4baef8 by 罗承锋

预制卡智能下单、添加宽带智能平台下单公共处理方法

parent bc0de1ae
......@@ -13,6 +13,12 @@ public class BroadBandOrder extends Order{
*/
@TableField(value = "orderSeq")
private String orderSeq;
/**
* 订单号码
*/
@TableField(value = "kd_order_id")
private String kdOrderId;
/**
* 产品名称
*/
......
......@@ -22,7 +22,7 @@ public class KdPhone implements Serializable {
/**
*
*/
@TableId(value = "d",type = IdType.AUTO)
@TableId(value = "id",type = IdType.AUTO)
private int id;
/**
*
......
package com.winsun.bean;
import lombok.Data;
/**
* 单宽进融下单参数
* @author chengfengluo
* @date 2021-01-26 18:30:59
*/
@Data
public class ToIntegrateOrderParam {
/**
* 姓名
*/
private String name;
/**
* 宽带账号
*/
private String netNumber;
/**
* 身份证
*/
private String idCard;
/**
* 办理号码
*/
private String businessNumber;
/**
* 联系号码
*/
private String contactPhone;
/**
* 合伙人id
*/
private String hehuorenId;
/**
* 融合时间
*/
private String rhTime;
}
......@@ -21,7 +21,6 @@ public class UniversityInfo implements Serializable {
@TableId(value = "university_id", type = IdType.AUTO)
private int universityId;
/**
* 学校名称
*/
......
package com.winsun.constant;
import javax.net.ssl.*;
import java.security.SecureRandom;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
/**
* @author ljh
* @Description:常量类
......@@ -65,4 +71,34 @@ public class Constant {
public final static String ROLE3 = "3"; // 用户权限:1管理员 2测试人员 3工作人员 4学校人员
public final static String ROLE4 = "4"; // 用户权限:1管理员 2测试人员 3工作人员 4学校人员
/** 信任任何站点 */
public static void trustEveryone() {
try {
HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String hostname, SSLSession session) {
return true;
}
});
SSLContext context = SSLContext.getInstance("TLS");
context.init(null, new X509TrustManager[] { new X509TrustManager() {
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
@Override
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
} }, new SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(context.getSocketFactory());
} catch (Exception e) {
e.printStackTrace();
}
}
}
......@@ -32,4 +32,25 @@ public interface HhrUserMapper extends BaseMapper<HhrUser> {
@Param("toWeekStart")String toWeekStart, @Param("toWeekEnd")String toWeekEnd,
@Param("toMonthStart")String toMonthStart, @Param("toMonthEnd")String toMonthEnd,
@Param("isComplete") boolean isComplete);
/**
* 根据合伙人获取产品id
* @param hehuorenId
* @return
*/
Map<String, Object> getProductByUserId(@Param("hehuorenId") String hehuorenId);
/**
* 查询督导姓名、揽装工号
* @param hehuorenId
* @return
*/
List<Map<String, Object>> selectSupervisor(@Param("hehuorenId") String hehuorenId);
/**
* 查询合伙人信息
* @param hehuorenId
* @return
*/
Map<String, Object> selectHehuorenInfo(@Param("hehuorenId") String hehuorenId);
}
......@@ -94,4 +94,23 @@ public interface OrderMapper extends BaseMapper<Order> {
List<BroadBandOrder> selectBroadBandOrderList(Page<BroadBandOrder> page, BroadBandOrder broadBandOrder);
/**
* 查询重复订单
* @param idCard
* @return
*/
List<Order> selectRepeatOrder(String idCard);
/**
* 查询宽带清单
* @param accountNumber
* @return
*/
List<Map<String, Object>> selectBroadList(String accountNumber);
/**
* 更新已完成订单
* @return
*/
int updateCompleteOrder();
}
......@@ -17,4 +17,5 @@ public interface UniversityInfoMapper extends BaseMapper<UniversityInfo> {
List<Map<String, Object>> getBroadBandConfigList(Page page,
@Param("productUniversity") String productUniversity, @Param("productRegion") String productRegion);
List<Map<String, Object>> selectProductManager(String id);
}
package com.winsun.utils;
import java.security.SecureRandom;
import java.util.Random;
/**
* 随机数工具类
......@@ -34,4 +35,19 @@ public class RandomUtil {
}
return 0;
}
/* 组成20个随机数的订单号 */
public static String RandomNumber(int length){
String str="1234567890abcdefghijklmnopqrstuvwxyz";
Random random=new Random();
StringBuffer sb=new StringBuffer();
for(int i=0;i<length;i++){
int number =random.nextInt(36);
sb.append(str.charAt(number));
}
return sb.toString();
}
}
package com.winsun.utils;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringUtils;
import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
* Created by wangwenbo on 2018/5/24.
*/
/* 签名验证相关utilS*/
public class SignUtil {
/**
* 将输入的参数转换成sign
* @param param 请求的参数(不包含sign,否则会把sign当作数据一齐处理)
* @param appKey 指定的秘钥
* @return
*/
public static String createUnifiedOrderSign(final Map<String,String> param, String appKey) {
List<String> keies = new ArrayList<>();
keies.addAll(param.keySet());
Collections.sort(keies);
List<String> datas = new ArrayList<>();
keies.forEach(key -> {
datas.add(key + "=" + param.getOrDefault(key, ""));
});
datas.add(appKey);
return DigestUtils.md5Hex(StringUtils.join(datas, "&")).toLowerCase();
}
private static final String TOKEN = "supperapp"; // 加密token
/***
* MD5加密 生成32位md5码 速度比较快 性能高 安全强度比sha1要低
*
* @param 待加密字符串
* @return 返回32位md5码
*/
public static String md5EncodeSignature(String inStr) throws Exception {
MessageDigest md5 = null;
try {
md5 = MessageDigest.getInstance("MD5");
} catch (Exception e) {
e.printStackTrace();
return "";
}
byte[] byteArray = inStr.getBytes("UTF-8");
byte[] md5Bytes = md5.digest(byteArray);
StringBuffer hexValue = new StringBuffer();
for (int i = 0; i < md5Bytes.length; i++) {
int val = ((int) md5Bytes[i]) & 0xff;
if (val < 16) {
hexValue.append("0");
}
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString();
}
/***
* SHA加密 生成40位SHA码 加密速度比md5慢 性能比md5低 安全强度比md5高
*
* @param 待加密字符串
* @return 返回40位SHA码
*/
public static String shaEncodeSignature(String inStr) throws Exception {
MessageDigest sha = null;
try {
sha = MessageDigest.getInstance("SHA");
} catch (Exception e) {
e.printStackTrace();
return "";
}
byte[] byteArray = inStr.getBytes("UTF-8");
byte[] md5Bytes = sha.digest(byteArray);
StringBuffer hexValue = new StringBuffer();
for (int i = 0; i < md5Bytes.length; i++) {
int val = ((int) md5Bytes[i]) & 0xff;
if (val < 16) {
hexValue.append("0");
}
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString();
}
/**
* 签名加密
*
* @param inStr
* @param type
* 加密方式 1,MD5 2,SHA
* @return
*/
public static String signature(String inStr, int type) {
String encodeStr = "";
int sel = type;
if (sel == 0) {
try {
encodeStr = md5EncodeSignature(TOKEN+":"+ inStr);
} catch (Exception e) {
e.printStackTrace();
}
} else {
try {
encodeStr = shaEncodeSignature(TOKEN+":" + inStr);
} catch (Exception e) {
e.printStackTrace();
}
}
return encodeStr;
}
//把一个字符串中的大写转为小写,小写转换为大写
public static String exChange(String str){
StringBuffer sb = new StringBuffer();
if(str!=null){
for(int i=0;i<str.length();i++){
char c = str.charAt(i);
if(Character.isLowerCase(c)){
sb.append(Character.toUpperCase(c)); // 小转大
}else{
sb.append(c);
}
}
}
return sb.toString();
}
}
......@@ -64,4 +64,39 @@
</where>
) c
</select>
<select id="getProductByUserId" parameterType="String" resultType="HashMap">
select
hs.jilt_kdy, hs.school_name,hs.bandproduct_id
from
hhr_user_school hus
left join
hhr_school hs on hus.school_id = hs.id
where user_id = #{hehuorenId}
</select>
<select id="selectSupervisor" parameterType="String" resultType="HashMap">
select uuu.name ddname,sch.lzgh
from hhr_user u
left join hhr_user_school us on u.id = us.user_id
left join hhr_school sch on sch.id = us.school_id
left join hhr_supervisor_school ss on us.school_id = ss.school
left join sys_user uuu on uuu.id = ss.user_id
where u.id= #{hehuorenId}
</select>
<select id="selectHehuorenInfo" parameterType="String" resultType="HashMap">
SELECT
su.phone,
su.name,
hs.sub_name,
hs.school_name
FROM
sys_user su
LEFT JOIN hhr_user hu ON su.id = hu.id
LEFT JOIN hhr_user_school hus ON su.id = hus.user_id
LEFT JOIN hhr_school hs ON hus.school_id = hs.id
WHERE
su.id = #{hehuorenId}
</select>
</mapper>
\ No newline at end of file
......@@ -164,4 +164,16 @@
select * from hhr_order where order_number = #{orderNumber}
</select>
<select id="selectRepeatOrder" parameterType="String" resultType="com.winsun.bean.Order">
select * from hhr_order where user_type in('3','5','9','10') and order_status !='异常单' and id_card=#{idCard}
</select>
<select id="selectBroadList" parameterType="String" resultType="HashMap">
select * from hhr_kd_dmt where account_number = #{accountNumber}
</select>
<update id="updateCompleteOrder">
UPDATE hhr_order SET order_status = '已完成' WHERE id IN (SELECT id FROM(SELECT id FROM hhr_order WHERE order_status='已发货' AND TO_DAYS(NOW()) - TO_DAYS(create_time) > 7) t1)
</update>
</mapper>
\ No newline at end of file
......@@ -27,4 +27,8 @@
group by ui.university_id
</select>
<select id="selectProductManager" parameterType="String" resultType="HashMap">
SELECT * FROM `product_manage` WHERE product_id = (SELECT b.`bandproduct_id` FROM hhr_user_school a LEFT JOIN hhr_school b ON a.`school_id`=b.`id` WHERE a.user_id=#{id})
</select>
</mapper>
\ No newline at end of file
......@@ -35,13 +35,22 @@ public class OrderTask {
OrderTask.orderMapper = orderMapper;
}
// TODO 定时器更新已送货订单
/**
* 定时器更新已送货订单
*/
@Scheduled(cron = "0 0/5 * * * ? ")
public void updateBeSendOrder() {
log.info("开始更新已发货超过7天订单");
orderMapper.updateCompleteOrder();
log.info("更新已送货订单");
}
@Scheduled(cron = "0 0 0 * * ? ")
//@Scheduled(cron = "0/5 * * * * ? ")
//@Scheduled(fixedRate=1000*60)
@PostMapping("/orderTask")
public void general() throws ParseException {
log.info("更新小白卡订单");
Wrapper<Order> wrapper = new EntityWrapper();
wrapper.eq("order_status", "待识别");
List<Order> orders = orderMapper.selectList(wrapper);
......
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