Commit ee4baef8 by 罗承锋

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

parent bc0de1ae
...@@ -13,6 +13,12 @@ public class BroadBandOrder extends Order{ ...@@ -13,6 +13,12 @@ public class BroadBandOrder extends Order{
*/ */
@TableField(value = "orderSeq") @TableField(value = "orderSeq")
private String orderSeq; private String orderSeq;
/**
* 订单号码
*/
@TableField(value = "kd_order_id")
private String kdOrderId;
/** /**
* 产品名称 * 产品名称
*/ */
......
...@@ -22,7 +22,7 @@ public class KdPhone implements Serializable { ...@@ -22,7 +22,7 @@ public class KdPhone implements Serializable {
/** /**
* *
*/ */
@TableId(value = "d",type = IdType.AUTO) @TableId(value = "id",type = IdType.AUTO)
private int id; 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 { ...@@ -21,7 +21,6 @@ public class UniversityInfo implements Serializable {
@TableId(value = "university_id", type = IdType.AUTO) @TableId(value = "university_id", type = IdType.AUTO)
private int universityId; private int universityId;
/** /**
* 学校名称 * 学校名称
*/ */
......
package com.winsun.constant; package com.winsun.constant;
import javax.net.ssl.*;
import java.security.SecureRandom;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
/** /**
* @author ljh * @author ljh
* @Description:常量类 * @Description:常量类
...@@ -64,5 +70,35 @@ public class Constant { ...@@ -64,5 +70,35 @@ public class Constant {
public final static String ROLE2 = "2"; // 用户权限:1管理员 2测试人员 3工作人员 4学校人员 public final static String ROLE2 = "2"; // 用户权限:1管理员 2测试人员 3工作人员 4学校人员
public final static String ROLE3 = "3"; // 用户权限:1管理员 2测试人员 3工作人员 4学校人员 public final static String ROLE3 = "3"; // 用户权限:1管理员 2测试人员 3工作人员 4学校人员
public final static String ROLE4 = "4"; // 用户权限: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> { ...@@ -32,4 +32,25 @@ public interface HhrUserMapper extends BaseMapper<HhrUser> {
@Param("toWeekStart")String toWeekStart, @Param("toWeekEnd")String toWeekEnd, @Param("toWeekStart")String toWeekStart, @Param("toWeekEnd")String toWeekEnd,
@Param("toMonthStart")String toMonthStart, @Param("toMonthEnd")String toMonthEnd, @Param("toMonthStart")String toMonthStart, @Param("toMonthEnd")String toMonthEnd,
@Param("isComplete") boolean isComplete); @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> { ...@@ -94,4 +94,23 @@ public interface OrderMapper extends BaseMapper<Order> {
List<BroadBandOrder> selectBroadBandOrderList(Page<BroadBandOrder> page, BroadBandOrder broadBandOrder); 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> { ...@@ -17,4 +17,5 @@ public interface UniversityInfoMapper extends BaseMapper<UniversityInfo> {
List<Map<String, Object>> getBroadBandConfigList(Page page, List<Map<String, Object>> getBroadBandConfigList(Page page,
@Param("productUniversity") String productUniversity, @Param("productRegion") String productRegion); @Param("productUniversity") String productUniversity, @Param("productRegion") String productRegion);
List<Map<String, Object>> selectProductManager(String id);
} }
package com.winsun.utils; package com.winsun.utils;
import java.security.SecureRandom; import java.security.SecureRandom;
import java.util.Random;
/** /**
* 随机数工具类 * 随机数工具类
...@@ -34,4 +35,19 @@ public class RandomUtil { ...@@ -34,4 +35,19 @@ public class RandomUtil {
} }
return 0; 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 @@ ...@@ -64,4 +64,39 @@
</where> </where>
) c ) c
</select> </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> </mapper>
\ No newline at end of file
...@@ -164,4 +164,16 @@ ...@@ -164,4 +164,16 @@
select * from hhr_order where order_number = #{orderNumber} select * from hhr_order where order_number = #{orderNumber}
</select> </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> </mapper>
\ No newline at end of file
...@@ -27,4 +27,8 @@ ...@@ -27,4 +27,8 @@
group by ui.university_id group by ui.university_id
</select> </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> </mapper>
\ No newline at end of file
...@@ -35,13 +35,22 @@ public class OrderTask { ...@@ -35,13 +35,22 @@ public class OrderTask {
OrderTask.orderMapper = orderMapper; 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 0 0 * * ? ")
//@Scheduled(cron = "0/5 * * * * ? ") //@Scheduled(cron = "0/5 * * * * ? ")
//@Scheduled(fixedRate=1000*60) //@Scheduled(fixedRate=1000*60)
@PostMapping("/orderTask") @PostMapping("/orderTask")
public void general() throws ParseException { public void general() throws ParseException {
log.info("更新小白卡订单");
Wrapper<Order> wrapper = new EntityWrapper(); Wrapper<Order> wrapper = new EntityWrapper();
wrapper.eq("order_status", "待识别"); wrapper.eq("order_status", "待识别");
List<Order> orders = orderMapper.selectList(wrapper); List<Order> orders = orderMapper.selectList(wrapper);
......
...@@ -628,9 +628,9 @@ public class RhZhiNenTask { ...@@ -628,9 +628,9 @@ public class RhZhiNenTask {
} }
} }
}
} }
}
private String QueOrderNum(String orderNum) { private String QueOrderNum(String orderNum) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
......
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