Commit 15e5a5e4 by 陈浩建

修复中危:缺少对方法返回值的null检查

存量升级 大王卡升级星卡 -新需求
parent 3215f0b6
...@@ -82,7 +82,7 @@ public class SingleBroadToIntegrateController { ...@@ -82,7 +82,7 @@ public class SingleBroadToIntegrateController {
/** /**
* 获取大学宽带信息 * 获取大学宽带信息
* @param hehuorenId * @param universityId
* @return * @return
*/ */
@PostMapping("getUniversityInfo") @PostMapping("getUniversityInfo")
...@@ -103,7 +103,7 @@ public class SingleBroadToIntegrateController { ...@@ -103,7 +103,7 @@ public class SingleBroadToIntegrateController {
* @return * @return
*/ */
@PostMapping("getCode") @PostMapping("getCode")
public ResponseData<Map<String, Object>> getCode(@RequestParam(value = "phone") String phone) { public ResponseData getCode(@RequestParam(value = "phone") String phone) {
try{ try{
// 判断号码是否在优惠清单中,已有新用户订单或者再优惠号码清单中 // 判断号码是否在优惠清单中,已有新用户订单或者再优惠号码清单中
...@@ -127,7 +127,7 @@ public class SingleBroadToIntegrateController { ...@@ -127,7 +127,7 @@ public class SingleBroadToIntegrateController {
e.printStackTrace(); e.printStackTrace();
return ResponseData.error("获取验证码失败"); return ResponseData.error("获取验证码失败");
} }
return ResponseData.success(null, "获取验证码成功"); return ResponseData.success("获取验证码成功");
} }
/** /**
...@@ -137,7 +137,7 @@ public class SingleBroadToIntegrateController { ...@@ -137,7 +137,7 @@ public class SingleBroadToIntegrateController {
* @return * @return
*/ */
@PostMapping("checkPhoneAndCode") @PostMapping("checkPhoneAndCode")
public ResponseData<Map<String, Object>> checkPhoneAndCode(@RequestParam("phone") String phone, public ResponseData checkPhoneAndCode(@RequestParam("phone") String phone,
@RequestParam("code") String code) { @RequestParam("code") String code) {
Object o = redisTemplate.opsForValue().get(SingleBroadToIntegrateController.TOINTEGRATE + phone); Object o = redisTemplate.opsForValue().get(SingleBroadToIntegrateController.TOINTEGRATE + phone);
if (o == null) { if (o == null) {
...@@ -148,7 +148,7 @@ public class SingleBroadToIntegrateController { ...@@ -148,7 +148,7 @@ public class SingleBroadToIntegrateController {
} }
redisTemplate.delete(SingleBroadToIntegrateController.TOINTEGRATE + phone); redisTemplate.delete(SingleBroadToIntegrateController.TOINTEGRATE + phone);
return ResponseData.success(null,"校验成功"); return ResponseData.success("校验成功");
} }
/** /**
......
...@@ -432,7 +432,7 @@ public class codeManagerController { ...@@ -432,7 +432,7 @@ public class codeManagerController {
public ResponseData<String> uploadStuCard(String userName, String orderPhone, String linkPhone, public ResponseData<String> uploadStuCard(String userName, String orderPhone, String linkPhone,
String idCard,String file1,String file2,String file3,String file4) { String idCard,String file1,String file2,String file3,String file4) {
if (StringUtils.isNotBlank(userName)) { if (StringUtils.isBlank(userName)) {
return ResponseData.error("请填写姓名"); return ResponseData.error("请填写姓名");
} }
...@@ -458,19 +458,19 @@ public class codeManagerController { ...@@ -458,19 +458,19 @@ public class codeManagerController {
student.setIdCard(idCard); student.setIdCard(idCard);
student.setUploadDate(new Date()); student.setUploadDate(new Date());
if(StringUtils.isNotBlank(file1)){ if(StringUtils.isNotBlank(file1)){
String file01 = PicturesUtil.uploadPictures(file1, "",PATH1); String file01 = PicturesUtil.uploadPictures(file1, orderPhone,PATH1);
student.setStudentCardUrl(file01); student.setStudentCardUrl(file01);
} }
if(StringUtils.isNotBlank(file2)){ if(StringUtils.isNotBlank(file2)){
String file02 = PicturesUtil.uploadPictures(file2,"",PATH2); String file02 = PicturesUtil.uploadPictures(file2,orderPhone,PATH2);
student.setOtherImgUrl1(file02); student.setOtherImgUrl1(file02);
} }
if(StringUtils.isNotBlank(file3)){ if(StringUtils.isNotBlank(file3)){
String file03 = PicturesUtil.uploadPictures(file3, "",PATH3); String file03 = PicturesUtil.uploadPictures(file3, orderPhone,PATH3);
student.setOtherImgUrl2(file03); student.setOtherImgUrl2(file03);
} }
if(StringUtils.isNotBlank(file4)){ if(StringUtils.isNotBlank(file4)){
String file04 = PicturesUtil.uploadPictures(file4, "",PATH4); String file04 = PicturesUtil.uploadPictures(file4, orderPhone,PATH4);
student.setOtherImgUrl3(file04); student.setOtherImgUrl3(file04);
} }
Integer integer1 = studentCardMapper.update(student,wrapper); Integer integer1 = studentCardMapper.update(student,wrapper);
......
...@@ -62,9 +62,9 @@ public class SalesListServiceImpl extends ServiceImpl<SalesListMapper, SalesList ...@@ -62,9 +62,9 @@ public class SalesListServiceImpl extends ServiceImpl<SalesListMapper, SalesList
if (StringUtils.isNotBlank(info)) { if (StringUtils.isNotBlank(info)) {
salesOrders.add(salesList); salesOrders.add(salesList);
this.updateRepeatSchool(salesList.getOrderPhone(), "该号码在其他学校重复登记", repeatSchoolName); this.updateRepeatSchool(salesList.getOrderPhone(), "该号码在其他学校重复登记", repeatSchoolName);
return ResponseData.success(null, info); return ResponseData.success(info);
} }
return ResponseData.success(null, "登记成功"); return ResponseData.success("登记成功");
}else{ }else{
return ResponseData.error(error); return ResponseData.error(error);
} }
......
...@@ -39,16 +39,21 @@ public class RandomUtil { ...@@ -39,16 +39,21 @@ public class RandomUtil {
/* 组成20个随机数的订单号 */ /* 组成20个随机数的订单号 */
public static String RandomNumber(int length){ public static String RandomNumber(int length){
String str="1234567890abcdefghijklmnopqrstuvwxyz"; String str="1234567890abcdefghijklmnopqrstuvwxyz";
Random random=new Random(); try {
StringBuffer sb=new StringBuffer(); SecureRandom random = SecureRandom.getInstance(str);
for(int i=0;i<length;i++){
int number =random.nextInt(36); StringBuffer sb=new StringBuffer();
for(int i=0;i<length;i++){
sb.append(str.charAt(number)); int number =random.nextInt(36);
}
return sb.toString(); sb.append(str.charAt(number));
}
return sb.toString();
}catch (Exception e){
e.printStackTrace();
}
return null;
} }
/** /**
...@@ -58,15 +63,20 @@ public class RandomUtil { ...@@ -58,15 +63,20 @@ public class RandomUtil {
*/ */
public static String ramdomNum(Integer length){ public static String ramdomNum(Integer length){
String str="1234567890"; String str="1234567890";
Random random=new Random(); try{
StringBuffer sb=new StringBuffer(); SecureRandom random = SecureRandom.getInstance(str);
for(int i=0;i<length;i++){ StringBuffer sb=new StringBuffer();
for(int i=0;i<length;i++){
int number =random.nextInt(10); int number =random.nextInt(10);
sb.append(str.charAt(number)); sb.append(str.charAt(number));
} }
return sb.toString(); return sb.toString();
}catch (Exception e){
e.printStackTrace();
}
return null;
} }
} }
...@@ -424,7 +424,7 @@ public class PackageNewClothes { ...@@ -424,7 +424,7 @@ public class PackageNewClothes {
* @param partner 用户ID * @param partner 用户ID
* @param idCard 用户身份证 * @param idCard 用户身份证
* @param userSchool 学校 * @param userSchool 学校
* @param addRess 详细地址 * @param address 详细地址
* @param businessNumber 办理号码 * @param businessNumber 办理号码
* @return * @return
*/ */
......
...@@ -149,11 +149,174 @@ public class PackageUpgradeController extends BaseController { ...@@ -149,11 +149,174 @@ public class PackageUpgradeController extends BaseController {
} }
} }
/**
* 查询套餐升级信息 2021-04-15 新需求修改
*/
@RequestMapping(value = "selectPackageNew")
public ResponseData<Map<String,Object>> selectPackageNew(@RequestParam("acc_nbr")String acc_nbr, @RequestParam(value = "servId", required = false) String servId){
Map<String, Object> map = new HashMap<>();
//查找毕业生清单
Wrapper<QueryBys> queryBysWrapper = new EntityWrapper<>();
queryBysWrapper.eq(StringUtils.isNotBlank(acc_nbr), "phone", acc_nbr);
List<Map<String, Object>> queryBys = queryBysMapper.selectMaps(queryBysWrapper);
if(queryBys != null && queryBys.size()>0){
map.put("isBys", true);
return ResponseData.success(map);
}
//查找存量升级清单
Wrapper<PackageUpgrade> wrapper = new EntityWrapper();
wrapper.setSqlSelect("serv_id", "cust_name", "user_type", "school_name", "acc_nbr", "acc_nbr2", "cdma_disc_desc", "is_bltc1"
, "is_bltc2", "is_bltc3", "speed_kd", "wxcl");
if (StringUtils.isNotBlank(servId)) {
wrapper.eq(StringUtils.isNotBlank(servId), "serv_id", servId);
} else {
wrapper.eq(StringUtils.isNotBlank(acc_nbr), "acc_nbr", acc_nbr);
}
List<Map<String, Object>> packageUpgrade = appMapper.selectMaps(wrapper);
if (packageUpgrade.size() > 0) {
map.put("isBys", false);
map.put("isStock", true);
map.put("isYcsll",false);
Wrapper<Package> wrapper1 = new EntityWrapper();
Wrapper<Package> wrapper2 = new EntityWrapper();
if (packageUpgrade.get(0).get("cdma_disc_desc").equals("(预付费)天翼不限量99元套餐201802")) {
String is_bltc1 = packageUpgrade.get(0).get("is_bltc1").toString();
String is_bltc2 = packageUpgrade.get(0).get("is_bltc2").toString();
String is_bltc3 = packageUpgrade.get(0).get("is_bltc3").toString();
if (is_bltc1.equals("是") && is_bltc2.equals("否") && is_bltc3.equals("否")) {
packageUpgrade.get(0).put("cdma_disc_desc", "(预付费)天翼不限量99元套餐201802-49元畅享");
} else if (is_bltc1.equals("否") && is_bltc2.equals("是") && is_bltc3.equals("是")) {
packageUpgrade.get(0).put("cdma_disc_desc", "(预付费)天翼不限量99元套餐201802-29元畅享");
} else if (is_bltc1.equals("否") && is_bltc2.equals("是") && is_bltc3.equals("否")) {
packageUpgrade.get(0).put("cdma_disc_desc", "(预付费)天翼不限量99元套餐201802-39元畅享");
}
}
wrapper1.eq("name", packageUpgrade.get(0).get("cdma_disc_desc"));
List<Package> packages1 = packageMapper.selectList(wrapper1);
wrapper2.eq("package_name ", packageUpgrade.get(0).get("wxcl"));
List<Package> packages2 = packageMapper.selectList(wrapper2);
if (packages2.size() == 0) {
return ResponseData.error("当前查询条件未查出套餐升级数据,如有疑问请联系客服!");
}
map = packageUpgrade.get(0);
map.put("acc_nbr", map.get("acc_nbr").toString().substring(0, 3) + "****" + map.get("acc_nbr").toString().substring(7, 11));
if (map.containsKey("acc_nbr2")) {
String[] split = map.get("acc_nbr2").toString().split("@");
map.put("acc_nbr", map.get("acc_nbr2").toString().substring(0, 4) + "*****@" + split[1]);
}
if (packages1.size() == 0) {
map.put("oldPackage", null);
} else {
map.put("oldPackage", packages1.get(0));
}
map.put("newPackage", packages2.get(0));
String s = String.valueOf((int) ((RandomUtil.getSecrityRandom() * 9 + 1) * 100000));
log.info("验证码:" + s);
SendSmsAndMail.sendSms(acc_nbr,s,"7");
redisTemplate.opsForValue().set(acc_nbr, s, 30, TimeUnit.MINUTES);
return ResponseData.success(map, "已发送验证码到手机:" + acc_nbr.substring(0, 3) + "****" + acc_nbr.substring(7, 11));
}
return ResponseData.error("当前号码未查出套餐升级数据,如有疑问请联系客服!");
}
/** /**
* 查询套餐升级信息 * 套餐升级下单 2021-04-15 新需求修改
* @param customerName
* @param contactNumber
* @param authCode
* @param partner
* @param businessNumber
* @param idCard
* @param oldPackage
* @param newPackage
* @param signUrl
* @return
*/
@RequestMapping(value = "oldUserUpadeNew", method = RequestMethod.POST)
public ResponseData<String> oldUserUpadeNew(@RequestParam("customerName") String customerName,
@RequestParam("contactNumber") String contactNumber,
@RequestParam("authCode") String authCode,
@RequestParam("partner") String partner,
@RequestParam("businessNumber") String businessNumber,
@RequestParam("idCard") String idCard,
@RequestParam("oldPackage") String oldPackage,
@RequestParam("newPackage") String newPackage,
@RequestParam("newPackage_id") String newPackage_id,
@RequestParam("signUrl") String signUrl) {
if (contactNumber.length() != 11) {
return ResponseData.error("联系号码有误,请重新输入");
}
// 短信校验
Object o = redisTemplate.opsForValue().get(businessNumber);
if (o == null) {
return ResponseData.error("请重新发送短信验证码");
}
if(!authCode.equals(o.toString())) {
return ResponseData.error("短信验证码错误!");
}
SysUser sysUser = userMapper.selectById(partner);
if (sysUser == null) {
return ResponseData.error("当前二维码已失效,如有疑问请联系客服!");
}
Wrapper<Order> wrapper = new EntityWrapper<>();
wrapper.eq(StringUtils.isNotBlank(businessNumber),"business_number",businessNumber);
wrapper.eq(StringUtils.isNotBlank(newPackage),"kapin",newPackage);
wrapper.eq("user_type", UserType.OLDCUSTOMER.getId());
wrapper.ne("order_status", "异常单");
List<Order> orders = orderMapper.selectList(wrapper);
if (orders.size() != 0) {
return ResponseData.error("套餐升级订单已存在,请不要重复申请!");
}
Order order = new Order();
String uuid = UUID.randomUUID().toString();
String id = uuid.split("-")[0] + uuid.split("-")[1];
order.setId(id);
order.setIdCard(idCard);
order.setKapin(newPackage);
order.setOrderStatus(OrderStatus.PENDINGACCEPTANCE.getName());
order.setHehuorenId(partner);
//合伙人字段
List<Map<String,Object>> partnerInfo = userMapper.findPartnerById(partner);
if(!partnerInfo.isEmpty()) {
order.setHehuorenArea(partnerInfo.get(0).get("area").toString());
order.setHehuorenName(partnerInfo.get(0).get("name").toString());
order.setHehuorenSchool(partnerInfo.get(0).get("school").toString());
order.setHehuorenPhone(partnerInfo.get(0).get("account").toString());
}
order.setPackageId(newPackage_id);
order.setCustomerName(customerName);
order.setBusinessNumber(businessNumber);
order.setContactNumber(contactNumber);
Date date = new Date();
order.setCreateTime(date);
order.setNowPackage(oldPackage);
order.setBusinessPackage(newPackage);
order.setUserId(businessNumber);
order.setUserType(UserType.OLDCUSTOMER.getId());
order.setOrderNumber("YRYM" + ProduceIdUtil.getId());
String path = PicturesUtil.uploadPictures(signUrl, order.getId(),"signImg");
order.setSignImg(path);
String schoolId = appMapper.selectSchoolId(partner);
List<String> dudao = appMapper.selectsupervisorBySchool(schoolId);
if (dudao != null || dudao.size() != 0) {
SysUser user = userMapper.selectById(dudao.get(0));
order.setSupervisorName(user.getName());
}
Integer insert = orderMapper.insert(order);
appMapper.inserOrderHis(id, "存量升级成功", date, "用户:"+customerName);
if (insert == 1) {
return ResponseData.success(id,"存量升级成功");
}
return ResponseData.error("升级失败!");
}
/**
* 查询套餐升级信息 旧
* *
* @param selectOrder 查询的手机号、身份证、宽带账号 * @param selectOrder 查询的手机号、身份证、宽带账号
* @param verificationCode 验证码 * @param verificationCode 验证码
* @return * @return
*/ */
......
...@@ -21,15 +21,12 @@ import com.baomidou.mybatisplus.enums.SqlLike; ...@@ -21,15 +21,12 @@ import com.baomidou.mybatisplus.enums.SqlLike;
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.google.common.util.concurrent.Service.State;
import com.itextpdf.text.pdf.PdfStructTreeController.returnType;
import com.winsun.auth.core.annotion.Permission; import com.winsun.auth.core.annotion.Permission;
import com.winsun.auth.core.base.controller.BaseController; import com.winsun.auth.core.base.controller.BaseController;
import com.winsun.auth.core.common.model.ResponseData; import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.auth.core.shiro.ShiroUser; import com.winsun.auth.core.shiro.ShiroUser;
import com.winsun.bean.QRCode;
import com.winsun.bean.activity.HhrActivity; import com.winsun.bean.activity.HhrActivity;
import com.winsun.bean.activity.HhrActivityRecord;
import com.winsun.mapper.activity.ActivityMapper; import com.winsun.mapper.activity.ActivityMapper;
import com.winsun.utils.PicturesUtil; import com.winsun.utils.PicturesUtil;
......
...@@ -95,7 +95,7 @@ public class AppConfigController extends BaseController { ...@@ -95,7 +95,7 @@ public class AppConfigController extends BaseController {
appConfig.setUpdateTime(new Date()); appConfig.setUpdateTime(new Date());
Integer integer1 = appConfigMapper.updateById(appConfig); Integer integer1 = appConfigMapper.updateById(appConfig);
if(integer1 > 0) { if(integer1 > 0) {
return ResponseData.success(null, "更新成功"); return ResponseData.success("", "更新成功");
} }
return ResponseData.error("更新失败"); return ResponseData.error("更新失败");
} }
...@@ -113,7 +113,7 @@ public class AppConfigController extends BaseController { ...@@ -113,7 +113,7 @@ public class AppConfigController extends BaseController {
/** /**
* 查询应用列表 * 查询应用列表
* @param appConfig * @param appName
* @param pageIndex * @param pageIndex
* @param pageSize * @param pageSize
* @return * @return
...@@ -129,7 +129,9 @@ public class AppConfigController extends BaseController { ...@@ -129,7 +129,9 @@ public class AppConfigController extends BaseController {
Page<AppConfig> page = new Page<>(); Page<AppConfig> page = new Page<>();
page.setTotal(appConfigs.size()); page.setTotal(appConfigs.size());
Integer endpageSize = (pageIndex-1) == appConfigs.size()/pageSize ? (pageIndex-1)*pageSize+appConfigs.size()%pageSize : pageIndex*pageSize; // Integer endpageSize = (pageIndex-1) == appConfigs.size()/pageSize ? (pageIndex-1)*pageSize+appConfigs.size()%pageSize : pageIndex*pageSize;
Integer endpageSize = pageIndex.equals(appConfigs.size()/pageSize+1) ? (pageIndex-1)*pageSize+appConfigs.size()%pageSize : pageIndex*pageSize;
appConfigs = appConfigs.subList((pageIndex - 1)*pageSize, endpageSize); appConfigs = appConfigs.subList((pageIndex - 1)*pageSize, endpageSize);
page.setRecords(appConfigs); page.setRecords(appConfigs);
......
...@@ -142,8 +142,6 @@ public class OrderController extends BaseController { ...@@ -142,8 +142,6 @@ public class OrderController extends BaseController {
@Autowired @Autowired
private ISalesListService salesListService; private ISalesListService salesListService;
private InputStream in = this.getClass().getResourceAsStream("/txtfiledetail.properties");
private Properties prop = new Properties();
@Autowired @Autowired
public OrderController(OrderMapper orderMapper, SchoolMapper schoolMapper, SysUserMapper sysUserMapper, public OrderController(OrderMapper orderMapper, SchoolMapper schoolMapper, SysUserMapper sysUserMapper,
...@@ -579,8 +577,6 @@ public class OrderController extends BaseController { ...@@ -579,8 +577,6 @@ public class OrderController extends BaseController {
int num = 0; int num = 0;
if (StringUtils.isNotBlank(student_card)) { if (StringUtils.isNotBlank(student_card)) {
try { try {
String hhr_img = prop.getProperty("hhr_img");
prop.load(in);
//重新上传图片 //重新上传图片
String base64Data = student_card.split(",")[1]; String base64Data = student_card.split(",")[1];
...@@ -1739,13 +1735,6 @@ public class OrderController extends BaseController { ...@@ -1739,13 +1735,6 @@ public class OrderController extends BaseController {
// 预实名接口发起 // 预实名接口发起
public String sendOrder(Map<String, Object> map) { public String sendOrder(Map<String, Object> map) {
try {
prop.load(in);
} catch (IOException e1) {
e1.printStackTrace();
}
String hhr_img = prop.getProperty("hhr_img");
String str = ""; String str = "";
try { try {
...@@ -2094,12 +2083,13 @@ public class OrderController extends BaseController { ...@@ -2094,12 +2083,13 @@ public class OrderController extends BaseController {
order.setAcceptResult("受理成功"); order.setAcceptResult("受理成功");
order.setOrderStatus("已完成"); order.setOrderStatus("已完成");
List<Order> orderByNumber = orderMapper.selectList(wrapper); List<Order> orderByNumber = orderMapper.selectList(wrapper);
SysUser sysUser = sysUserMapper.selectById(orderByNumber.get(0).getHehuorenId());
SalesList sales = new SalesList(); SalesList sales = new SalesList();
Date date = new Date(); Date date = new Date();
sales.setOrderPhone(orderByNumber.get(0).getBusinessNumber()); sales.setOrderPhone(orderByNumber.get(0).getBusinessNumber());
sales.setUserId(orderByNumber.get(0).getHehuorenId()); sales.setUserId(orderByNumber.get(0).getHehuorenId());
sales.setName(orderByNumber.get(0).getHehuorenName()); sales.setName(orderByNumber.get(0).getHehuorenName());
sales.setAccount(user.getAccount()); sales.setAccount(sysUser.getAccount());
sales.setCreateTime(date); sales.setCreateTime(date);
sales.setStatus("5"); sales.setStatus("5");
sales.setRemark(contentMsg); sales.setRemark(contentMsg);
......
...@@ -149,7 +149,9 @@ public class hhrUserController extends BaseController { ...@@ -149,7 +149,9 @@ public class hhrUserController extends BaseController {
/** /**
* 更新销售县分 * 更新销售县分
* @param salesList * @param id
* @param salesSubst
* @param salesSchool
* @return * @return
*/ */
@Permission(menuname = "更新销售县分", value = "updateSalesList", method = RequestMethod.POST) @Permission(menuname = "更新销售县分", value = "updateSalesList", method = RequestMethod.POST)
...@@ -169,7 +171,7 @@ public class hhrUserController extends BaseController { ...@@ -169,7 +171,7 @@ public class hhrUserController extends BaseController {
salesList.setSalesSubst(salesSubst); salesList.setSalesSubst(salesSubst);
salesList.setSalesSchool(salesSchool); salesList.setSalesSchool(salesSchool);
salesListMapper.updateById(salesList); salesListMapper.updateById(salesList);
return ResponseData.success(null, "更新成功"); return ResponseData.success("更新成功");
}catch(Exception e) { }catch(Exception e) {
e.printStackTrace(); e.printStackTrace();
return ResponseData.error("更新失败"); return ResponseData.error("更新失败");
......
#############################################################################
#ػFTP
#
ftp_host=127.0.0.1
ftp_port=21
ftp_username=root
ftp_password=qUDZj/w2Rus=
ftp_sys=E:/FTP
hhr_img=/datas/apps/web/tomcats/apache-tomcat-7.0.100-hhr/hhrphoto
#hhr_img=D:/a
sign_img=/datas/apps/web/tomcats/apache-tomcat-7.0.100-hhr/hhr-sign-img
#sign_img=D:/a
yrym_sign=rQXPSHvWvHasj17#5L70ux3KvlWNqoVQ
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