v2
This commit is contained in:
@@ -23,6 +23,10 @@
|
|||||||
<groupId>p6spy</groupId>
|
<groupId>p6spy</groupId>
|
||||||
<artifactId>p6spy</artifactId>
|
<artifactId>p6spy</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.ruoyi</groupId>
|
||||||
|
<artifactId>ruoyi-system</artifactId>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.ruoyi</groupId>
|
<groupId>com.ruoyi</groupId>
|
||||||
<artifactId>ct</artifactId>
|
<artifactId>ct</artifactId>
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ public class EncryptDemo {
|
|||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
// SM2的公钥
|
// SM2的公钥
|
||||||
// String publicKey = "MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEZRdaHuSCG8U87+Cmh9LKbgC+DRBEwWpAyN31aCzoE1flWonnZezX2GqbvDdz7a0AxE6+FGEH1lxPYW39XhYupw==";
|
// String publicKey = "MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEZRdaHuSCG8U87+Cmh9LKbgC+DRBEwWpAyN31aCzoE1flWonnZezX2GqbvDdz7a0AxE6+FGEH1lxPYW39XhYupw==";
|
||||||
String publicKey = "MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEZRdaHuSCG8U87+Cmh9LKbgC+DRBEwWpAyN31aCzoE1flWonnZezX2GqbvDdz7a0AxE6+FGEH1lxPYW39XhYupw==";
|
String publicKey = "MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEXGNABR3GP+JwMDuCoGkb2XlLAFaxW+BH/lsFwYd0MdycIgygZuQXW1bKoGIKDWRy0NfLl3LoHMdhgq3QC9lqPg==";
|
||||||
// SM2的私钥
|
// SM2的私钥
|
||||||
String privateKey = "MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQg006Jj+5NK9HrtnyXNpnb131jV/8CHeo5t2T74WliktCgCgYIKoEcz1UBgi2hRANCAARPJZBDpVhCRt5bkQuYUWv9T8MAkahw0R3eG6cWbgShEdkPUxlzKqUJH+n/ogKbBlZhMArd3P3o1pvGLrIY5KQJ";
|
String privateKey = "MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgvH2W6ns3iHYntIwC8gj07yuMygk42R/dWvJrxSuSKqqgCgYIKoEcz1UBgi2hRANCAAQjIDLY5pi08KQxPpGtRML4+cuoRcKrUlhZEDnAI3j3PxwEwJdSIul3Vmtm2Tz0gVWsp1F39rqq6yxuhqV+upyN";
|
||||||
// String privateKey = "MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQghUZb+m/+ficnlbtoVJhkbUsw9FKQ5yF1wYcOP+tRQK+gCgYIKoEcz1UBgi2hRANCAASsJ3XVa/Udszyl0/tudSM7tUJsK190+2UQmEEZ6qLbRguzN+vaI3dsc04KllUojTRgXvE3vfaNAHOwQ6H5cjH+";
|
// String privateKey = "MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQghUZb+m/+ficnlbtoVJhkbUsw9FKQ5yF1wYcOP+tRQK+gCgYIKoEcz1UBgi2hRANCAASsJ3XVa/Udszyl0/tudSM7tUJsK190+2UQmEEZ6qLbRguzN+vaI3dsc04KllUojTRgXvE3vfaNAHOwQ6H5cjH+";
|
||||||
// 初始化SM2
|
// 初始化SM2
|
||||||
SM2 sm2 = SmUtil.sm2(privateKey, publicKey);
|
SM2 sm2 = SmUtil.sm2(privateKey, publicKey);
|
||||||
@@ -21,9 +21,9 @@ public class EncryptDemo {
|
|||||||
// String encryptStr3 = sm2.encryptBase64("13371893748", KeyType.PublicKey);
|
// String encryptStr3 = sm2.encryptBase64("13371893748", KeyType.PublicKey);
|
||||||
// System.out.println(sm2.encryptBase64("e34c1951-c492-4ed5-8e02-1e44eee3df7b", KeyType.PublicKey));
|
// System.out.println(sm2.encryptBase64("e34c1951-c492-4ed5-8e02-1e44eee3df7b", KeyType.PublicKey));
|
||||||
// System.out.println(encryptStr);
|
// System.out.println(encryptStr);
|
||||||
String a = "69bd19ff-8fff-400e-9aba-25e36f1f5438";
|
String a = "1ec03852-c1b1-447c-a266-0e6e94875f1d";
|
||||||
String b = "{\n" +
|
String b = "{\n" +
|
||||||
" \"saleId\": \"108002\",\n" +
|
" \"saleId\": \"107656\",\n" +
|
||||||
" \"name\": \"毕彦兵\",\n" +
|
" \"name\": \"毕彦兵\",\n" +
|
||||||
" \"idCard\": \"230104198809293718\",\n" +
|
" \"idCard\": \"230104198809293718\",\n" +
|
||||||
" \"contactMobile\": \"18980692055\",\n" +
|
" \"contactMobile\": \"18980692055\",\n" +
|
||||||
@@ -31,13 +31,13 @@ public class EncryptDemo {
|
|||||||
// " \"city\": \"哈尔滨市\",\n" +
|
// " \"city\": \"哈尔滨市\",\n" +
|
||||||
// " \"county\": \"松北区\",\n" +
|
// " \"county\": \"松北区\",\n" +
|
||||||
// " \"installedAddress\": \"世茂大道\",\n" +
|
// " \"installedAddress\": \"世茂大道\",\n" +
|
||||||
" \"number\": \"15317740623\"\n" +
|
" \"number\": \"19384158412\"\n" +
|
||||||
"}";
|
"}";
|
||||||
String c = "{\"serialNumber\": \"437f78390b4c4a57b91cb804da0fe424\"}";
|
String c = "{\"serialNumber\": \"437f78390b4c4a57b91cb804da0fe424\"}";
|
||||||
System.out.println(sm2.encryptBase64(c, KeyType.PublicKey));
|
System.out.println(sm2.encryptBase64(a, KeyType.PublicKey));
|
||||||
// System.out.println(encryptStr3);
|
// System.out.println(encryptStr3);
|
||||||
// 使用SM2解密字符串
|
// 使用SM2解密字符串
|
||||||
// String data = sm2.decryptStr("BI7jtmBaoB+O0E/5qbBZd35h5M/BGhLcCB0kOM5ONebPJNC7+mS404aeYpqQEmW5caqLYX9y6eV87tOKwWC3bs+ns83SHA8k1yMMTZrHKooPAH28ylgrgv/jZZbw7Xtsfxm3+XjWUQDmacHrYujwlhCiAHRxAEIot/3fvSkVB49gHjaDj7ER0NQCKUwVt5xLXgJlCHyYsWmY+ZWj6LmzBzIdND1IFQIEx3iKDuXAgZ05ojQb+y27YlI1TLKn36eTOlhifdnOG89UN1UWkMZuZ8m5qnaMyR7bT+7LazIyBvgAGMkgGpCNwVBXT4t5y+/nRvHwYkURGGO7DLgybL5/KtZ74yemZ52tqgU8pm4HWNWncdZ7veeu55gwUe8ttt3C8UtTwtSYlrRpfoWTSwE8rBtvl//MZWkNXqePCnO1QIQYhKiX5GopqjlxFLlr0CirW0/fhA==", KeyType.PrivateKey);
|
// String data = sm2.decryptStr("BJVOZMKm8hlussB8GeZHia6wF0AvzP4SdOEbdfrNgAa\\/LVAudJD+rGmS1Zn7kD1l6gbw4XsySGpi+uOl\\/+JNpgwIjL+t9IXK0ogTICPDIJIvgf\\/79YxKzXj01pMCeosGac0Jqi5r8J\\/r0pxUNLZvnx4iS+M73j3D08o8OkrTB3LTDxyZPA==\"},\"verify\":false,\"body\":\"BLvEwASr7\\/cuu9v+oNurtm5kHbnkhu1AzQtOfNhC49j49Ai\\/mHa+uKslUXWHFdiXQuaEs8ZVxSUscew6z5nBcujtZ8R5KkFK9UAxWEkqtmmKIyOxwPLFAuw\\/QdR7mzxMctdwt7yP5rma9zgVVXrL1nKn2+ACKjLqvxtj0tCKZrx2\\/zUcMd8JaUvIksNRIxbtMLr9NLXCDuiR+B\\/sCYFp1iOxrxS34ZfPQR4ayYj0kWQtx4FAgD87\\/2f5Crf6Dbrgmxcwjf2hWN+QXub16puR0OMHnqc8XKkEzER8255u3EGoIfFLZTQzUQv1HRJox\\/tIvXDh\\/uMgLQGjEEMrvBO8k\\/mu+De8ZNfX7FQp\\/x\\/Vck\\/mxOs=", KeyType.PrivateKey);
|
||||||
// String data = sm2.decryptStr("BLmSzK7I1FAzi+bePR5HhCL0WruEYftUA4bw1cU0TBM0xfX4MX6ImLJzVBJP5jATbOsDC136xuDBf8uFZxmXf2gnIEOX+qBfZD7LcPgdcv06TpnCVtEQEcGULMe/iB3SEHj2xAx3R3bbkgXKGrJ2paj2D4S0uwbs0mLYpIQLFXsXogNupeUHEIq8aLNyUEDRH9HMFG+sJMJpGW80CaywaCCoevpwjc2pAdMdejT5+4/mQjXhKE5kBMyuRA0ugHR6ZfMd9P+pEk6UFDzlWw8kJ11xWgPZcNKWNA3JJBt035jdyMLNfIrPSeHjVXoQZR/l0CXcu+CsFuYvRH3zVaZBqFy+mmeB8omsdnGiuVYcJQfhAnrdU2p4bZEYAwN7KdaZCOPwE/xHoEyAsxKn/WExsYNfyaCs7wzrVaRJmOGBxL4AxzH9W4M6K6SILdPWeaz/DnPZG+pkSIck9jUwcYQnXR9y2EO95l1kwnbYrhFvL5EdLvHZgnrpWP2P7NCqixCKWYP/2rOoXpfhC0e+6w26lKAOUNbqlMWmvEcNBSUqLLzlmogmhB+Dk3SaJX6cwsFzJR9qW/4jE52V+E2pcD4ZIiqNu6UkFWZvMwQqxUvn/evyoKpPQZNr16HKTmyqG/BODPSDPOACmLDD/B8cLidb9MQaYbfS9eEXkTR7GMWji4YGBU8sMBP7WA==", KeyType.PrivateKey);
|
// String data = sm2.decryptStr("BLmSzK7I1FAzi+bePR5HhCL0WruEYftUA4bw1cU0TBM0xfX4MX6ImLJzVBJP5jATbOsDC136xuDBf8uFZxmXf2gnIEOX+qBfZD7LcPgdcv06TpnCVtEQEcGULMe/iB3SEHj2xAx3R3bbkgXKGrJ2paj2D4S0uwbs0mLYpIQLFXsXogNupeUHEIq8aLNyUEDRH9HMFG+sJMJpGW80CaywaCCoevpwjc2pAdMdejT5+4/mQjXhKE5kBMyuRA0ugHR6ZfMd9P+pEk6UFDzlWw8kJ11xWgPZcNKWNA3JJBt035jdyMLNfIrPSeHjVXoQZR/l0CXcu+CsFuYvRH3zVaZBqFy+mmeB8omsdnGiuVYcJQfhAnrdU2p4bZEYAwN7KdaZCOPwE/xHoEyAsxKn/WExsYNfyaCs7wzrVaRJmOGBxL4AxzH9W4M6K6SILdPWeaz/DnPZG+pkSIck9jUwcYQnXR9y2EO95l1kwnbYrhFvL5EdLvHZgnrpWP2P7NCqixCKWYP/2rOoXpfhC0e+6w26lKAOUNbqlMWmvEcNBSUqLLzlmogmhB+Dk3SaJX6cwsFzJR9qW/4jE52V+E2pcD4ZIiqNu6UkFWZvMwQqxUvn/evyoKpPQZNr16HKTmyqG/BODPSDPOACmLDD/B8cLidb9MQaYbfS9eEXkTR7GMWji4YGBU8sMBP7WA==", KeyType.PrivateKey);
|
||||||
// System.out.println(data);
|
// System.out.println(data);
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import com.ruoyi.common.core.domain.CTResponse;
|
|||||||
import com.ruoyi.common.core.domain.PageQuery;
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.R;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.ct.CTNetException;
|
||||||
import com.ruoyi.ct.domain.AgentOrder;
|
import com.ruoyi.ct.domain.AgentOrder;
|
||||||
import com.ruoyi.ct.domain.bo.AgentAccountGoodBo;
|
import com.ruoyi.ct.domain.bo.AgentAccountGoodBo;
|
||||||
import com.ruoyi.ct.domain.bo.AgentOrderBo;
|
import com.ruoyi.ct.domain.bo.AgentOrderBo;
|
||||||
@@ -123,7 +124,7 @@ public class APIController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
List<JSONObject> data = ctService.selectNumber(agentAccountVo.getPersonnelId(), agentAccountGoodVo.getSaleId(), String.valueOf(page), String.valueOf(pageSize));
|
List<JSONObject> data = ctService.selectNumber(agentAccountGoodVo.getPersonnelId(), agentAccountGoodVo.getSaleId(), String.valueOf(page), String.valueOf(pageSize));
|
||||||
saveLog(request, agentAccountVo.getPersonnelId(), 1, "", data.toString());
|
saveLog(request, agentAccountVo.getPersonnelId(), 1, "", data.toString());
|
||||||
return R.ok(data);
|
return R.ok(data);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -157,8 +158,7 @@ public class APIController extends BaseController {
|
|||||||
agentOrderBo.setAgentId(agentAccountVo.getAgentId());
|
agentOrderBo.setAgentId(agentAccountVo.getAgentId());
|
||||||
agentOrderBo.setStoreId("13");
|
agentOrderBo.setStoreId("13");
|
||||||
agentOrderBo.setSerialNumber(UUID.randomUUID().toString().replace("-", ""));
|
agentOrderBo.setSerialNumber(UUID.randomUUID().toString().replace("-", ""));
|
||||||
agentOrderBo.setStatus("0");
|
|
||||||
agentOrderBo.setPersonnelId(agentAccountVo.getPersonnelId());
|
|
||||||
agentOrderBo.setCreateTime(new Date());
|
agentOrderBo.setCreateTime(new Date());
|
||||||
AgentAccountGoodVo agentAccountGoodVo;
|
AgentAccountGoodVo agentAccountGoodVo;
|
||||||
SM2 sm2 = (SM2) request.getAttribute("sm2");
|
SM2 sm2 = (SM2) request.getAttribute("sm2");
|
||||||
@@ -189,6 +189,7 @@ public class APIController extends BaseController {
|
|||||||
saveLog(request, agentAccountVo.getPersonnelId(), 0, "saleId格式错误", null);
|
saveLog(request, agentAccountVo.getPersonnelId(), 0, "saleId格式错误", null);
|
||||||
return R.fail(ERROR_CODE_PARAMS, "参数错误");
|
return R.fail(ERROR_CODE_PARAMS, "参数错误");
|
||||||
}
|
}
|
||||||
|
agentOrderBo.setPersonnelId(agentAccountGoodVo.getPersonnelId());
|
||||||
|
|
||||||
// 校验用户信息,姓名、身份证、手机号
|
// 校验用户信息,姓名、身份证、手机号
|
||||||
if (ObjectUtils.isNull(agentOrderBo.getName())) {
|
if (ObjectUtils.isNull(agentOrderBo.getName())) {
|
||||||
@@ -273,31 +274,62 @@ public class APIController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 保存数据
|
// 保存数据
|
||||||
// agentOrderService.insertByBo(agentOrderBo);
|
agentOrderBo.setStatus("0");
|
||||||
|
agentOrderService.insertByBo(agentOrderBo);
|
||||||
|
CTResponse<String> response = null;
|
||||||
|
String sn = UUID.randomUUID().toString();
|
||||||
|
log.error(sn+" ------------------下单开始-------------------");
|
||||||
try {
|
try {
|
||||||
CTResponse<String> response = ctService.saveOrder(agentOrderBo.getName(), agentOrderBo.getIdCard(), agentOrderBo.getContactMobile(),
|
response = ctService.saveOrder(agentOrderBo.getName(), agentOrderBo.getIdCard(), agentOrderBo.getContactMobile(),
|
||||||
agentOrderBo.getInstalledAddress(), agentOrderBo.getSaleId(), agentOrderBo.getStoreId(),
|
agentOrderBo.getInstalledAddress(), agentOrderBo.getSaleId(), agentOrderBo.getStoreId(),
|
||||||
agentOrderBo.getPersonnelId(), agentOrderBo.getProvince(), agentOrderBo.getCity(),
|
agentOrderBo.getPersonnelId(), agentOrderBo.getProvince(), agentOrderBo.getCity(),
|
||||||
agentOrderBo.getCounty(), agentOrderBo.getSerialNumber(), agentOrderBo.getNumber(),
|
agentOrderBo.getCounty(), agentOrderBo.getSerialNumber(), agentOrderBo.getNumber(),
|
||||||
agentOrderBo.getLogiRemark(), agentOrderBo.getPageUrl(), agentOrderBo.getRemark(),
|
agentOrderBo.getLogiRemark(), agentOrderBo.getPageUrl(), agentOrderBo.getRemark(),
|
||||||
agentOrderBo.getInstallAddress(), "", "");
|
agentOrderBo.getInstallAddress(), "", "", sn);
|
||||||
if (response.isSuccess()) {
|
if (response.isSuccess()) {
|
||||||
agentOrderBo.setOrderNum(response.getData());
|
agentOrderBo.setOrderNum(response.getData());
|
||||||
agentOrderBo.setOrderStatus("S1000");
|
agentOrderBo.setOrderStatus("S1000");
|
||||||
agentOrderBo.setStatus("0");
|
agentOrderBo.setStatus("0");
|
||||||
agentOrderService.insertByBo(agentOrderBo);
|
// agentOrderService.insertByBo(agentOrderBo);
|
||||||
|
agentOrderService.updateByBo(agentOrderBo);
|
||||||
|
log.error(sn+" ------------------下单成功------------------- ");
|
||||||
return R.ok("操作成功", agentOrderBo.getSerialNumber());
|
return R.ok("操作成功", agentOrderBo.getSerialNumber());
|
||||||
} else {
|
} else {
|
||||||
// 订单验证失败
|
// 订单验证失败
|
||||||
log.error("电信订单验证失败");
|
log.error(sn+" ------------------下单失败-------------------");
|
||||||
|
log.error(sn+" 电信订单验证失败");
|
||||||
|
log.error(sn+" 订单号:"+agentOrderBo.getSerialNumber());
|
||||||
|
log.error(sn+response.getMessage());
|
||||||
|
log.error(sn+" ------------------下单结束------------------- ");
|
||||||
|
agentOrderBo.setStatus("-1");
|
||||||
|
agentOrderService.updateByBo(agentOrderBo);
|
||||||
saveLog(request, agentAccountVo.getPersonnelId(), 0, "电信订单验证失败", response.getMessage());
|
saveLog(request, agentAccountVo.getPersonnelId(), 0, "电信订单验证失败", response.getMessage());
|
||||||
return R.fail(ERROR_CODE_PARAMS, response.getMessage());
|
return R.fail(ERROR_CODE_PARAMS, response.getMessage());
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (CTNetException e) {
|
||||||
|
// 504
|
||||||
saveLog(request, agentAccountVo.getPersonnelId(), 0, "电信请求异常", "");
|
saveLog(request, agentAccountVo.getPersonnelId(), 0, "电信请求异常", "");
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
log.error(e.getMessage());
|
log.error(e.getMessage());
|
||||||
return R.fail(ERROR_CODE_NETWORK, "电信网络异常");
|
log.error(sn+" ------------------下单异常-------------------");
|
||||||
|
log.error(sn+" 电信订单验网络异常");
|
||||||
|
log.error(sn+" 订单号:"+agentOrderBo.getSerialNumber());
|
||||||
|
log.error(sn+" ------------------下单结束------------------- ");
|
||||||
|
agentOrderBo.setStatus("-2");
|
||||||
|
agentOrderBo.setHasError(1);
|
||||||
|
agentOrderService.updateByBo(agentOrderBo);
|
||||||
|
return R.fail(ERROR_CODE_NETWORK, "内部业务网络异常", agentOrderBo.getSerialNumber());
|
||||||
|
} catch (Exception e) {
|
||||||
|
saveLog(request, agentAccountVo.getPersonnelId(), 0, "电信请求异常", "");
|
||||||
|
e.printStackTrace();
|
||||||
|
log.error(sn+" ------------------下单异常-------------------");
|
||||||
|
log.error(sn+" 电信订单验网络异常");
|
||||||
|
log.error(sn+" 订单号:"+agentOrderBo.getSerialNumber());
|
||||||
|
log.error(sn+" ------------------下单结束------------------- ");
|
||||||
|
agentOrderBo.setStatus("-2");
|
||||||
|
agentOrderBo.setHasError(1);
|
||||||
|
agentOrderService.updateByBo(agentOrderBo);
|
||||||
|
return R.fail(ERROR_CODE_NETWORK, "内部业务网络异常", agentOrderBo.getSerialNumber());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -329,7 +361,8 @@ public class APIController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
LambdaQueryWrapper<AgentOrder> lqw = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<AgentOrder> lqw = new LambdaQueryWrapper<>();
|
||||||
lqw.eq(AgentOrder::getPersonnelId, agentAccountVo.getPersonnelId());
|
// lqw.eq(AgentOrder::getPersonnelId, agentAccountVo.getPersonnelId());
|
||||||
|
lqw.eq(AgentOrder::getAgentAccountId, agentAccountVo.getId());
|
||||||
lqw.eq(ObjectUtils.isNotNull(saleId), AgentOrder::getSaleId, saleId);
|
lqw.eq(ObjectUtils.isNotNull(saleId), AgentOrder::getSaleId, saleId);
|
||||||
if (ObjectUtils.isNotNull(name)) {
|
if (ObjectUtils.isNotNull(name)) {
|
||||||
try {
|
try {
|
||||||
@@ -417,7 +450,7 @@ public class APIController extends BaseController {
|
|||||||
AgentOrderBo bo = new AgentOrderBo();
|
AgentOrderBo bo = new AgentOrderBo();
|
||||||
bo.setSerialNumber(serialNumber);
|
bo.setSerialNumber(serialNumber);
|
||||||
bo.setAgentId(agentAccountVo.getAgentId());
|
bo.setAgentId(agentAccountVo.getAgentId());
|
||||||
bo.setPersonnelId(agentAccountVo.getPersonnelId());
|
// bo.setPersonnelId(agentAccountVo.getPersonnelId());
|
||||||
List<AgentOrderVo> voList = agentOrderService.queryList(bo);
|
List<AgentOrderVo> voList = agentOrderService.queryList(bo);
|
||||||
if (voList.size() > 0) {
|
if (voList.size() > 0) {
|
||||||
AgentOrderVo vo = voList.get(0);
|
AgentOrderVo vo = voList.get(0);
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import com.ruoyi.common.core.domain.CTResponse;
|
|||||||
import com.ruoyi.common.core.domain.PageQuery;
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.R;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.ct.CTNetException;
|
||||||
import com.ruoyi.ct.domain.AgentOrder;
|
import com.ruoyi.ct.domain.AgentOrder;
|
||||||
import com.ruoyi.ct.domain.bo.AgentAccountGoodBo;
|
import com.ruoyi.ct.domain.bo.AgentAccountGoodBo;
|
||||||
import com.ruoyi.ct.domain.bo.AgentOrderBo;
|
import com.ruoyi.ct.domain.bo.AgentOrderBo;
|
||||||
@@ -124,7 +125,7 @@ public class APIControllerV2 extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
List<JSONObject> data = ctService.selectNumber(agentAccountVo.getPersonnelId(), agentAccountGoodVo.getSaleId(), String.valueOf(page), String.valueOf(pageSize));
|
List<JSONObject> data = ctService.selectNumber(agentAccountGoodVo.getPersonnelId(), agentAccountGoodVo.getSaleId(), String.valueOf(page), String.valueOf(pageSize));
|
||||||
saveLog(request, agentAccountVo.getPersonnelId(), 1, "", data.toString());
|
saveLog(request, agentAccountVo.getPersonnelId(), 1, "", data.toString());
|
||||||
return R.ok(data);
|
return R.ok(data);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -302,7 +303,7 @@ public class APIControllerV2 extends BaseController {
|
|||||||
agentOrderBo.setStoreId("13");
|
agentOrderBo.setStoreId("13");
|
||||||
agentOrderBo.setSerialNumber(UUID.randomUUID().toString().replace("-", ""));
|
agentOrderBo.setSerialNumber(UUID.randomUUID().toString().replace("-", ""));
|
||||||
agentOrderBo.setStatus("2");
|
agentOrderBo.setStatus("2");
|
||||||
agentOrderBo.setPersonnelId(agentAccountVo.getPersonnelId());
|
|
||||||
agentOrderBo.setCreateTime(new Date());
|
agentOrderBo.setCreateTime(new Date());
|
||||||
AgentAccountGoodVo agentAccountGoodVo;
|
AgentAccountGoodVo agentAccountGoodVo;
|
||||||
SM2 sm2 = (SM2) request.getAttribute("sm2");
|
SM2 sm2 = (SM2) request.getAttribute("sm2");
|
||||||
@@ -334,6 +335,8 @@ public class APIControllerV2 extends BaseController {
|
|||||||
return R.fail(ERROR_CODE_PARAMS, "参数错误");
|
return R.fail(ERROR_CODE_PARAMS, "参数错误");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
agentOrderBo.setPersonnelId(agentAccountGoodVo.getPersonnelId());
|
||||||
|
|
||||||
// 校验用户信息,姓名、身份证、手机号
|
// 校验用户信息,姓名、身份证、手机号
|
||||||
if (ObjectUtils.isNull(agentOrderBo.getName())) {
|
if (ObjectUtils.isNull(agentOrderBo.getName())) {
|
||||||
log.error("姓名为空");
|
log.error("姓名为空");
|
||||||
@@ -445,7 +448,13 @@ public class APIControllerV2 extends BaseController {
|
|||||||
|
|
||||||
JSONObject requestBody = JSONUtil.parseObj(body);
|
JSONObject requestBody = JSONUtil.parseObj(body);
|
||||||
System.out.println("requestBody = " + requestBody);
|
System.out.println("requestBody = " + requestBody);
|
||||||
|
log.error("上传图片");
|
||||||
|
log.error("上传图片类型:"+requestBody.getStr("type"));
|
||||||
|
log.error("上传图片订单号:"+requestBody.getStr("serialNumber"));
|
||||||
|
log.error("上传图片size:"+requestBody.getStr("img").length());
|
||||||
AgentOrderVo agentOrderVo = agentOrderService.queryBySerialNumber(requestBody.getStr("serialNumber"));
|
AgentOrderVo agentOrderVo = agentOrderService.queryBySerialNumber(requestBody.getStr("serialNumber"));
|
||||||
|
log.error("上传图片用户:"+agentOrderVo.getName());
|
||||||
|
log.error("上传图片商品:"+agentOrderVo.getTitle());
|
||||||
if (ObjectUtils.isNull(agentOrderVo)) {
|
if (ObjectUtils.isNull(agentOrderVo)) {
|
||||||
log.error("订单不存在");
|
log.error("订单不存在");
|
||||||
saveLog(request, agentAccountVo.getPersonnelId(), 0, "订单不存在", null);
|
saveLog(request, agentAccountVo.getPersonnelId(), 0, "订单不存在", null);
|
||||||
@@ -469,10 +478,10 @@ public class APIControllerV2 extends BaseController {
|
|||||||
agentOrderBo.setFrontFace(1);
|
agentOrderBo.setFrontFace(1);
|
||||||
}
|
}
|
||||||
agentOrderService.updateByBo(agentOrderBo);
|
agentOrderService.updateByBo(agentOrderBo);
|
||||||
return R.ok(agentOrderVo.getSerialNumber());
|
return R.ok("操作成功", agentOrderVo.getSerialNumber());
|
||||||
} else {
|
} else {
|
||||||
// 订单验证失败
|
// 订单验证失败
|
||||||
log.error("上传失败");
|
log.error("上传成功,验证失败");
|
||||||
saveLog(request, agentAccountVo.getPersonnelId(), 0, "上传失败", response.getMessage());
|
saveLog(request, agentAccountVo.getPersonnelId(), 0, "上传失败", response.getMessage());
|
||||||
return R.fail(ERROR_CODE_PARAMS, response.getMessage());
|
return R.fail(ERROR_CODE_PARAMS, response.getMessage());
|
||||||
}
|
}
|
||||||
@@ -481,14 +490,14 @@ public class APIControllerV2 extends BaseController {
|
|||||||
saveLog(request, agentAccountVo.getPersonnelId(), 0, "电信请求异常", "");
|
saveLog(request, agentAccountVo.getPersonnelId(), 0, "电信请求异常", "");
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
log.error(e.getMessage());
|
log.error(e.getMessage());
|
||||||
return R.fail(ERROR_CODE_NETWORK, "电信网络异常");
|
return R.fail(ERROR_CODE_NETWORK, "内部业务网络异常");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("confirmOrder")
|
@PostMapping("confirmOrder")
|
||||||
public R<String> confirmOrder(HttpServletRequest request, @RequestBody String body) {
|
public R<JSONObject> confirmOrder(HttpServletRequest request, @RequestBody String body) {
|
||||||
if (!checkAccount(request)) {
|
if (!checkAccount(request)) {
|
||||||
return R.fail(ERROR_CODE_LOGIN, request.getAttribute("msg").toString());
|
return R.fail(ERROR_CODE_LOGIN, request.getAttribute("msg").toString());
|
||||||
}
|
}
|
||||||
@@ -515,14 +524,17 @@ public class APIControllerV2 extends BaseController {
|
|||||||
saveLog(request, agentAccountVo.getPersonnelId(), 0, "照片上传不完整", null);
|
saveLog(request, agentAccountVo.getPersonnelId(), 0, "照片上传不完整", null);
|
||||||
return R.fail(ERROR_CODE_ENCRYPT, "照片上传不完整");
|
return R.fail(ERROR_CODE_ENCRYPT, "照片上传不完整");
|
||||||
}
|
}
|
||||||
|
CTResponse<String> response = null;
|
||||||
|
String sn = UUID.randomUUID().toString();
|
||||||
|
log.error(sn+" ------------------下单开始-------------------");
|
||||||
try {
|
try {
|
||||||
CTResponse<String> response = ctService.saveOrder(agentOrderVo.getName(), agentOrderVo.getIdCard(), agentOrderVo.getContactMobile(),
|
response = ctService.saveOrder(agentOrderVo.getName(), agentOrderVo.getIdCard(), agentOrderVo.getContactMobile(),
|
||||||
agentOrderVo.getInstalledAddress(), agentOrderVo.getSaleId(), agentOrderVo.getStoreId(),
|
agentOrderVo.getInstalledAddress(), agentOrderVo.getSaleId(), agentOrderVo.getStoreId(),
|
||||||
agentOrderVo.getPersonnelId(), agentOrderVo.getProvince(), agentOrderVo.getCity(),
|
agentOrderVo.getPersonnelId(), agentOrderVo.getProvince(), agentOrderVo.getCity(),
|
||||||
agentOrderVo.getCounty(), agentOrderVo.getSerialNumber(), agentOrderVo.getNumber(),
|
agentOrderVo.getCounty(), agentOrderVo.getSerialNumber(), agentOrderVo.getNumber(),
|
||||||
agentOrderVo.getLogiRemark(), agentOrderVo.getPageUrl(), agentOrderVo.getRemark(),
|
agentOrderVo.getLogiRemark(), agentOrderVo.getPageUrl(), agentOrderVo.getRemark(),
|
||||||
agentOrderVo.getInstallAddress(), "", "idCardFront,idCardBack,frontFace",
|
agentOrderVo.getInstallAddress(), "", "idCardFront,idCardBack,frontFace",
|
||||||
"2");
|
"2", sn);
|
||||||
if (response.isSuccess()) {
|
if (response.isSuccess()) {
|
||||||
AgentOrderBo agentOrderBo = new AgentOrderBo();
|
AgentOrderBo agentOrderBo = new AgentOrderBo();
|
||||||
agentOrderBo.setId(agentOrderVo.getId());
|
agentOrderBo.setId(agentOrderVo.getId());
|
||||||
@@ -530,18 +542,52 @@ public class APIControllerV2 extends BaseController {
|
|||||||
agentOrderBo.setOrderStatus("S1000");
|
agentOrderBo.setOrderStatus("S1000");
|
||||||
agentOrderBo.setStatus("0");
|
agentOrderBo.setStatus("0");
|
||||||
agentOrderService.updateByBo(agentOrderBo);
|
agentOrderService.updateByBo(agentOrderBo);
|
||||||
return R.ok("操作成功", agentOrderBo.getSerialNumber());
|
JSONObject result = new JSONObject();
|
||||||
|
result.set("serialNumber", agentOrderBo.getSerialNumber());
|
||||||
|
result.set("ctOrderNum", agentOrderBo.getOrderNum());
|
||||||
|
log.error(sn+" ------------------下单成功------------------- ");
|
||||||
|
return R.ok("操作成功", result);
|
||||||
} else {
|
} else {
|
||||||
// 订单验证失败
|
// 订单验证失败
|
||||||
log.error("电信订单验证失败");
|
log.error(sn+" ------------------下单失败-------------------");
|
||||||
|
log.error(sn+" 电信订单验证失败");
|
||||||
|
log.error(sn+" 订单号:"+agentOrderVo.getSerialNumber());
|
||||||
|
log.error(sn+response.getMessage());
|
||||||
|
log.error(sn+" ------------------下单结束------------------- ");
|
||||||
saveLog(request, agentAccountVo.getPersonnelId(), 0, "电信订单验证失败", response.getMessage());
|
saveLog(request, agentAccountVo.getPersonnelId(), 0, "电信订单验证失败", response.getMessage());
|
||||||
return R.fail(ERROR_CODE_PARAMS, response.getMessage());
|
return R.fail(ERROR_CODE_PARAMS, response.getMessage());
|
||||||
}
|
}
|
||||||
|
} catch (CTNetException e) {
|
||||||
|
// 504
|
||||||
|
saveLog(request, agentAccountVo.getPersonnelId(), 0, "电信请求异常", "");
|
||||||
|
e.printStackTrace();
|
||||||
|
log.error(e.getMessage());
|
||||||
|
AgentOrderBo agentOrderBo = new AgentOrderBo();
|
||||||
|
agentOrderBo.setId(agentOrderVo.getId());
|
||||||
|
log.error(e.getMessage());
|
||||||
|
log.error(sn+" ------------------下单异常-------------------");
|
||||||
|
log.error(sn+" 电信订单验网络异常");
|
||||||
|
log.error(sn+" 订单号:"+agentOrderVo.getSerialNumber());
|
||||||
|
log.error(sn+" ------------------下单结束------------------- ");
|
||||||
|
agentOrderBo.setStatus("-2");
|
||||||
|
agentOrderBo.setHasError(1);
|
||||||
|
agentOrderService.updateByBo(agentOrderBo);
|
||||||
|
return R.fail(ERROR_CODE_NETWORK, "内部业务网络异常", agentOrderVo.getSerialNumber());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
saveLog(request, agentAccountVo.getPersonnelId(), 0, "电信请求异常", "");
|
saveLog(request, agentAccountVo.getPersonnelId(), 0, "电信请求异常", "");
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
log.error(e.getMessage());
|
log.error(e.getMessage());
|
||||||
return R.fail(ERROR_CODE_NETWORK, "电信网络异常");
|
AgentOrderBo agentOrderBo = new AgentOrderBo();
|
||||||
|
agentOrderBo.setId(agentOrderVo.getId());
|
||||||
|
log.error(e.getMessage());
|
||||||
|
log.error(sn+" ------------------下单异常-------------------");
|
||||||
|
log.error(sn+" 电信订单验网络异常");
|
||||||
|
log.error(sn+" 订单号:"+agentOrderVo.getSerialNumber());
|
||||||
|
log.error(sn+" ------------------下单结束------------------- ");
|
||||||
|
agentOrderBo.setStatus("-2");
|
||||||
|
agentOrderBo.setHasError(1);
|
||||||
|
agentOrderService.updateByBo(agentOrderBo);
|
||||||
|
return R.fail(ERROR_CODE_NETWORK, "内部业务网络异常");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -140,7 +140,7 @@ public class APIFreeController extends BaseController {
|
|||||||
|
|
||||||
AgentAccountVo agentAccountVo = agentAccountService.queryById(agentAccountGoodVo.getAgentAccountId());
|
AgentAccountVo agentAccountVo = agentAccountService.queryById(agentAccountGoodVo.getAgentAccountId());
|
||||||
try {
|
try {
|
||||||
List<JSONObject> data = ctService.selectNumber(agentAccountVo.getPersonnelId(), agentAccountGoodVo.getSaleId(), String.valueOf(page), String.valueOf(pageSize));
|
List<JSONObject> data = ctService.selectNumber(agentAccountGoodVo.getPersonnelId(), agentAccountGoodVo.getSaleId(), String.valueOf(page), String.valueOf(pageSize));
|
||||||
saveLog(request, agentAccountVo.getPersonnelId(), 1, "", data.toString());
|
saveLog(request, agentAccountVo.getPersonnelId(), 1, "", data.toString());
|
||||||
return R.ok(data);
|
return R.ok(data);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -174,7 +174,7 @@ public class APIFreeController extends BaseController {
|
|||||||
agentOrderBo.setStoreId("13");
|
agentOrderBo.setStoreId("13");
|
||||||
agentOrderBo.setSerialNumber(UUID.randomUUID().toString().replace("-", ""));
|
agentOrderBo.setSerialNumber(UUID.randomUUID().toString().replace("-", ""));
|
||||||
agentOrderBo.setStatus("0");
|
agentOrderBo.setStatus("0");
|
||||||
agentOrderBo.setPersonnelId(agentAccountVo.getPersonnelId());
|
|
||||||
agentOrderBo.setCreateTime(new Date());
|
agentOrderBo.setCreateTime(new Date());
|
||||||
agentOrderBo.setOrderType(1);
|
agentOrderBo.setOrderType(1);
|
||||||
{
|
{
|
||||||
@@ -227,6 +227,8 @@ public class APIFreeController extends BaseController {
|
|||||||
agentOrderBo.setInstallAddress(agentOrderBo.getInstalledAddress());
|
agentOrderBo.setInstallAddress(agentOrderBo.getInstalledAddress());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
agentOrderBo.setPersonnelId(agentAccountGoodVo.getPersonnelId());
|
||||||
|
|
||||||
// 校验数量
|
// 校验数量
|
||||||
if (agentAccountGoodVo.getIsNeedVerify() == 1) {
|
if (agentAccountGoodVo.getIsNeedVerify() == 1) {
|
||||||
Integer registerCount = agentAccountGoodVo.getRegisterCount();
|
Integer registerCount = agentAccountGoodVo.getRegisterCount();
|
||||||
@@ -261,23 +263,54 @@ public class APIFreeController extends BaseController {
|
|||||||
agentAccountGoodService.updateByBo(agentAccountGoodBo);
|
agentAccountGoodService.updateByBo(agentAccountGoodBo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (ObjectUtils.isNotNull(agentAccountVo.getVerifyUrl())) {
|
||||||
|
try {
|
||||||
|
JSONObject paramMap = new JSONObject();
|
||||||
|
paramMap.set("name", agentOrderBo.getName());
|
||||||
|
paramMap.set("idCard", agentOrderBo.getIdCard());
|
||||||
|
paramMap.set("contactMobile", agentOrderBo.getContactMobile());
|
||||||
|
String verifyResult = HttpUtil.post(agentAccountVo.getVerifyUrl(), paramMap.toString());
|
||||||
|
JSONObject verifyData = JSONUtil.parseObj(verifyResult);
|
||||||
|
if (verifyData.getInt("code") != 200) {
|
||||||
|
log.error("验证不通过");
|
||||||
|
saveLog(request, agentAccountVo.getPersonnelId(), 0, "验证不通过", null);
|
||||||
|
return R.fail(ERROR_CODE_VERIFY, "验证错误");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
log.error("验证请求错误");
|
||||||
|
saveLog(request, agentAccountVo.getPersonnelId(), 0, "验证请求错误", null);
|
||||||
|
return R.fail(ERROR_CODE_VERIFY, "验证错误");
|
||||||
|
}
|
||||||
|
}
|
||||||
// 保存数据
|
// 保存数据
|
||||||
|
agentOrderService.insertByBo(agentOrderBo);
|
||||||
|
String sn = UUID.randomUUID().toString();
|
||||||
|
log.error(sn+" ------------------下单开始-------------------");
|
||||||
try {
|
try {
|
||||||
CTResponse<String> response = ctService.saveOrder(agentOrderBo.getName(), agentOrderBo.getIdCard(), agentOrderBo.getContactMobile(),
|
CTResponse<String> response = ctService.saveOrder(agentOrderBo.getName(), agentOrderBo.getIdCard(), agentOrderBo.getContactMobile(),
|
||||||
agentOrderBo.getInstalledAddress(), agentOrderBo.getSaleId(), agentOrderBo.getStoreId(),
|
agentOrderBo.getInstalledAddress(), agentOrderBo.getSaleId(), agentOrderBo.getStoreId(),
|
||||||
agentOrderBo.getPersonnelId(), agentOrderBo.getProvince(), agentOrderBo.getCity(),
|
agentOrderBo.getPersonnelId(), agentOrderBo.getProvince(), agentOrderBo.getCity(),
|
||||||
agentOrderBo.getCounty(), agentOrderBo.getSerialNumber(), agentOrderBo.getNumber(),
|
agentOrderBo.getCounty(), agentOrderBo.getSerialNumber(), agentOrderBo.getNumber(),
|
||||||
agentOrderBo.getLogiRemark(), agentOrderBo.getPageUrl(), agentOrderBo.getRemark(),
|
agentOrderBo.getLogiRemark(), agentOrderBo.getPageUrl(), agentOrderBo.getRemark(),
|
||||||
agentOrderBo.getInstallAddress(), "", "");
|
agentOrderBo.getInstallAddress(), "", "", sn);
|
||||||
if (response.isSuccess()) {
|
if (response.isSuccess()) {
|
||||||
agentOrderBo.setOrderNum(response.getData());
|
agentOrderBo.setOrderNum(response.getData());
|
||||||
agentOrderBo.setOrderStatus("S1000");
|
agentOrderBo.setOrderStatus("S1000");
|
||||||
agentOrderBo.setStatus("0");
|
agentOrderBo.setStatus("0");
|
||||||
agentOrderService.insertByBo(agentOrderBo);
|
agentOrderService.updateByBo(agentOrderBo);
|
||||||
|
log.error(sn+" ------------------下单成功------------------- ");
|
||||||
return R.ok("操作成功", agentOrderBo.getSerialNumber());
|
return R.ok("操作成功", agentOrderBo.getSerialNumber());
|
||||||
} else {
|
} else {
|
||||||
// 订单验证失败
|
// 订单验证失败
|
||||||
log.error("电信订单验证失败");
|
log.error(sn+" ------------------下单失败-------------------");
|
||||||
|
log.error(sn+" 电信订单验证失败");
|
||||||
|
log.error(sn+" 订单号:"+agentOrderBo.getSerialNumber());
|
||||||
|
log.error(sn+response.getMessage());
|
||||||
|
log.error(sn+" ------------------下单结束------------------- ");
|
||||||
|
agentOrderBo.setStatus("-1");
|
||||||
|
agentOrderService.updateByBo(agentOrderBo);
|
||||||
|
saveLog(request, agentAccountVo.getPersonnelId(), 0, "电信订单验证失败", response.getMessage());
|
||||||
saveLog(request, agentAccountVo.getPersonnelId(), 0, "电信订单验证失败", response.getMessage());
|
saveLog(request, agentAccountVo.getPersonnelId(), 0, "电信订单验证失败", response.getMessage());
|
||||||
return R.fail(ERROR_CODE_PARAMS, response.getMessage());
|
return R.fail(ERROR_CODE_PARAMS, response.getMessage());
|
||||||
}
|
}
|
||||||
@@ -285,11 +318,19 @@ public class APIFreeController extends BaseController {
|
|||||||
saveLog(request, agentAccountVo.getPersonnelId(), 0, "电信请求异常", "");
|
saveLog(request, agentAccountVo.getPersonnelId(), 0, "电信请求异常", "");
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
log.error(e.getMessage());
|
log.error(e.getMessage());
|
||||||
return R.fail(ERROR_CODE_NETWORK, "电信网络异常");
|
log.error(sn+" ------------------下单异常-------------------");
|
||||||
|
log.error(sn+" 电信订单验网络异常");
|
||||||
|
log.error(sn+" 订单号:"+agentOrderBo.getSerialNumber());
|
||||||
|
log.error(sn+" ------------------下单结束------------------- ");
|
||||||
|
agentOrderBo.setStatus("-2");
|
||||||
|
agentOrderBo.setHasError(1);
|
||||||
|
agentOrderService.updateByBo(agentOrderBo);
|
||||||
|
return R.fail(ERROR_CODE_NETWORK, "内部业务网络异常");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@GetMapping("/getUserList")
|
@GetMapping("/getUserList")
|
||||||
public R<TableDataInfo<AgentAccountGoodUserVo>> getUserList(HttpServletRequest request,
|
public R<TableDataInfo<AgentAccountGoodUserVo>> getUserList(HttpServletRequest request,
|
||||||
@RequestParam String code,
|
@RequestParam String code,
|
||||||
|
|||||||
@@ -7,12 +7,15 @@ import cn.hutool.json.JSONObject;
|
|||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.R;
|
||||||
import com.ruoyi.ct.domain.AgentOrder;
|
import com.ruoyi.ct.domain.AgentOrder;
|
||||||
|
import com.ruoyi.ct.domain.bo.AgentAccountGoodBo;
|
||||||
import com.ruoyi.ct.domain.bo.AgentOrderBo;
|
import com.ruoyi.ct.domain.bo.AgentOrderBo;
|
||||||
import com.ruoyi.ct.domain.vo.AgentAccountGoodVo;
|
import com.ruoyi.ct.domain.vo.AgentAccountGoodVo;
|
||||||
import com.ruoyi.ct.domain.vo.AgentAccountVo;
|
import com.ruoyi.ct.domain.vo.AgentAccountVo;
|
||||||
import com.ruoyi.ct.service.CTService;
|
import com.ruoyi.ct.service.CTService;
|
||||||
|
import com.ruoyi.ct.service.IAgentAccountGoodService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
@@ -32,6 +35,9 @@ public class APITestController extends BaseTestController {
|
|||||||
@Resource
|
@Resource
|
||||||
private CTService ctService;
|
private CTService ctService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IAgentAccountGoodService agentAccountGoodService;
|
||||||
|
|
||||||
@GetMapping("getGoodsList")
|
@GetMapping("getGoodsList")
|
||||||
public R<JSONObject> getGoodsList(HttpServletRequest request, Integer page, Integer pageSize) {
|
public R<JSONObject> getGoodsList(HttpServletRequest request, Integer page, Integer pageSize) {
|
||||||
if (!checkAccount(request)) {
|
if (!checkAccount(request)) {
|
||||||
@@ -43,13 +49,26 @@ public class APITestController extends BaseTestController {
|
|||||||
if (pageSize == null || pageSize < 1 || pageSize > 50) {
|
if (pageSize == null || pageSize < 1 || pageSize > 50) {
|
||||||
pageSize = 20;
|
pageSize = 20;
|
||||||
}
|
}
|
||||||
|
AgentAccountVo agentAccountVo = (AgentAccountVo) request.getAttribute("agentAccount");
|
||||||
|
AgentAccountGoodBo agentAccountGoodBo = new AgentAccountGoodBo();
|
||||||
|
agentAccountGoodBo.setAgentAccountId(agentAccountVo.getId());
|
||||||
|
Page<AgentAccountGoodVo> result = agentAccountGoodService.queryPage(agentAccountGoodBo, page, pageSize);
|
||||||
JSONObject resultData = new JSONObject();
|
JSONObject resultData = new JSONObject();
|
||||||
JSONObject meta = new JSONObject();
|
JSONObject meta = new JSONObject();
|
||||||
meta.set("total", 2);
|
meta.set("total", result.getTotal());
|
||||||
meta.set("page", page);
|
meta.set("page", page);
|
||||||
meta.set("pageSize", pageSize);
|
meta.set("pageSize", pageSize);
|
||||||
resultData.set("meta", meta);
|
resultData.set("meta", meta);
|
||||||
resultData.set("objects", JSONUtil.parseArray("[{\"saleId\":\"108002\",\"title\":\"49套餐\",\"content\":\"大概的介绍\"},{\"saleId\":\"107657\",\"title\":\"59套餐\"}]"));
|
|
||||||
|
List<JSONObject> dataList = new ArrayList<>();
|
||||||
|
for(AgentAccountGoodVo vo: result.getRecords()) {
|
||||||
|
JSONObject data = new JSONObject();
|
||||||
|
data.set("saleId", vo.getSaleId());
|
||||||
|
data.set("title", vo.getTitle());
|
||||||
|
data.set("content", vo.getContent());
|
||||||
|
dataList.add(data);
|
||||||
|
}
|
||||||
|
resultData.set("objects", dataList);
|
||||||
return R.ok(resultData);
|
return R.ok(resultData);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,12 +84,20 @@ public class APITestController extends BaseTestController {
|
|||||||
pageSize = 20;
|
pageSize = 20;
|
||||||
}
|
}
|
||||||
AgentAccountVo agentAccountVo = (AgentAccountVo) request.getAttribute("agentAccount");
|
AgentAccountVo agentAccountVo = (AgentAccountVo) request.getAttribute("agentAccount");
|
||||||
if (ObjectUtils.isNull(saleId) || !SALE_ID.equals(saleId)) {
|
if (ObjectUtils.isNull(saleId)) {
|
||||||
log.error("参数错误");
|
log.error("参数错误");
|
||||||
return R.fail(ERROR_CODE_PARAMS, "参数错误");
|
return R.fail(ERROR_CODE_PARAMS, "参数错误");
|
||||||
}
|
}
|
||||||
|
AgentAccountGoodVo agentAccountGoodVo = agentAccountGoodService.getByGoodAndAccount(saleId, agentAccountVo.getId());
|
||||||
|
if (ObjectUtils.isNull(agentAccountGoodVo)) {
|
||||||
|
log.error("参数错误");
|
||||||
|
log.error("agentAccountVo: "+agentAccountVo);
|
||||||
|
log.error("saleId: "+saleId);
|
||||||
|
return R.fail(ERROR_CODE_PARAMS, "参数错误");
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
List<JSONObject> data = ctService.selectNumber(agentAccountVo.getPersonnelId(), SALE_ID,
|
|
||||||
|
List<JSONObject> data = ctService.selectNumber(agentAccountGoodVo.getPersonnelId(), SALE_ID,
|
||||||
String.valueOf(page), String.valueOf(pageSize));
|
String.valueOf(page), String.valueOf(pageSize));
|
||||||
return R.ok(data);
|
return R.ok(data);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -117,7 +144,7 @@ public class APITestController extends BaseTestController {
|
|||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
|
||||||
if (ObjectUtils.isNull(saleId) || !SALE_ID.equals(saleId)) {
|
if (ObjectUtils.isNull(saleId)) {
|
||||||
log.error("saleId无效");
|
log.error("saleId无效");
|
||||||
System.out.println("saleId无效");
|
System.out.println("saleId无效");
|
||||||
return R.fail(ERROR_CODE_PARAMS, "参数错误");
|
return R.fail(ERROR_CODE_PARAMS, "参数错误");
|
||||||
|
|||||||
@@ -14,7 +14,8 @@ import com.ruoyi.ct.domain.bo.AgentOrderBo;
|
|||||||
import com.ruoyi.ct.domain.vo.AgentAccountGoodVo;
|
import com.ruoyi.ct.domain.vo.AgentAccountGoodVo;
|
||||||
import com.ruoyi.ct.domain.vo.AgentAccountVo;
|
import com.ruoyi.ct.domain.vo.AgentAccountVo;
|
||||||
import com.ruoyi.ct.domain.vo.AgentOrderVo;
|
import com.ruoyi.ct.domain.vo.AgentOrderVo;
|
||||||
import com.ruoyi.ct.service.CTService;
|
import com.ruoyi.ct.domain.vo.GoodVo;
|
||||||
|
import com.ruoyi.ct.service.*;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
@@ -31,6 +32,17 @@ import java.util.UUID;
|
|||||||
public class APITestControllerV2 extends BaseTestController {
|
public class APITestControllerV2 extends BaseTestController {
|
||||||
@Resource
|
@Resource
|
||||||
private CTService ctService;
|
private CTService ctService;
|
||||||
|
@Resource
|
||||||
|
private IAgentAccountGoodService agentAccountGoodService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IAgentService agentService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IAgentOrderService agentOrderService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IGoodService goodService;
|
||||||
|
|
||||||
@GetMapping("getGoodsList")
|
@GetMapping("getGoodsList")
|
||||||
public R<JSONObject> getGoodsList(HttpServletRequest request, Integer page, Integer pageSize) {
|
public R<JSONObject> getGoodsList(HttpServletRequest request, Integer page, Integer pageSize) {
|
||||||
@@ -103,7 +115,7 @@ public class APITestControllerV2 extends BaseTestController {
|
|||||||
agentOrderBo.setStoreId("13");
|
agentOrderBo.setStoreId("13");
|
||||||
agentOrderBo.setSerialNumber(UUID.randomUUID().toString().replace("-", ""));
|
agentOrderBo.setSerialNumber(UUID.randomUUID().toString().replace("-", ""));
|
||||||
agentOrderBo.setStatus("0");
|
agentOrderBo.setStatus("0");
|
||||||
agentOrderBo.setPersonnelId(agentAccountVo.getPersonnelId());
|
|
||||||
agentOrderBo.setCreateTime(new Date());
|
agentOrderBo.setCreateTime(new Date());
|
||||||
AgentAccountGoodVo agentAccountGoodVo;
|
AgentAccountGoodVo agentAccountGoodVo;
|
||||||
{
|
{
|
||||||
@@ -113,21 +125,28 @@ public class APITestControllerV2 extends BaseTestController {
|
|||||||
if (ObjectUtils.isNull(saleId)) {
|
if (ObjectUtils.isNull(saleId)) {
|
||||||
log.error("saleId为空");
|
log.error("saleId为空");
|
||||||
System.out.println("saleId为空");
|
System.out.println("saleId为空");
|
||||||
return R.fail(ERROR_CODE_PARAMS, "参数错误");
|
return R.fail(ERROR_CODE_PARAMS, "saleId为空");
|
||||||
}
|
}
|
||||||
try {
|
|
||||||
|
|
||||||
if (ObjectUtils.isNull(saleId) || !SALE_ID.equals(saleId)) {
|
try {
|
||||||
|
agentAccountGoodVo = agentAccountGoodService.getByGoodAndAccount(saleId, agentAccountVo.getId());
|
||||||
|
agentOrderBo.setAgentAccountId(agentAccountGoodVo.getId());
|
||||||
|
agentOrderBo.setSaleId(agentAccountGoodVo.getSaleId());
|
||||||
|
GoodVo goodVo = goodService.queryById(agentAccountGoodVo.getGoodId());
|
||||||
|
agentOrderBo.setTitle(goodVo.getName());
|
||||||
|
agentOrderBo.setContent(goodVo.getContent());
|
||||||
|
|
||||||
|
if (ObjectUtils.isNull(agentAccountGoodVo)) {
|
||||||
log.error("saleId无效");
|
log.error("saleId无效");
|
||||||
System.out.println("saleId无效");
|
return R.fail(ERROR_CODE_PARAMS, "saleId无效2");
|
||||||
return R.fail(ERROR_CODE_PARAMS, "参数错误");
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("saleId格式错误");
|
log.error("saleId格式错误");
|
||||||
System.out.println("saleId格式错误");
|
return R.fail(ERROR_CODE_PARAMS, "saleId格式错误2");
|
||||||
return R.fail(ERROR_CODE_PARAMS, "参数错误");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
agentOrderBo.setPersonnelId(agentAccountGoodVo.getPersonnelId());
|
||||||
|
|
||||||
// 校验用户信息,姓名、身份证、手机号
|
// 校验用户信息,姓名、身份证、手机号
|
||||||
if (ObjectUtils.isNull(agentOrderBo.getName())) {
|
if (ObjectUtils.isNull(agentOrderBo.getName())) {
|
||||||
log.error("姓名为空");
|
log.error("姓名为空");
|
||||||
@@ -182,13 +201,13 @@ public class APITestControllerV2 extends BaseTestController {
|
|||||||
JSONObject requestBody = JSONUtil.parseObj(body);
|
JSONObject requestBody = JSONUtil.parseObj(body);
|
||||||
System.out.println("requestBody = " + requestBody);
|
System.out.println("requestBody = " + requestBody);
|
||||||
|
|
||||||
return R.ok(requestBody.getStr("serialNumber"));
|
return R.ok("操作成功", requestBody.getStr("serialNumber"));
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("confirmOrder")
|
@PostMapping("confirmOrder")
|
||||||
public R<String> confirmOrder(HttpServletRequest request, @RequestBody String body) {
|
public R<JSONObject> confirmOrder(HttpServletRequest request, @RequestBody String body) {
|
||||||
if (!checkAccount(request)) {
|
if (!checkAccount(request)) {
|
||||||
return R.fail(ERROR_CODE_LOGIN, request.getAttribute("msg").toString());
|
return R.fail(ERROR_CODE_LOGIN, request.getAttribute("msg").toString());
|
||||||
}
|
}
|
||||||
@@ -203,8 +222,10 @@ public class APITestControllerV2 extends BaseTestController {
|
|||||||
|
|
||||||
JSONObject requestBody = JSONUtil.parseObj(body);
|
JSONObject requestBody = JSONUtil.parseObj(body);
|
||||||
System.out.println("requestBody = " + requestBody);
|
System.out.println("requestBody = " + requestBody);
|
||||||
|
JSONObject result = new JSONObject();
|
||||||
return R.ok(requestBody.getStr("serialNumber"));
|
result.set("serialNumber", requestBody.getStr("serialNumber"));
|
||||||
|
result.set("ctOrderNum", "HZ123456");
|
||||||
|
return R.ok("操作成功", result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("getOrderList")
|
@GetMapping("getOrderList")
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ spring:
|
|||||||
driverClassName: com.mysql.cj.jdbc.Driver
|
driverClassName: com.mysql.cj.jdbc.Driver
|
||||||
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
|
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
|
||||||
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
|
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
|
||||||
url: jdbc:mysql://43.140.198.163:3380/ct?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
|
url: jdbc:mysql://154.8.141.58:3380/ct?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
|
||||||
username: root
|
username: root
|
||||||
password: qaHljgd123.
|
password: qaHljgd123.
|
||||||
# 从库数据源
|
# 从库数据源
|
||||||
|
|||||||
@@ -23,6 +23,11 @@
|
|||||||
<artifactId>ruoyi-common</artifactId>
|
<artifactId>ruoyi-common</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.ruoyi</groupId>
|
||||||
|
<artifactId>ruoyi-system</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
BIN
ct/src/main/.DS_Store
vendored
Normal file
BIN
ct/src/main/.DS_Store
vendored
Normal file
Binary file not shown.
9
ct/src/main/java/com/ruoyi/ct/CTNetException.java
Normal file
9
ct/src/main/java/com/ruoyi/ct/CTNetException.java
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
package com.ruoyi.ct;
|
||||||
|
|
||||||
|
public class CTNetException extends Exception {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
public CTNetException() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,13 +1,34 @@
|
|||||||
package com.ruoyi.ct.controller;
|
package com.ruoyi.ct.controller;
|
||||||
|
|
||||||
import java.util.List;
|
import java.io.InputStream;
|
||||||
import java.util.Arrays;
|
import java.util.*;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.json.JSONArray;
|
||||||
|
import cn.hutool.json.JSONObject;
|
||||||
|
import com.alibaba.excel.ExcelReader;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
||||||
|
import com.ruoyi.common.core.domain.CTResponse;
|
||||||
|
import com.ruoyi.common.excel.ExcelResult;
|
||||||
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||||
|
import com.ruoyi.ct.domain.Bill;
|
||||||
|
import com.ruoyi.ct.domain.bo.AgentAccountGoodBo;
|
||||||
|
import com.ruoyi.ct.domain.vo.AgentAccountGoodVo;
|
||||||
|
import com.ruoyi.ct.service.CTService;
|
||||||
|
import com.ruoyi.ct.service.IAgentAccountGoodService;
|
||||||
|
import com.ruoyi.system.domain.SysConfig;
|
||||||
|
|
||||||
|
import com.ruoyi.system.service.ISysConfigService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.validation.constraints.*;
|
import javax.validation.constraints.*;
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||||
@@ -19,7 +40,6 @@ import com.ruoyi.common.core.validate.AddGroup;
|
|||||||
import com.ruoyi.common.core.validate.EditGroup;
|
import com.ruoyi.common.core.validate.EditGroup;
|
||||||
import com.ruoyi.common.core.validate.QueryGroup;
|
import com.ruoyi.common.core.validate.QueryGroup;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
|
||||||
import com.ruoyi.ct.domain.vo.AgentOrderVo;
|
import com.ruoyi.ct.domain.vo.AgentOrderVo;
|
||||||
import com.ruoyi.ct.domain.bo.AgentOrderBo;
|
import com.ruoyi.ct.domain.bo.AgentOrderBo;
|
||||||
import com.ruoyi.ct.service.IAgentOrderService;
|
import com.ruoyi.ct.service.IAgentOrderService;
|
||||||
@@ -37,8 +57,19 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
|||||||
@RequestMapping("/ct/agentOrder")
|
@RequestMapping("/ct/agentOrder")
|
||||||
public class AgentOrderController extends BaseController {
|
public class AgentOrderController extends BaseController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
private final IAgentOrderService iAgentOrderService;
|
private final IAgentOrderService iAgentOrderService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IAgentAccountGoodService iAgentAccountGoodService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CTService ctService;
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
@Resource
|
||||||
|
private ISysConfigService sysConfigService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询订单列表
|
* 查询订单列表
|
||||||
*/
|
*/
|
||||||
@@ -71,6 +102,147 @@ public class AgentOrderController extends BaseController {
|
|||||||
return R.ok(iAgentOrderService.queryById(id));
|
return R.ok(iAgentOrderService.queryById(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SaCheckPermission("ct:agentOrder:query")
|
||||||
|
@GetMapping("/syncOrder/{id}")
|
||||||
|
public R<JSONObject> syncOrder(@PathVariable Long id) {
|
||||||
|
AgentOrderVo agentOrderVo = iAgentOrderService.queryById(id);
|
||||||
|
if (ObjectUtil.isNotNull(agentOrderVo)) {
|
||||||
|
try {
|
||||||
|
System.out.println("agentOrderVo = " + agentOrderVo);
|
||||||
|
CTResponse<String> response = ctService.updateOrder(agentOrderVo.getName(), agentOrderVo.getOrderNum());
|
||||||
|
if (ObjectUtils.isNotNull(response) && response.isSuccess()) {
|
||||||
|
AgentOrderBo agentOrderBo = new AgentOrderBo();
|
||||||
|
agentOrderBo.setId(agentOrderVo.getId());
|
||||||
|
JSONObject data = response.getDecryptData();
|
||||||
|
agentOrderBo.setOrderStatus(data.getStr("status"));
|
||||||
|
// agentOrderBo.setExpressNum(data.getStr("expressNum"));
|
||||||
|
|
||||||
|
if (ObjectUtils.isNotNull(data.getBeanList("expressRoutes", JSONObject.class))) {
|
||||||
|
agentOrderBo.setExpressRoutes(data.getBeanList("expressRoutes", JSONObject.class).toString());
|
||||||
|
}
|
||||||
|
if (ObjectUtils.isNotNull(data.getBeanList("routeArr", JSONObject.class))) {
|
||||||
|
agentOrderBo.setRouteArr(data.getBeanList("routeArr", JSONObject.class).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
agentOrderBo.setUpdateTime(new Date());
|
||||||
|
boolean needStatistic = false;
|
||||||
|
if (Objects.equals(agentOrderBo.getOrderStatus(), "S1013")) {
|
||||||
|
agentOrderBo.setStatus("1");
|
||||||
|
agentOrderBo.setActiveTime(new Date());
|
||||||
|
needStatistic = true;
|
||||||
|
} else if (Objects.equals(agentOrderBo.getOrderStatus(), "S1014")) {
|
||||||
|
agentOrderBo.setStatus("10");
|
||||||
|
needStatistic = true;
|
||||||
|
}
|
||||||
|
iAgentOrderService.updateByBo(agentOrderBo);
|
||||||
|
if (needStatistic && agentOrderVo.getOrderType() == 1) {
|
||||||
|
// H5 下单需要更新统计
|
||||||
|
AgentAccountGoodBo agentAccountGoodBo = new AgentAccountGoodBo();
|
||||||
|
AgentAccountGoodVo agentAccountGoodVo = iAgentAccountGoodService.getByGoodAndAccount(agentAccountGoodBo.getSaleId(), agentOrderVo.getAgentAccountId());
|
||||||
|
iAgentOrderService.updateCount(agentAccountGoodVo);
|
||||||
|
}
|
||||||
|
return R.ok(data);
|
||||||
|
} else {
|
||||||
|
System.out.println("同步订单异常:"+agentOrderVo.getSerialNumber()+","+response.getMessage());
|
||||||
|
return R.fail("查询失败,电信返回异常");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("同步订单异常:"+agentOrderVo.getSerialNumber());
|
||||||
|
return R.fail("查询失败,返回数据处理异常");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return R.fail("查询失败,ID错误");
|
||||||
|
}
|
||||||
|
|
||||||
|
@SaCheckPermission("ct:agentOrder:query")
|
||||||
|
@GetMapping("/syncErrorOrder/{id}")
|
||||||
|
public R<JSONObject> syncErrorOrder(@PathVariable Long id) {
|
||||||
|
AgentOrderVo vo = iAgentOrderService.queryById(id);
|
||||||
|
if (ObjectUtil.isNotNull(vo)) {
|
||||||
|
try {
|
||||||
|
CTResponse<String> response = ctService.updateOrderNum(vo.getSerialNumber());
|
||||||
|
if (ObjectUtils.isNotNull(response) && response.isSuccess()) {
|
||||||
|
JSONObject data = response.getDecryptData();
|
||||||
|
if (ObjectUtils.isNotNull(data) && ObjectUtils.isNotNull(data.getStr("freightVendor"))) {
|
||||||
|
AgentOrderBo agentOrderBo = new AgentOrderBo();
|
||||||
|
agentOrderBo.setId(vo.getId());
|
||||||
|
agentOrderBo.setExpressNum(data.getStr("freightCode"));
|
||||||
|
agentOrderBo.setExpressVendor(data.getStr("freightVendor"));
|
||||||
|
iAgentOrderService.updateByBo(agentOrderBo);
|
||||||
|
return R.ok(data);
|
||||||
|
}
|
||||||
|
return R.ok("查询失败,返回数据处理异常", data);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
return R.fail("查询失败,返回数据处理异常");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return R.fail("查询失败,ID错误");
|
||||||
|
}
|
||||||
|
|
||||||
|
@SaCheckPermission("ct:agentOrder:query")
|
||||||
|
@GetMapping("/syncOffer/{id}")
|
||||||
|
public R<JSONArray> syncOffer(@PathVariable Long id) {
|
||||||
|
AgentOrderVo vo = iAgentOrderService.queryById(id);
|
||||||
|
if (ObjectUtil.isNotNull(vo)) {
|
||||||
|
try {
|
||||||
|
String offerIds = "";
|
||||||
|
SysConfig sysConfig50 = sysConfigService.selectConfig("offerId50");
|
||||||
|
SysConfig sysConfig100 = sysConfigService.selectConfig("offerId100");
|
||||||
|
String offerId50 = sysConfig50.getConfigValue();
|
||||||
|
String offerId100 = sysConfig100.getConfigValue();
|
||||||
|
offerIds = offerId50 + "," + offerId100;
|
||||||
|
CTResponse<JSONArray> response = ctService.syncOffer(vo.getOrderNum(), offerIds, vo.getPersonnelId());
|
||||||
|
JSONArray data = response.getData();
|
||||||
|
if (ObjectUtils.isNotNull(data) && data.size() < 2) {
|
||||||
|
AgentOrderBo bo = new AgentOrderBo();
|
||||||
|
bo.setId(vo.getId());
|
||||||
|
bo.setIsRecharge(1);
|
||||||
|
bo.setRechargeTime(new Date());
|
||||||
|
bo.setUpdateTime(new Date());
|
||||||
|
if (!data.contains(offerId50)) {
|
||||||
|
bo.setChargeTitle(sysConfig50.getConfigName());
|
||||||
|
} else if (!data.contains(offerId100)) {
|
||||||
|
bo.setChargeTitle(sysConfig100.getConfigName());
|
||||||
|
}
|
||||||
|
iAgentOrderService.updateByBo(bo);
|
||||||
|
return R.ok();
|
||||||
|
} else {
|
||||||
|
return R.ok("查询失败,返回数据处理异常", data);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
return R.fail("查询失败,返回数据处理异常");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return R.fail("查询失败,ID错误");
|
||||||
|
}
|
||||||
|
|
||||||
|
@SaCheckPermission("ct:agentOrder:query")
|
||||||
|
@GetMapping("/syncExpress/{id}")
|
||||||
|
public R<JSONObject> syncExpress(@PathVariable Long id) {
|
||||||
|
AgentOrderVo vo = iAgentOrderService.queryById(id);
|
||||||
|
if (ObjectUtil.isNotNull(vo)) {
|
||||||
|
try {
|
||||||
|
CTResponse<String> response = ctService.updateExpress(vo.getOrderNum());
|
||||||
|
if (ObjectUtils.isNotNull(response) && response.isSuccess()) {
|
||||||
|
JSONObject data = response.getDecryptData();
|
||||||
|
if (ObjectUtils.isNotNull(data) && ObjectUtils.isNotNull(data.getStr("freightVendor"))) {
|
||||||
|
AgentOrderBo agentOrderBo = new AgentOrderBo();
|
||||||
|
agentOrderBo.setId(vo.getId());
|
||||||
|
agentOrderBo.setExpressNum(data.getStr("freightCode"));
|
||||||
|
agentOrderBo.setExpressVendor(data.getStr("freightVendor"));
|
||||||
|
iAgentOrderService.updateByBo(agentOrderBo);
|
||||||
|
return R.ok(data);
|
||||||
|
}
|
||||||
|
return R.ok("查询失败,返回数据处理异常", data);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
return R.fail("查询失败,返回数据处理异常");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return R.fail("查询失败,ID错误");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增订单
|
* 新增订单
|
||||||
*/
|
*/
|
||||||
@@ -79,6 +251,7 @@ public class AgentOrderController extends BaseController {
|
|||||||
@RepeatSubmit()
|
@RepeatSubmit()
|
||||||
@PostMapping()
|
@PostMapping()
|
||||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody AgentOrderBo bo) {
|
public R<Void> add(@Validated(AddGroup.class) @RequestBody AgentOrderBo bo) {
|
||||||
|
bo.setSerialNumber(UUID.randomUUID().toString().replace("-", ""));
|
||||||
return toAjax(iAgentOrderService.insertByBo(bo));
|
return toAjax(iAgentOrderService.insertByBo(bo));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,4 +278,5 @@ public class AgentOrderController extends BaseController {
|
|||||||
@PathVariable Long[] ids) {
|
@PathVariable Long[] ids) {
|
||||||
return toAjax(iAgentOrderService.deleteWithValidByIds(Arrays.asList(ids), true));
|
return toAjax(iAgentOrderService.deleteWithValidByIds(Arrays.asList(ids), true));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -175,4 +175,9 @@ public class AgentOrder extends BaseEntity {
|
|||||||
|
|
||||||
private String uploadMsgId;
|
private String uploadMsgId;
|
||||||
|
|
||||||
|
private Date activeTime;
|
||||||
|
|
||||||
|
private Date rechargeTime;
|
||||||
|
|
||||||
|
private Integer hasError;
|
||||||
}
|
}
|
||||||
|
|||||||
194
ct/src/main/java/com/ruoyi/ct/domain/Bill.java
Normal file
194
ct/src/main/java/com/ruoyi/ct/domain/Bill.java
Normal file
@@ -0,0 +1,194 @@
|
|||||||
|
package com.ruoyi.ct.domain;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class Bill {
|
||||||
|
private String a0;
|
||||||
|
private String a1;
|
||||||
|
private String a3;
|
||||||
|
private String a4;
|
||||||
|
@ExcelProperty(value = "结算账期")
|
||||||
|
private String a;
|
||||||
|
@ExcelProperty(value = "原始账期")
|
||||||
|
private String b;
|
||||||
|
@ExcelProperty(value = "渠道名称")
|
||||||
|
private String c;
|
||||||
|
@ExcelProperty(value = "父代理商名称")
|
||||||
|
private String d;
|
||||||
|
@ExcelProperty(value = "父代理商编码")
|
||||||
|
private String e;
|
||||||
|
@ExcelProperty(value = "代理商名称")
|
||||||
|
private String f;
|
||||||
|
@ExcelProperty(value = "代理商编码")
|
||||||
|
private String g;
|
||||||
|
@ExcelProperty(value = "网点名称")
|
||||||
|
private String h;
|
||||||
|
@ExcelProperty(value = "网点编码")
|
||||||
|
private String i;
|
||||||
|
@ExcelProperty(value = "套餐名称")
|
||||||
|
private String j;
|
||||||
|
@ExcelProperty(value = "套餐编码")
|
||||||
|
private String k;
|
||||||
|
@ExcelProperty(value = "设备号")
|
||||||
|
private String l;
|
||||||
|
@ExcelProperty(value = "资产ID")
|
||||||
|
private String m;
|
||||||
|
@ExcelProperty(value = "类型")
|
||||||
|
private String n;
|
||||||
|
@ExcelProperty(value = "金额(元)")
|
||||||
|
private String o;
|
||||||
|
@ExcelProperty(value = "原始清单ID")
|
||||||
|
private String p;
|
||||||
|
@ExcelProperty(value = "不含税价(元)")
|
||||||
|
private String q;
|
||||||
|
@ExcelProperty(value = "酬金结算比例")
|
||||||
|
private String r;
|
||||||
|
@ExcelProperty(value = "酬金比例单位")
|
||||||
|
private String s;
|
||||||
|
@ExcelProperty(value = "有效计算金额(元)")
|
||||||
|
private String t;
|
||||||
|
@ExcelProperty(value = "结算频率")
|
||||||
|
private String u;
|
||||||
|
@ExcelProperty(value = "受理员工")
|
||||||
|
private String v;
|
||||||
|
@ExcelProperty(value = "受理员工工号")
|
||||||
|
private String w;
|
||||||
|
@ExcelProperty(value = "促销员工")
|
||||||
|
private String x;
|
||||||
|
@ExcelProperty(value = "促销员工工号")
|
||||||
|
private String y;
|
||||||
|
@ExcelProperty(value = "发展区局")
|
||||||
|
private String z;
|
||||||
|
@ExcelProperty(value = "设备区局")
|
||||||
|
private String aa;
|
||||||
|
@ExcelProperty(value = "行政分局")
|
||||||
|
private String ab;
|
||||||
|
@ExcelProperty(value = "佣金策略")
|
||||||
|
private String ac;
|
||||||
|
@ExcelProperty(value = "佣金结算说明")
|
||||||
|
private String ad;
|
||||||
|
@ExcelProperty(value = "销售策略名称")
|
||||||
|
private String ae;
|
||||||
|
@ExcelProperty(value = "销售策略编码")
|
||||||
|
private String af;
|
||||||
|
@ExcelProperty(value = "产品名称")
|
||||||
|
private String ag;
|
||||||
|
@ExcelProperty(value = "产品编码")
|
||||||
|
private String ah;
|
||||||
|
@ExcelProperty(value = "入网日期")
|
||||||
|
private String ai;
|
||||||
|
@ExcelProperty(value = "完工日期")
|
||||||
|
private String aj;
|
||||||
|
@ExcelProperty(value = "设备状态")
|
||||||
|
private String ak;
|
||||||
|
@ExcelProperty(value = "佣金类型")
|
||||||
|
private String al;
|
||||||
|
@ExcelProperty(value = "清单状态")
|
||||||
|
private String am;
|
||||||
|
@ExcelProperty(value = "清单编号")
|
||||||
|
private String an;
|
||||||
|
@ExcelProperty(value = "报账单号")
|
||||||
|
private String ao;
|
||||||
|
@ExcelProperty(value = "结算标志")
|
||||||
|
private String ap;
|
||||||
|
@ExcelProperty(value = "结算人")
|
||||||
|
private String aq;
|
||||||
|
@ExcelProperty(value = "结算时间")
|
||||||
|
private String ar;
|
||||||
|
@ExcelProperty(value = "是否调账")
|
||||||
|
private String as;
|
||||||
|
@ExcelProperty(value = "调整原因")
|
||||||
|
private String at;
|
||||||
|
@ExcelProperty(value = "集团渠道编码")
|
||||||
|
private String au;
|
||||||
|
@ExcelProperty(value = "集团渠道类型第一级")
|
||||||
|
private String av;
|
||||||
|
@ExcelProperty(value = "集团渠道类型第二级")
|
||||||
|
private String aw;
|
||||||
|
@ExcelProperty(value = "集团渠道类型第三级")
|
||||||
|
private String ax;
|
||||||
|
@ExcelProperty(value = "融合类型")
|
||||||
|
private String ay;
|
||||||
|
@ExcelProperty(value = "折扣率")
|
||||||
|
private String az;
|
||||||
|
@ExcelProperty(value = "客户类型")
|
||||||
|
private String ba;
|
||||||
|
@ExcelProperty(value = "维系月份")
|
||||||
|
private String bb;
|
||||||
|
@ExcelProperty(value = "派单渠道")
|
||||||
|
private String bc;
|
||||||
|
@ExcelProperty(value = "维系类型")
|
||||||
|
private String bd;
|
||||||
|
@ExcelProperty(value = "维系路径")
|
||||||
|
private String be;
|
||||||
|
@ExcelProperty(value = "供应商名称")
|
||||||
|
private String bf;
|
||||||
|
@ExcelProperty(value = "供应商编码")
|
||||||
|
private String bg;
|
||||||
|
@ExcelProperty(value = "预算责任中心名称")
|
||||||
|
private String bh;
|
||||||
|
@ExcelProperty(value = "预算责任中心编码")
|
||||||
|
private String bi;
|
||||||
|
@ExcelProperty(value = "成本中心名称")
|
||||||
|
private String bj;
|
||||||
|
@ExcelProperty(value = "成本中心编码")
|
||||||
|
private String bk;
|
||||||
|
@ExcelProperty(value = "用途名称")
|
||||||
|
private String bl;
|
||||||
|
@ExcelProperty(value = "用途编码")
|
||||||
|
private String bm;
|
||||||
|
@ExcelProperty(value = "经济事项名称")
|
||||||
|
private String bn;
|
||||||
|
@ExcelProperty(value = "经济事项编码")
|
||||||
|
private String bo;
|
||||||
|
@ExcelProperty(value = "开账账期")
|
||||||
|
private String bp;
|
||||||
|
@ExcelProperty(value = "网格内外标志")
|
||||||
|
private String bq;
|
||||||
|
@ExcelProperty(value = "安装地址")
|
||||||
|
private String br;
|
||||||
|
@ExcelProperty(value = "客户等级")
|
||||||
|
private String bs;
|
||||||
|
@ExcelProperty(value = "是否摊销")
|
||||||
|
private String bt;
|
||||||
|
@ExcelProperty(value = "代催员工")
|
||||||
|
private String bu;
|
||||||
|
@ExcelProperty(value = "销账本金")
|
||||||
|
private String bv;
|
||||||
|
@ExcelProperty(value = "销账违约金")
|
||||||
|
private String bw;
|
||||||
|
@ExcelProperty(value = "调整本金")
|
||||||
|
private String bx;
|
||||||
|
@ExcelProperty(value = "调整违约金")
|
||||||
|
private String by;
|
||||||
|
@ExcelProperty(value = "销账月")
|
||||||
|
private String bz;
|
||||||
|
@ExcelProperty(value = "展示字段1")
|
||||||
|
private String ca;
|
||||||
|
@ExcelProperty(value = "展示字段1描述")
|
||||||
|
private String cb;
|
||||||
|
@ExcelProperty(value = "展示字段2")
|
||||||
|
private String cc;
|
||||||
|
@ExcelProperty(value = "展示字段2描述")
|
||||||
|
private String cd;
|
||||||
|
@ExcelProperty(value = "展示字段3")
|
||||||
|
private String ce;
|
||||||
|
@ExcelProperty(value = "展示字段3描述")
|
||||||
|
private String cf;
|
||||||
|
@ExcelProperty(value = "展示字段4")
|
||||||
|
private String cg;
|
||||||
|
@ExcelProperty(value = "展示字段4描述")
|
||||||
|
private String ch;
|
||||||
|
@ExcelProperty(value = "展示字段5")
|
||||||
|
private String ci;
|
||||||
|
@ExcelProperty(value = "展示字段5描述")
|
||||||
|
private String cj;
|
||||||
|
@ExcelProperty(value = "佣金政策编号")
|
||||||
|
private String ck;
|
||||||
|
@ExcelProperty(value = "佣金政策名称")
|
||||||
|
private String cl;
|
||||||
|
@ExcelProperty(value = "工单(主单)编号")
|
||||||
|
private String cm;
|
||||||
|
}
|
||||||
@@ -39,6 +39,10 @@ public class Good extends BaseEntity {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private String saleId;
|
private String saleId;
|
||||||
|
/**
|
||||||
|
* 电信ID
|
||||||
|
*/
|
||||||
|
private String personnelId;
|
||||||
/**
|
/**
|
||||||
* 状态
|
* 状态
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -24,31 +24,31 @@ public class AgentOrderBo extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "不能为空", groups = { EditGroup.class })
|
// @NotNull(message = "不能为空", groups = { EditGroup.class })
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 代理商ID
|
* 代理商ID
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "代理商ID不能为空", groups = { AddGroup.class, EditGroup.class })
|
// @NotNull(message = "代理商ID不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private Long agentId;
|
private Long agentId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 代理商名称
|
* 代理商名称
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "代理商名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
// @NotBlank(message = "代理商名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private String agentName;
|
private String agentName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 代理商账号ID
|
* 代理商账号ID
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "代理商账号ID不能为空", groups = { AddGroup.class, EditGroup.class })
|
// @NotNull(message = "代理商账号ID不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private Long agentAccountId;
|
private Long agentAccountId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品ID
|
* 商品ID
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "商品ID不能为空", groups = { AddGroup.class, EditGroup.class })
|
// @NotBlank(message = "商品ID不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private String saleId;
|
private String saleId;
|
||||||
private String title;
|
private String title;
|
||||||
private String content;
|
private String content;
|
||||||
@@ -56,69 +56,63 @@ public class AgentOrderBo extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 厅店ID,默认13
|
* 厅店ID,默认13
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "厅店ID,默认13不能为空", groups = { AddGroup.class, EditGroup.class })
|
// @NotBlank(message = "厅店ID,默认13不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private String storeId;
|
private String storeId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 代理商电信ID
|
* 代理商电信ID
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "代理商电信ID不能为空", groups = { AddGroup.class, EditGroup.class })
|
// @NotBlank(message = "代理商电信ID不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private String personnelId;
|
private String personnelId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户姓名
|
* 用户姓名
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "姓名不能为空", groups = { AddGroup.class, EditGroup.class })
|
// @NotBlank(message = "姓名不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户身份证号
|
* 用户身份证号
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "身份证号不能为空", groups = { AddGroup.class, EditGroup.class })
|
// @NotBlank(message = "身份证号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
@Pattern(regexp = "([1-9]\\d{5})(19\\d{2}|20\\d{2})(0[1-9]|1[0-2])(0[1-9]|[1-2]\\d|3[0-1])\\d{3}([0-9]|X|x)", message = "身份证号码错误", groups = { AddGroup.class, EditGroup.class })
|
// @Pattern(regexp = "([1-9]\\d{5})(19\\d{2}|20\\d{2})(0[1-9]|1[0-2])(0[1-9]|[1-2]\\d|3[0-1])\\d{3}([0-9]|X|x)", message = "身份证号码错误", groups = { AddGroup.class, EditGroup.class })
|
||||||
private String idCard;
|
private String idCard;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户联系电话
|
* 用户联系电话
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "联系电话不能为空", groups = { AddGroup.class, EditGroup.class })
|
// @NotBlank(message = "联系电话不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
@Pattern(regexp = "1[3-9]\\d{9}", message = "联系电话错误", groups = { AddGroup.class, EditGroup.class })
|
// @Pattern(regexp = "1[3-9]\\d{9}", message = "联系电话错误", groups = { AddGroup.class, EditGroup.class })
|
||||||
private String contactMobile;
|
private String contactMobile;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 收货地址
|
* 收货地址
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "收货地址不能为空", groups = { AddGroup.class, EditGroup.class })
|
|
||||||
private String installedAddress;
|
private String installedAddress;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 省
|
* 省
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "省不能为空", groups = { AddGroup.class, EditGroup.class })
|
|
||||||
private String province;
|
private String province;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 市
|
* 市
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "市不能为空", groups = { AddGroup.class, EditGroup.class })
|
|
||||||
private String city;
|
private String city;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 区
|
* 区
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "区不能为空", groups = { AddGroup.class, EditGroup.class })
|
|
||||||
private String county;
|
private String county;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 下单流水号
|
* 下单流水号
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "下单流水号不能为空", groups = { AddGroup.class, EditGroup.class })
|
|
||||||
private String serialNumber;
|
private String serialNumber;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 入网号码
|
* 入网号码
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "入网号码不能为空", groups = { AddGroup.class, EditGroup.class })
|
|
||||||
private String number;
|
private String number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -129,7 +123,6 @@ public class AgentOrderBo extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 业务办理页面url
|
* 业务办理页面url
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "业务办理页面url不能为空", groups = { AddGroup.class, EditGroup.class })
|
|
||||||
private String pageUrl;
|
private String pageUrl;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -215,4 +208,10 @@ public class AgentOrderBo extends BaseEntity {
|
|||||||
private Integer frontFace;
|
private Integer frontFace;
|
||||||
|
|
||||||
private String uploadMsgId;
|
private String uploadMsgId;
|
||||||
|
|
||||||
|
private Date activeTime;
|
||||||
|
|
||||||
|
private Date rechargeTime;
|
||||||
|
|
||||||
|
private Integer hasError;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,6 +44,12 @@ public class GoodBo extends BaseEntity {
|
|||||||
@NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
|
@NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private String saleId;
|
private String saleId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电信ID
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private String personnelId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 状态
|
* 状态
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -74,4 +74,6 @@ public class AgentAccountGoodVo implements Serializable {
|
|||||||
private String imageIds;
|
private String imageIds;
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
// private AgentVo agentVo;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -248,4 +248,13 @@ public class AgentOrderVo implements Serializable {
|
|||||||
private Integer frontFace;
|
private Integer frontFace;
|
||||||
|
|
||||||
private String uploadMsgId;
|
private String uploadMsgId;
|
||||||
|
|
||||||
|
@ExcelProperty(value = "激活时间")
|
||||||
|
private Date activeTime;
|
||||||
|
|
||||||
|
@ExcelProperty(value = "首冲时间")
|
||||||
|
private Date rechargeTime;
|
||||||
|
|
||||||
|
@ExcelProperty(value = "是否异常订单")
|
||||||
|
private Integer hasError;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,8 +42,13 @@ public class GoodVo implements Serializable {
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ExcelProperty(value = "")
|
@ExcelProperty(value = "saleId")
|
||||||
private String saleId;
|
private String saleId;
|
||||||
|
/**
|
||||||
|
* 电信ID
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "电信ID")
|
||||||
|
private String personnelId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 状态
|
* 状态
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.ruoyi.ct.service;
|
|||||||
|
|
||||||
import cn.hutool.json.JSONArray;
|
import cn.hutool.json.JSONArray;
|
||||||
import cn.hutool.json.JSONObject;
|
import cn.hutool.json.JSONObject;
|
||||||
|
import com.ruoyi.common.core.domain.CTRequestBody;
|
||||||
import com.ruoyi.common.core.domain.CTResponse;
|
import com.ruoyi.common.core.domain.CTResponse;
|
||||||
import com.ruoyi.ct.domain.bo.AgentOrderBo;
|
import com.ruoyi.ct.domain.bo.AgentOrderBo;
|
||||||
|
|
||||||
@@ -11,23 +12,25 @@ import java.util.List;
|
|||||||
public interface CTService {
|
public interface CTService {
|
||||||
|
|
||||||
boolean getToken();
|
boolean getToken();
|
||||||
boolean checkToken();
|
CTRequestBody checkToken();
|
||||||
List<JSONObject> selectNumber(String personnelId, String saleId, String page, String pageSize) throws Exception;
|
List<JSONObject> selectNumber(String personnelId, String saleId, String page, String pageSize) throws Exception;
|
||||||
|
|
||||||
CTResponse<String> saveOrder(String name, String idCard, String contactMobile, String installedAddress,
|
CTResponse<String> saveOrder(String name, String idCard, String contactMobile, String installedAddress,
|
||||||
String saleId, String storeId, String personnelId, String province, String city,
|
String saleId, String storeId, String personnelId, String province, String city,
|
||||||
String county, String serialNumber, String number, String logiRemark, String pageUrl,
|
String county, String serialNumber, String number, String logiRemark, String pageUrl,
|
||||||
String remark, String installAddress, String ynumber2, String images) throws Exception;
|
String remark, String installAddress, String ynumber2, String images, String sn) throws Exception;
|
||||||
|
|
||||||
CTResponse<String> saveOrder(String name, String idCard, String contactMobile, String installedAddress,
|
CTResponse<String> saveOrder(String name, String idCard, String contactMobile, String installedAddress,
|
||||||
String saleId, String storeId, String personnelId, String province, String city,
|
String saleId, String storeId, String personnelId, String province, String city,
|
||||||
String county, String serialNumber, String number, String logiRemark, String pageUrl,
|
String county, String serialNumber, String number, String logiRemark, String pageUrl,
|
||||||
String remark, String installAddress, String ynumber2, String images, String deliveryMethod) throws Exception;
|
String remark, String installAddress, String ynumber2, String images, String deliveryMethod, String sn) throws Exception;
|
||||||
|
|
||||||
CTResponse<String> uploadFile(String serialNumber, String name, String idCard, String type, String msgId, String img) throws Exception;
|
CTResponse<String> uploadFile(String serialNumber, String name, String idCard, String type, String msgId, String img) throws Exception;
|
||||||
|
|
||||||
CTResponse<String> updateOrder(String name, String orderNum) throws Exception;
|
CTResponse<String> updateOrder(String name, String orderNum) throws Exception;
|
||||||
|
|
||||||
|
CTResponse<String> updateOrderNum(String serialNumber) throws Exception;
|
||||||
|
|
||||||
CTResponse<String> updateExpress(String orderNum) throws Exception;
|
CTResponse<String> updateExpress(String orderNum) throws Exception;
|
||||||
|
|
||||||
CTResponse<JSONArray> syncOffer(String orderNum, String offerIds, String salesNumber) throws Exception;
|
CTResponse<JSONArray> syncOffer(String orderNum, String offerIds, String salesNumber) throws Exception;
|
||||||
|
|||||||
@@ -58,4 +58,6 @@ public interface IAgentOrderService {
|
|||||||
void updateCount(AgentAccountGoodVo agentAccountGoodVo);
|
void updateCount(AgentAccountGoodVo agentAccountGoodVo);
|
||||||
|
|
||||||
AgentOrderVo queryBySerialNumber(String serialNumber);
|
AgentOrderVo queryBySerialNumber(String serialNumber);
|
||||||
|
|
||||||
|
AgentOrderVo queryByNumber(String number);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ import com.ruoyi.common.core.domain.PageQuery;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import com.ruoyi.ct.domain.vo.AgentVo;
|
||||||
|
import com.ruoyi.ct.mapper.AgentMapper;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.ruoyi.ct.domain.bo.AgentAccountGoodBo;
|
import com.ruoyi.ct.domain.bo.AgentAccountGoodBo;
|
||||||
@@ -30,6 +32,7 @@ import java.util.Collection;
|
|||||||
public class AgentAccountGoodServiceImpl implements IAgentAccountGoodService {
|
public class AgentAccountGoodServiceImpl implements IAgentAccountGoodService {
|
||||||
|
|
||||||
private final AgentAccountGoodMapper baseMapper;
|
private final AgentAccountGoodMapper baseMapper;
|
||||||
|
private final AgentMapper agentMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询代理商商品
|
* 查询代理商商品
|
||||||
@@ -46,6 +49,10 @@ public class AgentAccountGoodServiceImpl implements IAgentAccountGoodService {
|
|||||||
public TableDataInfo<AgentAccountGoodVo> queryPageList(AgentAccountGoodBo bo, PageQuery pageQuery) {
|
public TableDataInfo<AgentAccountGoodVo> queryPageList(AgentAccountGoodBo bo, PageQuery pageQuery) {
|
||||||
LambdaQueryWrapper<AgentAccountGood> lqw = buildQueryWrapper(bo);
|
LambdaQueryWrapper<AgentAccountGood> lqw = buildQueryWrapper(bo);
|
||||||
Page<AgentAccountGoodVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
Page<AgentAccountGoodVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
|
// for (AgentAccountGoodVo agentAccountGoodVo : result.getRecords()) {
|
||||||
|
// AgentVo agentVo = agentMapper.selectVoById(agentAccountGoodVo.getAgentId());
|
||||||
|
// agentAccountGoodVo.setAgentVo(agentVo);
|
||||||
|
// }
|
||||||
return TableDataInfo.build(result);
|
return TableDataInfo.build(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -56,6 +56,14 @@ public class AgentOrderServiceImpl implements IAgentOrderService {
|
|||||||
return baseMapper.selectVoOne(lqw);
|
return baseMapper.selectVoOne(lqw);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AgentOrderVo queryByNumber(String number) {
|
||||||
|
LambdaQueryWrapper<AgentOrder> lqw = new LambdaQueryWrapper<>();
|
||||||
|
lqw.eq(AgentOrder::getNumber, number);
|
||||||
|
lqw.last("limit 1");
|
||||||
|
return baseMapper.selectVoOne(lqw);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询订单列表
|
* 查询订单列表
|
||||||
*/
|
*/
|
||||||
@@ -112,9 +120,14 @@ public class AgentOrderServiceImpl implements IAgentOrderService {
|
|||||||
lqw.eq(StringUtils.isNotBlank(bo.getStatusCd()), AgentOrder::getStatusCd, bo.getStatusCd());
|
lqw.eq(StringUtils.isNotBlank(bo.getStatusCd()), AgentOrder::getStatusCd, bo.getStatusCd());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getRouteArr()), AgentOrder::getRouteArr, bo.getRouteArr());
|
lqw.eq(StringUtils.isNotBlank(bo.getRouteArr()), AgentOrder::getRouteArr, bo.getRouteArr());
|
||||||
lqw.eq(ObjectUtils.isNotNull(bo.getIsRecharge()), AgentOrder::getIsRecharge, bo.getIsRecharge());
|
lqw.eq(ObjectUtils.isNotNull(bo.getIsRecharge()), AgentOrder::getIsRecharge, bo.getIsRecharge());
|
||||||
|
lqw.eq(ObjectUtils.isNotNull(bo.getHasError()), AgentOrder::getHasError, bo.getHasError());
|
||||||
lqw.eq(ObjectUtils.isNotNull(bo.getIsExpress()), AgentOrder::getIsExpress, bo.getIsExpress());
|
lqw.eq(ObjectUtils.isNotNull(bo.getIsExpress()), AgentOrder::getIsExpress, bo.getIsExpress());
|
||||||
lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null,
|
lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null,
|
||||||
AgentOrder::getCreateTime ,params.get("beginCreateTime"), params.get("endCreateTime"));
|
AgentOrder::getCreateTime ,params.get("beginCreateTime"), params.get("endCreateTime"));
|
||||||
|
lqw.between(params.get("beginActiveTime") != null && params.get("endActiveTime") != null,
|
||||||
|
AgentOrder::getActiveTime ,params.get("beginActiveTime"), params.get("endActiveTime"));
|
||||||
|
lqw.between(params.get("beginRechargeTime") != null && params.get("endRechargeTime") != null,
|
||||||
|
AgentOrder::getRechargeTime ,params.get("beginRechargeTime"), params.get("endRechargeTime"));
|
||||||
lqw.orderByDesc(AgentOrder::getCreateTime);
|
lqw.orderByDesc(AgentOrder::getCreateTime);
|
||||||
return lqw;
|
return lqw;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,9 +7,13 @@ import cn.hutool.http.HttpUtil;
|
|||||||
import cn.hutool.json.JSONArray;
|
import cn.hutool.json.JSONArray;
|
||||||
import cn.hutool.json.JSONObject;
|
import cn.hutool.json.JSONObject;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.ruoyi.common.core.domain.CTRequestBody;
|
import com.ruoyi.common.core.domain.CTRequestBody;
|
||||||
import com.ruoyi.common.core.domain.CTResponse;
|
import com.ruoyi.common.core.domain.CTResponse;
|
||||||
import com.ruoyi.ct.domain.bo.AgentOrderBo;
|
import com.ruoyi.ct.CTNetException;
|
||||||
|
import com.ruoyi.ct.domain.AgentOrder;
|
||||||
|
import com.ruoyi.ct.domain.vo.AgentOrderVo;
|
||||||
|
import com.ruoyi.ct.mapper.AgentOrderMapper;
|
||||||
import com.ruoyi.ct.service.CTService;
|
import com.ruoyi.ct.service.CTService;
|
||||||
import com.ruoyi.common.utils.redis.RedisUtils;
|
import com.ruoyi.common.utils.redis.RedisUtils;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -51,7 +55,9 @@ public class CTServiceImpl implements CTService {
|
|||||||
|
|
||||||
private String url;
|
private String url;
|
||||||
|
|
||||||
private CTRequestBody requestBody;
|
// private CTRequestBody requestBody;
|
||||||
|
|
||||||
|
private final AgentOrderMapper agentOrderMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 电信返回:
|
* 电信返回:
|
||||||
@@ -111,7 +117,7 @@ public class CTServiceImpl implements CTService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean checkToken() {
|
public CTRequestBody checkToken() {
|
||||||
try {
|
try {
|
||||||
token = RedisUtils.getCacheObject(tokenKey);
|
token = RedisUtils.getCacheObject(tokenKey);
|
||||||
System.out.println("token = " + token);
|
System.out.println("token = " + token);
|
||||||
@@ -120,7 +126,7 @@ public class CTServiceImpl implements CTService {
|
|||||||
// 缓存中没有token,需要重新获取
|
// 缓存中没有token,需要重新获取
|
||||||
if (!getToken()) {
|
if (!getToken()) {
|
||||||
// 没有获取到token,提示稍后再试
|
// 没有获取到token,提示稍后再试
|
||||||
return false;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -132,13 +138,13 @@ public class CTServiceImpl implements CTService {
|
|||||||
// 缓存中没有token,需要重新获取
|
// 缓存中没有token,需要重新获取
|
||||||
if (!getToken()) {
|
if (!getToken()) {
|
||||||
// 没有获取到token,提示稍后再试
|
// 没有获取到token,提示稍后再试
|
||||||
return false;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
url = String.format("%sdqServer/api_out/xt/v1/extInterface", host);
|
url = String.format("%sdqServer/api_out/xt/v1/extInterface", host);
|
||||||
requestBody = new CTRequestBody();
|
CTRequestBody requestBody = new CTRequestBody();
|
||||||
requestBody.setAppId(appId);
|
requestBody.setAppId(appId);
|
||||||
return true;
|
return requestBody;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -156,7 +162,8 @@ public class CTServiceImpl implements CTService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<JSONObject> selectNumber(String personnelId, String saleId, String page, String pageSize) throws Exception {
|
public List<JSONObject> selectNumber(String personnelId, String saleId, String page, String pageSize) throws Exception {
|
||||||
if (checkToken()) {
|
CTRequestBody requestBody = checkToken();
|
||||||
|
if (ObjectUtil.isNotNull(requestBody)) {
|
||||||
requestBody.setInterfaceName("SelectNumber");
|
requestBody.setInterfaceName("SelectNumber");
|
||||||
Map<String, Object> body = new HashMap<>();
|
Map<String, Object> body = new HashMap<>();
|
||||||
body.put("personnelId", personnelId);
|
body.put("personnelId", personnelId);
|
||||||
@@ -183,17 +190,21 @@ public class CTServiceImpl implements CTService {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 线上下单
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public CTResponse<String> saveOrder(String name, String idCard, String contactMobile,
|
public CTResponse<String> saveOrder(String name, String idCard, String contactMobile,
|
||||||
String installedAddress, String saleId, String storeId,
|
String installedAddress, String saleId, String storeId,
|
||||||
String personnelId, String province, String city,
|
String personnelId, String province, String city,
|
||||||
String county, String serialNumber, String number,
|
String county, String serialNumber, String number,
|
||||||
String logiRemark, String pageUrl, String remark,
|
String logiRemark, String pageUrl, String remark,
|
||||||
String installAddress, String ynumber2, String images) throws Exception {
|
String installAddress, String ynumber2, String images, String sn) throws Exception {
|
||||||
if (checkToken()) {
|
CTRequestBody requestBody = checkToken();
|
||||||
|
if (ObjectUtil.isNotNull(requestBody)) {
|
||||||
|
log.error(sn+" ------------------检查接口登录状态完成-------------------");
|
||||||
requestBody.setInterfaceName("SaveOrder");
|
requestBody.setInterfaceName("SaveOrder");
|
||||||
Map<String, Object> body = new HashMap<>();
|
Map<String, Object> body = new HashMap<>();
|
||||||
|
|
||||||
body.put("name", name);
|
body.put("name", name);
|
||||||
body.put("idCard", idCard);
|
body.put("idCard", idCard);
|
||||||
body.put("contactMobile", contactMobile);
|
body.put("contactMobile", contactMobile);
|
||||||
@@ -212,33 +223,60 @@ public class CTServiceImpl implements CTService {
|
|||||||
body.put("installAddress", installAddress);
|
body.put("installAddress", installAddress);
|
||||||
// body.put("ynumber2", ynumber2);
|
// body.put("ynumber2", ynumber2);
|
||||||
// body.put("images", images);
|
// body.put("images", images);
|
||||||
log.info("body:" + body);
|
|
||||||
requestBody.setEncryption(JSONUtil.toJsonStr(body), publicKey);
|
requestBody.setEncryption(JSONUtil.toJsonStr(body), publicKey);
|
||||||
|
log.error(sn+" 加密前数据:"+body);
|
||||||
|
log.error(sn+" 加密后数据:"+requestBody.toMap());
|
||||||
HttpResponse httpResponse = HttpRequest.post(url)
|
HttpResponse httpResponse = HttpRequest.post(url)
|
||||||
.header("token", token)
|
.header("token", token)
|
||||||
.form(requestBody.toMap())
|
.form(requestBody.toMap())
|
||||||
.execute();
|
.execute();
|
||||||
log.error("body:"+httpResponse.body());
|
// log.error("body:"+httpResponse.body());
|
||||||
if (httpResponse.isOk()) {
|
if (httpResponse.isOk()) {
|
||||||
|
if (ObjectUtil.isNotNull(httpResponse.body()) && ObjectUtil.isNull(JSONUtil.toBean(httpResponse.body(), JSONObject.class).getStr("status"))) {
|
||||||
|
// 其他异常状态,如504等
|
||||||
|
log.error(sn+" ------------------下单异常------------------- ");
|
||||||
|
log.error(sn+" 请求电信异常,状态码:"+httpResponse.getStatus());
|
||||||
|
log.error(sn+" 返回:"+httpResponse.body());
|
||||||
|
LambdaQueryWrapper<AgentOrder> lqw = new LambdaQueryWrapper<>();
|
||||||
|
lqw.eq(AgentOrder::getSerialNumber, serialNumber);
|
||||||
|
lqw.last("limit 1");
|
||||||
|
AgentOrderVo agentOrderVo = agentOrderMapper.selectVoOne(lqw);
|
||||||
|
AgentOrder agentOrder = new AgentOrder();
|
||||||
|
agentOrder.setId(agentOrderVo.getId());
|
||||||
|
agentOrder.setStatus("-2");
|
||||||
|
agentOrder.setHasError(1);
|
||||||
|
agentOrderMapper.updateById(agentOrder);
|
||||||
|
log.error(sn+" --------------------------------------------");
|
||||||
|
throw new CTNetException();
|
||||||
|
}
|
||||||
CTResponse<String> response = JSONUtil.toBean(httpResponse.body(), CTResponse.class);
|
CTResponse<String> response = JSONUtil.toBean(httpResponse.body(), CTResponse.class);
|
||||||
return response;
|
return response;
|
||||||
|
} else {
|
||||||
|
// 返回的不是200,或者没有返回
|
||||||
|
log.error(sn+" ------------------下单异常-------------------");
|
||||||
|
log.error(sn+" 请求电信异常,状态码:"+httpResponse.getStatus());
|
||||||
|
log.error(sn+" 返回:"+httpResponse.body());
|
||||||
|
log.error(sn+" --------------------------------------------");
|
||||||
}
|
}
|
||||||
log.error("response status:"+httpResponse.getStatus());
|
|
||||||
log.error("request error");
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
log.error("token error");
|
log.error("token error");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 线下下单
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public CTResponse<String> saveOrder(String name, String idCard, String contactMobile,
|
public CTResponse<String> saveOrder(String name, String idCard, String contactMobile,
|
||||||
String installedAddress, String saleId, String storeId,
|
String installedAddress, String saleId, String storeId,
|
||||||
String personnelId, String province, String city,
|
String personnelId, String province, String city,
|
||||||
String county, String serialNumber, String number,
|
String county, String serialNumber, String number,
|
||||||
String logiRemark, String pageUrl, String remark,
|
String logiRemark, String pageUrl, String remark,
|
||||||
String installAddress, String ynumber2, String images, String deliveryMethod) throws Exception {
|
String installAddress, String ynumber2, String images, String deliveryMethod, String sn) throws Exception {
|
||||||
if (checkToken()) {
|
CTRequestBody requestBody = checkToken();
|
||||||
|
if (ObjectUtil.isNotNull(requestBody)) {
|
||||||
|
log.error(sn+" ------------------检查接口登录状态完成-------------------");
|
||||||
requestBody.setInterfaceName("SaveOrder");
|
requestBody.setInterfaceName("SaveOrder");
|
||||||
Map<String, Object> body = new HashMap<>();
|
Map<String, Object> body = new HashMap<>();
|
||||||
|
|
||||||
@@ -261,19 +299,43 @@ public class CTServiceImpl implements CTService {
|
|||||||
body.put("installAddress", installAddress);
|
body.put("installAddress", installAddress);
|
||||||
// body.put("ynumber2", ynumber2);
|
// body.put("ynumber2", ynumber2);
|
||||||
// body.put("images", images);
|
// body.put("images", images);
|
||||||
log.info("body:" + body);
|
// log.info("body:" + body);
|
||||||
requestBody.setEncryption(JSONUtil.toJsonStr(body), publicKey);
|
requestBody.setEncryption(JSONUtil.toJsonStr(body), publicKey);
|
||||||
|
log.error(sn+" 加密前数据:"+body);
|
||||||
|
log.error(sn+" 加密后数据:"+requestBody.toMap());
|
||||||
HttpResponse httpResponse = HttpRequest.post(url)
|
HttpResponse httpResponse = HttpRequest.post(url)
|
||||||
.header("token", token)
|
.header("token", token)
|
||||||
.form(requestBody.toMap())
|
.form(requestBody.toMap())
|
||||||
.execute();
|
.execute();
|
||||||
log.error("body:"+httpResponse.body());
|
// log.error("body:"+httpResponse.body());
|
||||||
if (httpResponse.isOk()) {
|
if (httpResponse.isOk()) {
|
||||||
|
if (ObjectUtil.isNotNull(httpResponse.body()) && ObjectUtil.isNull(JSONUtil.toBean(httpResponse.body(), JSONObject.class).getStr("status"))) {
|
||||||
|
// 其他异常状态,如504等
|
||||||
|
log.error(sn+" ------------------下单异常------------------- ");
|
||||||
|
log.error(sn+" 请求电信异常,状态码:"+httpResponse.getStatus());
|
||||||
|
log.error(sn+" 返回:"+httpResponse.body());
|
||||||
|
LambdaQueryWrapper<AgentOrder> lqw = new LambdaQueryWrapper<>();
|
||||||
|
lqw.eq(AgentOrder::getSerialNumber, serialNumber);
|
||||||
|
lqw.last("limit 1");
|
||||||
|
AgentOrderVo agentOrderVo = agentOrderMapper.selectVoOne(lqw);
|
||||||
|
AgentOrder agentOrder = new AgentOrder();
|
||||||
|
agentOrder.setId(agentOrderVo.getId());
|
||||||
|
agentOrder.setStatus("-2");
|
||||||
|
agentOrder.setHasError(1);
|
||||||
|
agentOrderMapper.updateById(agentOrder);
|
||||||
|
log.error(sn+" --------------------------------------------");
|
||||||
|
throw new CTNetException();
|
||||||
|
|
||||||
|
}
|
||||||
CTResponse<String> response = JSONUtil.toBean(httpResponse.body(), CTResponse.class);
|
CTResponse<String> response = JSONUtil.toBean(httpResponse.body(), CTResponse.class);
|
||||||
return response;
|
return response;
|
||||||
|
} else {
|
||||||
|
// 返回的不是200,或者没有返回
|
||||||
|
log.error(sn+" ------------------下单异常-------------------");
|
||||||
|
log.error(sn+" 请求电信异常,状态码:"+httpResponse.getStatus());
|
||||||
|
log.error(sn+" 返回:"+httpResponse.body());
|
||||||
|
log.error(sn+" --------------------------------------------");
|
||||||
}
|
}
|
||||||
log.error("response status:"+httpResponse.getStatus());
|
|
||||||
log.error("request error");
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
log.error("token error");
|
log.error("token error");
|
||||||
@@ -282,7 +344,8 @@ public class CTServiceImpl implements CTService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CTResponse<String> uploadFile(String serialNumber, String name, String idCard, String type, String msgId, String img) throws Exception {
|
public CTResponse<String> uploadFile(String serialNumber, String name, String idCard, String type, String msgId, String img) throws Exception {
|
||||||
if (checkToken()) {
|
CTRequestBody requestBody = checkToken();
|
||||||
|
if (ObjectUtil.isNotNull(requestBody)) {
|
||||||
requestBody.setInterfaceName("UploadFile");
|
requestBody.setInterfaceName("UploadFile");
|
||||||
requestBody.setFileBase64(img);
|
requestBody.setFileBase64(img);
|
||||||
Map<String, Object> body = new HashMap<>();
|
Map<String, Object> body = new HashMap<>();
|
||||||
@@ -295,8 +358,11 @@ public class CTServiceImpl implements CTService {
|
|||||||
if (ObjectUtil.isNotNull(msgId)) {
|
if (ObjectUtil.isNotNull(msgId)) {
|
||||||
body.put("msgId", msgId);
|
body.put("msgId", msgId);
|
||||||
}
|
}
|
||||||
log.info("body:" + body);
|
log.error("body:" + body);
|
||||||
requestBody.setEncryption(JSONUtil.toJsonStr(body), publicKey);
|
requestBody.setEncryption(JSONUtil.toJsonStr(body), publicKey);
|
||||||
|
log.error("body appid:" + requestBody.getAppId());
|
||||||
|
log.error("body interface name:" + requestBody.getInterfaceName());
|
||||||
|
log.error("body encryption:" + requestBody.getEncryption());
|
||||||
HttpResponse httpResponse = HttpRequest.post(url)
|
HttpResponse httpResponse = HttpRequest.post(url)
|
||||||
.header("token", token)
|
.header("token", token)
|
||||||
.form(requestBody.toMap())
|
.form(requestBody.toMap())
|
||||||
@@ -316,7 +382,8 @@ public class CTServiceImpl implements CTService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CTResponse<String> updateOrder(String name, String orderNum) throws Exception {
|
public CTResponse<String> updateOrder(String name, String orderNum) throws Exception {
|
||||||
if (checkToken()) {
|
CTRequestBody requestBody = checkToken();
|
||||||
|
if (ObjectUtil.isNotNull(requestBody)) {
|
||||||
requestBody.setInterfaceName("QueryOrder");
|
requestBody.setInterfaceName("QueryOrder");
|
||||||
Map<String, Object> body = new HashMap<>();
|
Map<String, Object> body = new HashMap<>();
|
||||||
|
|
||||||
@@ -352,9 +419,48 @@ public class CTServiceImpl implements CTService {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CTResponse<String> updateOrderNum(String serialNumber) throws Exception {
|
||||||
|
CTRequestBody requestBody = checkToken();
|
||||||
|
if (ObjectUtil.isNotNull(requestBody)) {
|
||||||
|
requestBody.setInterfaceName("QueryOrderResult");
|
||||||
|
Map<String, Object> body = new HashMap<>();
|
||||||
|
|
||||||
|
body.put("serialNumber", serialNumber);
|
||||||
|
|
||||||
|
log.info("body:" + body);
|
||||||
|
System.out.println("body = " + body);
|
||||||
|
requestBody.setEncryption(JSONUtil.toJsonStr(body), publicKey);
|
||||||
|
HttpResponse httpResponse = HttpRequest.post(url)
|
||||||
|
.header("token", token)
|
||||||
|
.form(requestBody.toMap())
|
||||||
|
.execute();
|
||||||
|
log.error("body:"+httpResponse.body());
|
||||||
|
System.out.println("httpResponse.body() = " + httpResponse.body());
|
||||||
|
if (httpResponse.isOk()) {
|
||||||
|
CTResponse<String> response = JSONUtil.toBean(httpResponse.body(), CTResponse.class);
|
||||||
|
|
||||||
|
try {
|
||||||
|
String data = response.getData();
|
||||||
|
response.setDecryptData(JSONUtil.parseObj(decrypt(data, publicKey)));
|
||||||
|
return response;
|
||||||
|
} catch (Exception e) {
|
||||||
|
response.setDecryptData(JSONUtil.parseObj(httpResponse.body()).getJSONObject("data"));
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
log.error("response status:"+httpResponse.getStatus());
|
||||||
|
log.error("request error");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CTResponse<String> updateExpress(String orderNum) throws Exception {
|
public CTResponse<String> updateExpress(String orderNum) throws Exception {
|
||||||
if (checkToken()) {
|
CTRequestBody requestBody = checkToken();
|
||||||
|
if (ObjectUtil.isNotNull(requestBody)) {
|
||||||
requestBody.setInterfaceName("QueryOrderResult");
|
requestBody.setInterfaceName("QueryOrderResult");
|
||||||
Map<String, Object> body = new HashMap<>();
|
Map<String, Object> body = new HashMap<>();
|
||||||
|
|
||||||
@@ -391,7 +497,8 @@ public class CTServiceImpl implements CTService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CTResponse<JSONArray> syncOffer(String orderNum, String offerIds, String salesNumber) throws Exception {
|
public CTResponse<JSONArray> syncOffer(String orderNum, String offerIds, String salesNumber) throws Exception {
|
||||||
if (checkToken()) {
|
CTRequestBody requestBody = checkToken();
|
||||||
|
if (ObjectUtil.isNotNull(requestBody)) {
|
||||||
requestBody.setInterfaceName("QueryNumberOffer");
|
requestBody.setInterfaceName("QueryNumberOffer");
|
||||||
Map<String, Object> body = new HashMap<>();
|
Map<String, Object> body = new HashMap<>();
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,8 @@ public class GoodServiceImpl implements IGoodService {
|
|||||||
LambdaQueryWrapper<Good> lqw = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<Good> lqw = Wrappers.lambdaQuery();
|
||||||
lqw.like(StringUtils.isNotBlank(bo.getName()), Good::getName, bo.getName());
|
lqw.like(StringUtils.isNotBlank(bo.getName()), Good::getName, bo.getName());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getContent()), Good::getContent, bo.getContent());
|
lqw.eq(StringUtils.isNotBlank(bo.getContent()), Good::getContent, bo.getContent());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getSaleId()), Good::getSaleId, bo.getSaleId());
|
lqw.like(StringUtils.isNotBlank(bo.getSaleId()), Good::getSaleId, bo.getSaleId());
|
||||||
|
lqw.like(StringUtils.isNotBlank(bo.getPersonnelId()), Good::getPersonnelId, bo.getPersonnelId());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), Good::getStatus, bo.getStatus());
|
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), Good::getStatus, bo.getStatus());
|
||||||
return lqw;
|
return lqw;
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
ct/src/main/resources/bill.xlsx
Normal file
BIN
ct/src/main/resources/bill.xlsx
Normal file
Binary file not shown.
@@ -1,18 +1,34 @@
|
|||||||
package com.ruoyi.web.controller.api;
|
package com.ruoyi.web.controller.api;
|
||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaIgnore;
|
import cn.dev33.satoken.annotation.SaIgnore;
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.json.JSONObject;
|
import cn.hutool.json.JSONObject;
|
||||||
import com.ruoyi.common.core.domain.CTResponse;
|
import com.ruoyi.common.core.domain.CTResponse;
|
||||||
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.R;
|
||||||
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||||
|
import com.ruoyi.ct.domain.Bill;
|
||||||
|
import com.ruoyi.ct.domain.vo.AgentOrderVo;
|
||||||
import com.ruoyi.ct.service.CTService;
|
import com.ruoyi.ct.service.CTService;
|
||||||
|
import com.ruoyi.ct.service.IAgentOrderService;
|
||||||
|
import com.ruoyi.oss.core.OssClient;
|
||||||
|
import com.ruoyi.oss.factory.OssFactory;
|
||||||
|
import com.ruoyi.system.domain.bo.SysOssBo;
|
||||||
|
import com.ruoyi.system.domain.vo.SysOssVo;
|
||||||
|
import com.ruoyi.system.service.ISysOssService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@SaIgnore
|
@SaIgnore
|
||||||
@@ -35,7 +51,7 @@ public class APIController {
|
|||||||
public R<String> saveOrder() throws Exception {
|
public R<String> saveOrder() throws Exception {
|
||||||
CTResponse<String> response = ctService.saveOrder("", "", "", "", "", "",
|
CTResponse<String> response = ctService.saveOrder("", "", "", "", "", "",
|
||||||
"", "", "", "", "", "", "", "", "",
|
"", "", "", "", "", "", "", "", "",
|
||||||
"", "", "");
|
"", "", "", "");
|
||||||
return R.ok(response.getData());
|
return R.ok(response.getData());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,4 +60,35 @@ public class APIController {
|
|||||||
CTResponse<String> response = ctService.updateOrder(name, orderNum);
|
CTResponse<String> response = ctService.updateOrder(name, orderNum);
|
||||||
return R.ok(response.getDecryptData());
|
return R.ok(response.getDecryptData());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private final ISysOssService sysOssService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private final IAgentOrderService iAgentOrderService;
|
||||||
|
|
||||||
|
@PostMapping("/updateBill")
|
||||||
|
public void updateBill(SysOssBo sysOssBo, HttpServletResponse response) {
|
||||||
|
SysOssVo sysOss = sysOssService.getById(sysOssBo.getOssId());
|
||||||
|
OssClient storage = OssFactory.instance(sysOss.getService());
|
||||||
|
InputStream inputStream = storage.getObjectContent(sysOss.getUrl());
|
||||||
|
List<Bill> excelResult = ExcelUtil.importExcel(inputStream, Bill.class);
|
||||||
|
List<Object> result = new ArrayList<>();
|
||||||
|
for (Bill bill: excelResult) {
|
||||||
|
System.out.println("bill = " + bill);
|
||||||
|
AgentOrderVo orderVo = iAgentOrderService.queryByNumber(bill.getL());
|
||||||
|
if (ObjectUtil.isNotNull(orderVo)) {
|
||||||
|
bill.setA0(orderVo.getAgentName());
|
||||||
|
bill.setA1(orderVo.getTitle());
|
||||||
|
bill.setA3(orderVo.getSaleId());
|
||||||
|
bill.setA4(orderVo.getPersonnelId());
|
||||||
|
}
|
||||||
|
result.add(bill);
|
||||||
|
}
|
||||||
|
ExcelUtil.exportTemplate(CollUtil.newArrayList(new HashMap<>(), result), "xx-"+sysOssBo.getOriginalName(), "bill.xlsx", response);
|
||||||
|
// System.out.println("data = " + excelResult.getList());
|
||||||
|
// List<AgentOrderVo> list = iAgentOrderService.queryList(bo);
|
||||||
|
// ExcelUtil.exportExcel(list, "订单", AgentOrderVo.class, response);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,8 @@ public class R<T> implements Serializable {
|
|||||||
|
|
||||||
private String msg;
|
private String msg;
|
||||||
|
|
||||||
|
private String serialNumber;
|
||||||
|
|
||||||
private T data;
|
private T data;
|
||||||
|
|
||||||
public static <T> R<T> ok() {
|
public static <T> R<T> ok() {
|
||||||
@@ -68,6 +70,10 @@ public class R<T> implements Serializable {
|
|||||||
return restResult(null, code, msg);
|
return restResult(null, code, msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static <T> R<T> fail(int code, String msg, String serialNumber) {
|
||||||
|
return restResult(null, code, msg, serialNumber);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 返回警告消息
|
* 返回警告消息
|
||||||
*
|
*
|
||||||
@@ -97,6 +103,15 @@ public class R<T> implements Serializable {
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static <T> R<T> restResult(T data, int code, String msg, String serialNumber) {
|
||||||
|
R<T> r = new R<>();
|
||||||
|
r.setCode(code);
|
||||||
|
r.setData(data);
|
||||||
|
r.setMsg(msg);
|
||||||
|
r.setSerialNumber(serialNumber);
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
public static <T> Boolean isError(R<T> ret) {
|
public static <T> Boolean isError(R<T> ret) {
|
||||||
return !isSuccess(ret);
|
return !isSuccess(ret);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,6 +56,49 @@ public class SampleService {
|
|||||||
@Resource
|
@Resource
|
||||||
private ISysConfigService sysConfigService;
|
private ISysConfigService sysConfigService;
|
||||||
|
|
||||||
|
@XxlJob("syncErrorOrder")
|
||||||
|
public void syncErrorOrder() throws Exception {
|
||||||
|
XxlJobHelper.log("Start sync Express");
|
||||||
|
LambdaQueryWrapper<AgentOrder> lqw = new LambdaQueryWrapper<>();
|
||||||
|
lqw.eq(AgentOrder::getStatus, "-2");
|
||||||
|
lqw.isNull(AgentOrder::getExpressNum);
|
||||||
|
List<AgentOrderVo> agentOrderVoList = iAgentOrderService.queryListByLQW(lqw);
|
||||||
|
for (AgentOrderVo vo: agentOrderVoList) {
|
||||||
|
XxlJobHelper.log("agentOrderVo = " + vo);
|
||||||
|
CTResponse<String> response = ctService.updateOrderNum(vo.getSerialNumber());
|
||||||
|
AgentOrderBo agentOrderBo = new AgentOrderBo();
|
||||||
|
agentOrderBo.setId(vo.getId());
|
||||||
|
Calendar calendar = Calendar.getInstance();
|
||||||
|
calendar.add(Calendar.MINUTE, -30);
|
||||||
|
Date validTo = calendar.getTime();
|
||||||
|
if (ObjectUtils.isNotNull(response) && response.isSuccess()) {
|
||||||
|
JSONObject data = response.getDecryptData();
|
||||||
|
XxlJobHelper.log("data = " + data);
|
||||||
|
|
||||||
|
if (ObjectUtils.isNotNull(data) && ObjectUtils.isNotNull(data.getStr("orderNo"))) {
|
||||||
|
agentOrderBo.setStatus("0");
|
||||||
|
agentOrderBo.setUpdateTime(new Date());
|
||||||
|
agentOrderBo.setOrderStatus(data.getStr("groupOrderStatus"));
|
||||||
|
agentOrderBo.setOrderNum(data.getStr("orderNo"));
|
||||||
|
iAgentOrderService.updateByBo(agentOrderBo);
|
||||||
|
} else {
|
||||||
|
if (vo.getCreateTime().compareTo(validTo) < 0){
|
||||||
|
agentOrderBo.setStatus("-3");
|
||||||
|
agentOrderBo.setUpdateTime(new Date());
|
||||||
|
iAgentOrderService.updateByBo(agentOrderBo);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (vo.getCreateTime().compareTo(validTo) < 0){
|
||||||
|
agentOrderBo.setStatus("-3");
|
||||||
|
agentOrderBo.setUpdateTime(new Date());
|
||||||
|
iAgentOrderService.updateByBo(agentOrderBo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@XxlJob("syncOffer")
|
@XxlJob("syncOffer")
|
||||||
public void syncOffer() throws Exception {
|
public void syncOffer() throws Exception {
|
||||||
XxlJobHelper.log("Start sync syncOffer");
|
XxlJobHelper.log("Start sync syncOffer");
|
||||||
@@ -81,6 +124,7 @@ public class SampleService {
|
|||||||
AgentOrderBo bo = new AgentOrderBo();
|
AgentOrderBo bo = new AgentOrderBo();
|
||||||
bo.setId(vo.getId());
|
bo.setId(vo.getId());
|
||||||
bo.setIsRecharge(1);
|
bo.setIsRecharge(1);
|
||||||
|
bo.setRechargeTime(new Date());
|
||||||
bo.setUpdateTime(new Date());
|
bo.setUpdateTime(new Date());
|
||||||
if (!data.contains(offerId50)) {
|
if (!data.contains(offerId50)) {
|
||||||
bo.setChargeTitle(sysConfig50.getConfigName());
|
bo.setChargeTitle(sysConfig50.getConfigName());
|
||||||
@@ -153,6 +197,7 @@ public class SampleService {
|
|||||||
boolean needStatistic = false;
|
boolean needStatistic = false;
|
||||||
if (Objects.equals(agentOrderBo.getOrderStatus(), "S1013")) {
|
if (Objects.equals(agentOrderBo.getOrderStatus(), "S1013")) {
|
||||||
agentOrderBo.setStatus("1");
|
agentOrderBo.setStatus("1");
|
||||||
|
agentOrderBo.setActiveTime(new Date());
|
||||||
needStatistic = true;
|
needStatistic = true;
|
||||||
} else if (Objects.equals(agentOrderBo.getOrderStatus(), "S1014")) {
|
} else if (Objects.equals(agentOrderBo.getOrderStatus(), "S1014")) {
|
||||||
agentOrderBo.setStatus("10");
|
agentOrderBo.setStatus("10");
|
||||||
|
|||||||
@@ -17,6 +17,27 @@ export function getAgentOrder(id) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function syncOrder(id) {
|
||||||
|
return request({
|
||||||
|
url: '/ct/agentOrder/syncOrder/' + id,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function syncExpress(id) {
|
||||||
|
return request({
|
||||||
|
url: '/ct/agentOrder/syncExpress/' + id,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function syncOffer(id) {
|
||||||
|
return request({
|
||||||
|
url: '/ct/agentOrder/syncOffer/' + id,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 新增订单
|
// 新增订单
|
||||||
export function addAgentOrder(data) {
|
export function addAgentOrder(data) {
|
||||||
return request({
|
return request({
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ const service = axios.create({
|
|||||||
// axios中请求配置有baseURL选项,表示请求URL公共部分
|
// axios中请求配置有baseURL选项,表示请求URL公共部分
|
||||||
baseURL: process.env.VUE_APP_BASE_API,
|
baseURL: process.env.VUE_APP_BASE_API,
|
||||||
// 超时
|
// 超时
|
||||||
timeout: 10000
|
timeout: 600000
|
||||||
})
|
})
|
||||||
|
|
||||||
// request拦截器
|
// request拦截器
|
||||||
|
|||||||
@@ -92,7 +92,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="代理商名称" fixed align="center" prop="agentName" />
|
<el-table-column label="代理商名称" fixed align="center" prop="agentName" />
|
||||||
<el-table-column label="电信ID" width="100" align="center" prop="personnelId" />
|
<el-table-column label="别名" width="100" align="center" prop="personnelId" />
|
||||||
<el-table-column label="APP ID" width="290" align="center" prop="appId" />
|
<el-table-column label="APP ID" width="290" align="center" prop="appId" />
|
||||||
<el-table-column label="APP Secret" width="290" align="center" prop="appSecret" />
|
<el-table-column label="APP Secret" width="290" align="center" prop="appSecret" />
|
||||||
<el-table-column label="公钥" width="80" align="center" prop="appSecret">
|
<el-table-column label="公钥" width="80" align="center" prop="appSecret">
|
||||||
@@ -176,8 +176,8 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="电信ID" prop="personnelId">
|
<el-form-item label="别名" prop="personnelId">
|
||||||
<el-input v-model="form.personnelId" :readonly="form.id!=null" placeholder="请输入电信ID" />
|
<el-input v-model="form.personnelId" placeholder="请输入别名" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|||||||
@@ -2,10 +2,10 @@
|
|||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
<el-form-item label="代理商" prop="agentId">
|
<el-form-item label="代理商" prop="agentId">
|
||||||
<el-select v-model="queryParams.agentId" clearable>
|
<el-select v-model="queryParams.agentAccountId" filterable clearable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in agentList" :key="item.id"
|
v-for="item in agentAccountList" :key="item.value"
|
||||||
:label="item.name"
|
:label="item.agentName+'('+item.personnelId+')'"
|
||||||
:value="item.id"></el-option>
|
:value="item.id"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -273,7 +273,6 @@ export default {
|
|||||||
this.agentAccountList.forEach(item=>{
|
this.agentAccountList.forEach(item=>{
|
||||||
if (item.id == val) {
|
if (item.id == val) {
|
||||||
this.form.agentId = item.agentId
|
this.form.agentId = item.agentId
|
||||||
this.form.personnelId = item.personnelId
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -281,14 +280,15 @@ export default {
|
|||||||
this.goodsList.forEach(item=>{
|
this.goodsList.forEach(item=>{
|
||||||
if (item.id == val) {
|
if (item.id == val) {
|
||||||
this.form.saleId = item.saleId
|
this.form.saleId = item.saleId
|
||||||
|
this.form.personnelId = item.personnelId
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getAgentName(row) {
|
getAgentName(row) {
|
||||||
let name = ''
|
let name = ''
|
||||||
this.agentList.forEach(item=>{
|
this.agentAccountList.forEach(item=>{
|
||||||
if (row.agentId == item.id) {
|
if (row.agentAccountId == item.id) {
|
||||||
name = item.name
|
name = item.agentName+'('+item.personnelId+')'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
return name
|
return name
|
||||||
|
|||||||
@@ -106,6 +106,30 @@
|
|||||||
:default-time="['00:00:00', '23:59:59']"
|
:default-time="['00:00:00', '23:59:59']"
|
||||||
></el-date-picker>
|
></el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="办理完成时间">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="daterangeActiveTime"
|
||||||
|
style="width: 240px"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
:default-time="['00:00:00', '23:59:59']"
|
||||||
|
></el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="首冲时间">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="daterangeRechargeTime"
|
||||||
|
style="width: 240px"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
:default-time="['00:00:00', '23:59:59']"
|
||||||
|
></el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="下单类型" prop="isExpress">
|
<el-form-item label="下单类型" prop="isExpress">
|
||||||
<el-select v-model="queryParams.isExpress" placeholder="请选择下单类型" clearable>
|
<el-select v-model="queryParams.isExpress" placeholder="请选择下单类型" clearable>
|
||||||
<el-option
|
<el-option
|
||||||
@@ -116,6 +140,16 @@
|
|||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="异常订单" prop="hasError">
|
||||||
|
<el-select v-model="queryParams.hasError" placeholder="异常订单" clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.type.has_error"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
@@ -123,7 +157,7 @@
|
|||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<!-- <el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
plain
|
plain
|
||||||
@@ -133,6 +167,7 @@
|
|||||||
v-hasPermi="['ct:agentOrder:add']"
|
v-hasPermi="['ct:agentOrder:add']"
|
||||||
>新增</el-button>
|
>新增</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<!--
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
type="success"
|
type="success"
|
||||||
@@ -165,6 +200,16 @@
|
|||||||
v-hasPermi="['ct:agentOrder:export']"
|
v-hasPermi="['ct:agentOrder:export']"
|
||||||
>导出</el-button>
|
>导出</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
plain
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
@click="handleBill"
|
||||||
|
v-hasPermi="['ct:agentOrder:add']"
|
||||||
|
>对账单</el-button>
|
||||||
|
</el-col>
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
@@ -232,6 +277,11 @@
|
|||||||
<dict-tag :options="dict.type.platform_order_status" :value="scope.row.status"/>
|
<dict-tag :options="dict.type.platform_order_status" :value="scope.row.status"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column label="办理完成时间" align="center" prop="activeTime" width="180">
|
||||||
|
<!-- <template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
|
||||||
|
</template> -->
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="电信订单号" align="center" prop="orderNum" />
|
<el-table-column label="电信订单号" align="center" prop="orderNum" />
|
||||||
<el-table-column label="电信订单状态" align="center" prop="orderStatus">
|
<el-table-column label="电信订单状态" align="center" prop="orderStatus">
|
||||||
<template slot-scope="props">
|
<template slot-scope="props">
|
||||||
@@ -247,6 +297,11 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="首冲类型" align="center" prop="chargeTitle" />
|
<el-table-column label="首冲类型" align="center" prop="chargeTitle" />
|
||||||
|
<el-table-column label="首冲时间" align="center" prop="rechargeTime" width="180">
|
||||||
|
<!-- <template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
|
||||||
|
</template> -->
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="下单时间" align="center" prop="createTime" width="180">
|
<el-table-column label="下单时间" align="center" prop="createTime" width="180">
|
||||||
<!-- <template slot-scope="scope">
|
<!-- <template slot-scope="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
|
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
|
||||||
@@ -264,24 +319,34 @@
|
|||||||
<dict-tag :options="dict.type.order_type" :value="scope.row.isExpress"/>
|
<dict-tag :options="dict.type.order_type" :value="scope.row.isExpress"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-edit"
|
icon="el-icon-edit"
|
||||||
@click="handleUpdate(scope.row)"
|
@click="syncOrder(scope.row)"
|
||||||
v-hasPermi="['ct:agentOrder:edit']"
|
v-hasPermi="['ct:agentOrder:query']"
|
||||||
>修改</el-button>
|
v-if="scope.row.status==0"
|
||||||
|
>同步订单状态</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-delete"
|
icon="el-icon-edit"
|
||||||
@click="handleDelete(scope.row)"
|
@click="syncExpress(scope.row)"
|
||||||
v-hasPermi="['ct:agentOrder:remove']"
|
v-hasPermi="['ct:agentOrder:query']"
|
||||||
>删除</el-button>
|
v-if="scope.row.status==0"
|
||||||
|
>同步物流</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-edit"
|
||||||
|
@click="syncOffer(scope.row)"
|
||||||
|
v-hasPermi="['ct:agentOrder:query']"
|
||||||
|
v-if="scope.row.status==1"
|
||||||
|
>同步首冲</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column> -->
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<pagination
|
<pagination
|
||||||
@@ -292,26 +357,26 @@
|
|||||||
@pagination="getList"
|
@pagination="getList"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<el-dialog title="更新对账单" :visible.sync="billOpen" width="800px" append-to-body>
|
||||||
|
<el-form ref="billForm" :model="billForm" label-width="160px">
|
||||||
|
<el-form-item label="文件名">
|
||||||
|
<fileUpload v-model="billForm.file" :fileType="['xlsx']" :fileSize="10" :limit="1"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button :loading="buttonLoading" type="primary" @click="submitBillForm">确 定</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
<!-- 添加或修改订单对话框 -->
|
<!-- 添加或修改订单对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="160px">
|
||||||
<el-form-item label="代理商ID" prop="agentId">
|
<el-form-item label="代理商商品" prop="agentAccountGoodId">
|
||||||
<el-input v-model="form.agentId" placeholder="请输入代理商ID" />
|
<el-select v-model="form.agentAccountGoodId" style="width: 100%;" @change="selectAgentAccountGood">
|
||||||
</el-form-item>
|
<el-option
|
||||||
<el-form-item label="代理商名称" prop="agentName">
|
v-for="item in agentGoodList" :key="item.id"
|
||||||
<el-input v-model="form.agentName" placeholder="请输入代理商名称" />
|
:label="item.label"
|
||||||
</el-form-item>
|
:value="item.id"></el-option>
|
||||||
<el-form-item label="代理商账号ID" prop="agentAccountId">
|
</el-select>
|
||||||
<el-input v-model="form.agentAccountId" placeholder="请输入代理商账号ID" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="商品ID" prop="saleId">
|
|
||||||
<el-input v-model="form.saleId" placeholder="请输入商品ID" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="厅店ID,默认13" prop="storeId">
|
|
||||||
<el-input v-model="form.storeId" placeholder="请输入厅店ID,默认13" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="代理商电信ID" prop="personnelId">
|
|
||||||
<el-input v-model="form.personnelId" placeholder="请输入代理商电信ID" />
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="用户姓名" prop="name">
|
<el-form-item label="用户姓名" prop="name">
|
||||||
<el-input v-model="form.name" placeholder="请输入用户姓名" />
|
<el-input v-model="form.name" placeholder="请输入用户姓名" />
|
||||||
@@ -334,44 +399,41 @@
|
|||||||
<el-form-item label="区" prop="county">
|
<el-form-item label="区" prop="county">
|
||||||
<el-input v-model="form.county" placeholder="请输入区" />
|
<el-input v-model="form.county" placeholder="请输入区" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="下单流水号" prop="serialNumber">
|
|
||||||
<el-input v-model="form.serialNumber" placeholder="请输入下单流水号" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="入网号码" prop="number">
|
<el-form-item label="入网号码" prop="number">
|
||||||
<el-input v-model="form.number" placeholder="请输入入网号码" />
|
<el-input v-model="form.number" placeholder="请输入入网号码" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="物流备注" prop="logiRemark">
|
|
||||||
<el-input v-model="form.logiRemark" type="textarea" placeholder="请输入内容" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="业务办理页面url" prop="pageUrl">
|
|
||||||
<el-input v-model="form.pageUrl" type="textarea" placeholder="请输入内容" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="备注" prop="remark">
|
<el-form-item label="备注" prop="remark">
|
||||||
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="宽带安装地址" prop="installAddress">
|
|
||||||
<el-input v-model="form.installAddress" type="textarea" placeholder="请输入内容" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="第二发展人工号" prop="ynumber2">
|
|
||||||
<el-input v-model="form.ynumber2" placeholder="请输入第二发展人工号" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="上传过的站牌类型,逗号分隔" prop="images">
|
|
||||||
<el-input v-model="form.images" placeholder="请输入上传过的站牌类型,逗号分隔" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="电信订单号" prop="orderNum">
|
<el-form-item label="电信订单号" prop="orderNum">
|
||||||
<el-input v-model="form.orderNum" placeholder="请输入电信订单号" />
|
<el-input v-model="form.orderNum" placeholder="请输入电信订单号" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="快递单号" prop="expressNum">
|
<el-form-item label="平台订单状态" prop="status">
|
||||||
<el-input v-model="form.expressNum" placeholder="请输入快递单号" />
|
<el-select v-model="form.status" placeholder="请选择平台订单状态">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.type.platform_order_status"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="物流信息" prop="expressRoutes">
|
<el-form-item label="是否异常订单" prop="hasError">
|
||||||
<el-input v-model="form.expressRoutes" type="textarea" placeholder="请输入内容" />
|
<el-radio-group v-model="form.hasError">
|
||||||
|
<el-radio
|
||||||
|
v-for="dict in dict.type.has_error"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="parseInt(dict.value)"
|
||||||
|
>{{dict.label}}</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="物流状态码" prop="statusCd">
|
<el-form-item label="下单时间" prop="createTime">
|
||||||
<el-input v-model="form.statusCd" placeholder="请输入物流状态码" />
|
<el-date-picker clearable
|
||||||
</el-form-item>
|
v-model="form.createTime"
|
||||||
<el-form-item label="订单路由信息" prop="routeArr">
|
type="datetime"
|
||||||
<el-input v-model="form.routeArr" type="textarea" placeholder="请输入内容" />
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
placeholder="请选择">
|
||||||
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
@@ -383,12 +445,14 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { listAgentOrder, getAgentOrder, delAgentOrder, addAgentOrder, updateAgentOrder } from "@/api/ct/agentOrder";
|
import { listAgentOrder, getAgentOrder, delAgentOrder, addAgentOrder, updateAgentOrder, syncOrder, syncOffer, syncExpress } from "@/api/ct/agentOrder";
|
||||||
import { listAgent } from "@/api/ct/agent";
|
import { listAgent } from "@/api/ct/agent";
|
||||||
import { listGood } from "@/api/ct/good";
|
import { listGood } from "@/api/ct/good";
|
||||||
|
import { listAgentAccountGood } from "@/api/ct/agentAccountGood";
|
||||||
|
import { listByIds } from "@/api/system/oss";
|
||||||
export default {
|
export default {
|
||||||
name: "AgentOrder",
|
name: "AgentOrder",
|
||||||
dicts: ['platform_order_status', 'is_recharge', 'order_type'],
|
dicts: ['platform_order_status', 'is_recharge', 'order_type', 'has_error'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 按钮loading
|
// 按钮loading
|
||||||
@@ -411,6 +475,7 @@ export default {
|
|||||||
title: "",
|
title: "",
|
||||||
// 是否显示弹出层
|
// 是否显示弹出层
|
||||||
open: false,
|
open: false,
|
||||||
|
billOpen: false,
|
||||||
// 查询参数
|
// 查询参数
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
@@ -428,47 +493,21 @@ export default {
|
|||||||
province: undefined,
|
province: undefined,
|
||||||
city: undefined,
|
city: undefined,
|
||||||
county: undefined,
|
county: undefined,
|
||||||
serialNumber: undefined,
|
|
||||||
number: undefined,
|
number: undefined,
|
||||||
logiRemark: undefined,
|
|
||||||
pageUrl: undefined,
|
|
||||||
installAddress: undefined,
|
|
||||||
ynumber2: undefined,
|
|
||||||
images: undefined,
|
images: undefined,
|
||||||
orderNum: undefined,
|
orderNum: undefined,
|
||||||
orderStatus: undefined,
|
|
||||||
status: undefined,
|
status: undefined,
|
||||||
expressNum: undefined,
|
hasError: undefined
|
||||||
expressRoutes: undefined,
|
|
||||||
statusCd: undefined,
|
|
||||||
routeArr: undefined,
|
|
||||||
isExpress: undefined
|
|
||||||
},
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
|
billForm: {},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {
|
rules: {
|
||||||
id: [
|
agentAccountGoodId: [
|
||||||
{ required: true, message: "不能为空", trigger: "blur" }
|
{ required: true, message: "代理商商品不能为空", trigger: "blur" }
|
||||||
],
|
|
||||||
agentId: [
|
|
||||||
{ required: true, message: "代理商ID不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
agentName: [
|
|
||||||
{ required: true, message: "代理商名称不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
agentAccountId: [
|
|
||||||
{ required: true, message: "代理商账号ID不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
saleId: [
|
|
||||||
{ required: true, message: "商品ID不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
storeId: [
|
|
||||||
{ required: true, message: "厅店ID,默认13不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
personnelId: [
|
|
||||||
{ required: true, message: "代理商电信ID不能为空", trigger: "blur" }
|
|
||||||
],
|
],
|
||||||
|
|
||||||
name: [
|
name: [
|
||||||
{ required: true, message: "用户姓名不能为空", trigger: "blur" }
|
{ required: true, message: "用户姓名不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
@@ -490,30 +529,9 @@ export default {
|
|||||||
county: [
|
county: [
|
||||||
{ required: true, message: "区不能为空", trigger: "blur" }
|
{ required: true, message: "区不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
serialNumber: [
|
|
||||||
{ required: true, message: "下单流水号不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
number: [
|
|
||||||
{ required: true, message: "入网号码不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
logiRemark: [
|
|
||||||
{ required: true, message: "物流备注不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
pageUrl: [
|
|
||||||
{ required: true, message: "业务办理页面url不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
remark: [
|
remark: [
|
||||||
{ required: true, message: "备注不能为空", trigger: "blur" }
|
{ required: true, message: "备注不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
installAddress: [
|
|
||||||
{ required: true, message: "宽带安装地址不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
ynumber2: [
|
|
||||||
{ required: true, message: "第二发展人工号不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
images: [
|
|
||||||
{ required: true, message: "上传过的站牌类型,逗号分隔不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
orderNum: [
|
orderNum: [
|
||||||
{ required: true, message: "电信订单号不能为空", trigger: "blur" }
|
{ required: true, message: "电信订单号不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
@@ -523,32 +541,52 @@ export default {
|
|||||||
status: [
|
status: [
|
||||||
{ required: true, message: "平台订单状态不能为空", trigger: "change" }
|
{ required: true, message: "平台订单状态不能为空", trigger: "change" }
|
||||||
],
|
],
|
||||||
expressNum: [
|
hasError: [
|
||||||
{ required: true, message: "快递单号不能为空", trigger: "blur" }
|
{ required: true, message: "是否异常订单不能为空", trigger: "change" }
|
||||||
],
|
|
||||||
expressRoutes: [
|
|
||||||
{ required: true, message: "物流信息不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
statusCd: [
|
|
||||||
{ required: true, message: "物流状态码不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
routeArr: [
|
|
||||||
{ required: true, message: "订单路由信息不能为空", trigger: "blur" }
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
routeStatus: {"S101405": "超时取消", "S100402": "无纸化归档中", "S102407": "实名待审核", "S101403": "用户取消", "S100529": "客户信息创建失败", "S1030": "已发货", "S100521": "客户信息创建成功", "S100508": "订单待认领", "S100524": "重新推送下单", "S101404": "系统取消", "S101702": "预审失败需重传", "S102401": "待实名", "S1027": "订单受理失败", "S104013": "甩单退单", "S104012": "甩单办结", "S104015": "二次甩单", "S101303": "无需处理", "S100522": "补录激活", "S102405": "审核失败取消", "S101401": "受理人员取消", "HTSG001": "正在派送途中", "S101715": "预审失败", "S104016": "已甩单", "HTSG002": "您的订单已经打包完毕,准备出库", "S102408": "活体上传成功", "S102406": "审核成功", "S101704": "订单信息待审核", "S102404": "审核失败需重传", "HTSG004": "用户签收", "HTSG003": "物料打包中", "S101302": "维持原套餐", "S100506": "受理中", "S101714": "预审通过", "S100523": "补录失败需重试", "S104014": "甩单异常办结", "S1024": "实名证件审核", "S1017": "订单信息预审", "S1014": "已取消", "S100519": "异常已干预", "T100078": "订单状态(主)", "S1000": "已提交", "S100000": "用户已取消", "S1001": "待支付", "S1002": "已支付", "S1004": "无纸化归档", "S100401": "无纸化归档成功", "S100400": "无纸化归档失败", "S1005": "订单受理中", "S100500": "订单已认领", "S100501": "下单中", "S1006": "订单受理完成", "S1007": "已派配", "S1008": "配送中", "S1009": "已签收", "S1013": "已完成", "S101301": "已完成", "S1050": "客户信息创建", "S1040": "甩单受理中", "S105001": "客户信息创建成功", "S105002": "新建客户创建失败", "S105003": "分账序号创建成功", "S105004": "分账序号创建失败", "S105005": "新建地址创建成功", "S105006": "新建地址创建失败", "S100530": "订单异常", "S100531": "等待CRM报竣", "S1010": "拒收", "S100403": "无纸化推送失败", "S100404": "无纸化推送成功", "S100532": "物流受理中", "S100533": "已报障", "S100534": "受理失败需报障", "S101602": "退款完成", "S101601": "退款待审核", "S100535": "物流单创建成功", "S100601": "订单受理完成"},
|
routeStatus: {"S101405": "超时取消", "S100402": "无纸化归档中", "S102407": "实名待审核", "S101403": "用户取消", "S100529": "客户信息创建失败", "S1030": "已发货", "S100521": "客户信息创建成功", "S100508": "订单待认领", "S100524": "重新推送下单", "S101404": "系统取消", "S101702": "预审失败需重传", "S102401": "待实名", "S1027": "订单受理失败", "S104013": "甩单退单", "S104012": "甩单办结", "S104015": "二次甩单", "S101303": "无需处理", "S100522": "补录激活", "S102405": "审核失败取消", "S101401": "受理人员取消", "HTSG001": "正在派送途中", "S101715": "预审失败", "S104016": "已甩单", "HTSG002": "您的订单已经打包完毕,准备出库", "S102408": "活体上传成功", "S102406": "审核成功", "S101704": "订单信息待审核", "S102404": "审核失败需重传", "HTSG004": "用户签收", "HTSG003": "物料打包中", "S101302": "维持原套餐", "S100506": "受理中", "S101714": "预审通过", "S100523": "补录失败需重试", "S104014": "甩单异常办结", "S1024": "实名证件审核", "S1017": "订单信息预审", "S1014": "已取消", "S100519": "异常已干预", "T100078": "订单状态(主)", "S1000": "已提交", "S100000": "用户已取消", "S1001": "待支付", "S1002": "已支付", "S1004": "无纸化归档", "S100401": "无纸化归档成功", "S100400": "无纸化归档失败", "S1005": "订单受理中", "S100500": "订单已认领", "S100501": "下单中", "S1006": "订单受理完成", "S1007": "已派配", "S1008": "配送中", "S1009": "已签收", "S1013": "已完成", "S101301": "已完成", "S1050": "客户信息创建", "S1040": "甩单受理中", "S105001": "客户信息创建成功", "S105002": "新建客户创建失败", "S105003": "分账序号创建成功", "S105004": "分账序号创建失败", "S105005": "新建地址创建成功", "S105006": "新建地址创建失败", "S100530": "订单异常", "S100531": "等待CRM报竣", "S1010": "拒收", "S100403": "无纸化推送失败", "S100404": "无纸化推送成功", "S100532": "物流受理中", "S100533": "已报障", "S100534": "受理失败需报障", "S101602": "退款完成", "S101601": "退款待审核", "S100535": "物流单创建成功", "S100601": "订单受理完成"},
|
||||||
expressStatus: {"100005": "新建", "100015": "待提交", "100021": "推送中", "100014": "已提交", "100010": "已接单", "100004": "已打包", "100002": "已发货", "100029": "派送准备", "100030": "已派送", "100026": "已签收"},
|
expressStatus: {"100005": "新建", "100015": "待提交", "100021": "推送中", "100014": "已提交", "100010": "已接单", "100004": "已打包", "100002": "已发货", "100029": "派送准备", "100030": "已派送", "100026": "已签收"},
|
||||||
daterangeCreateTime: [],
|
daterangeCreateTime: [],
|
||||||
|
daterangeActiveTime: [],
|
||||||
|
daterangeRechargeTime: [],
|
||||||
agentList: [],
|
agentList: [],
|
||||||
goodsList: [],
|
goodsList: [],
|
||||||
|
agentGoodList: []
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getAgentList();
|
this.getAgentList();
|
||||||
this.getGoodsList();
|
this.getGoodsList();
|
||||||
|
this.getAgentAccountGood();
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getAgentAccountGood() {
|
||||||
|
this.loading = true;
|
||||||
|
listAgentAccountGood({pageNum: 1, pageSize: 10000000, status: 1}).then(res=>{
|
||||||
|
let data = []
|
||||||
|
res.rows.forEach(item=>{
|
||||||
|
|
||||||
|
this.agentList.forEach(a=>{
|
||||||
|
if(a.id == item.agentId) {
|
||||||
|
item.agentName = a.name
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.goodsList.forEach(a=>{
|
||||||
|
if(a.id == item.goodId) {
|
||||||
|
item.goodName = a.name
|
||||||
|
item.goodContent = a.content
|
||||||
|
}
|
||||||
|
})
|
||||||
|
item.label = item.agentName+'-'+item.goodName+'('+item.saleId+')'
|
||||||
|
console.log(item)
|
||||||
|
data.push(item)
|
||||||
|
})
|
||||||
|
this.agentGoodList = data
|
||||||
|
this.loading = false;
|
||||||
|
})
|
||||||
|
},
|
||||||
getAgentList() {
|
getAgentList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
listAgent({pageNum: 1, pageSize: 10000000, status: 1}).then(res=>{
|
listAgent({pageNum: 1, pageSize: 10000000, status: 1}).then(res=>{
|
||||||
@@ -568,6 +606,21 @@ export default {
|
|||||||
this.goodsList = res.rows
|
this.goodsList = res.rows
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
selectAgentAccountGood(val) {
|
||||||
|
let item = null;
|
||||||
|
this.agentGoodList.forEach(r=>{
|
||||||
|
if (r.id == val) {
|
||||||
|
item = r
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.form.agentId = item.agentId
|
||||||
|
this.form.agentName = item.agentName
|
||||||
|
this.form.agentAccountId = item.agentAccountId
|
||||||
|
this.form.saleId = item.saleId
|
||||||
|
this.form.title = item.goodName
|
||||||
|
this.form.content = item.goodContent
|
||||||
|
this.form.storeId = '13'
|
||||||
|
},
|
||||||
/** 查询订单列表 */
|
/** 查询订单列表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
@@ -576,6 +629,14 @@ export default {
|
|||||||
this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
|
this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
|
||||||
this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
|
this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
|
||||||
}
|
}
|
||||||
|
if (null != this.daterangeActiveTime && '' != this.daterangeActiveTime) {
|
||||||
|
this.queryParams.params["beginActiveTime"] = this.daterangeActiveTime[0];
|
||||||
|
this.queryParams.params["endActiveTime"] = this.daterangeActiveTime[1];
|
||||||
|
}
|
||||||
|
if (null != this.daterangeRechargeTime && '' != this.daterangeRechargeTime) {
|
||||||
|
this.queryParams.params["beginRechargeTime"] = this.daterangeRechargeTime[0];
|
||||||
|
this.queryParams.params["endRechargeTime"] = this.daterangeRechargeTime[1];
|
||||||
|
}
|
||||||
listAgentOrder(this.queryParams).then(response => {
|
listAgentOrder(this.queryParams).then(response => {
|
||||||
response.rows.forEach(item=>{
|
response.rows.forEach(item=>{
|
||||||
item.routeArrs = item.routeArr != undefined && item.routeArr != null ? JSON.parse(item.routeArr) : []
|
item.routeArrs = item.routeArr != undefined && item.routeArr != null ? JSON.parse(item.routeArr) : []
|
||||||
@@ -596,10 +657,13 @@ export default {
|
|||||||
reset() {
|
reset() {
|
||||||
this.form = {
|
this.form = {
|
||||||
id: undefined,
|
id: undefined,
|
||||||
|
agentAccountGoodId: undefined,
|
||||||
agentId: undefined,
|
agentId: undefined,
|
||||||
agentName: undefined,
|
agentName: undefined,
|
||||||
agentAccountId: undefined,
|
agentAccountId: undefined,
|
||||||
saleId: undefined,
|
saleId: undefined,
|
||||||
|
title: undefined,
|
||||||
|
content: undefined,
|
||||||
storeId: undefined,
|
storeId: undefined,
|
||||||
personnelId: undefined,
|
personnelId: undefined,
|
||||||
name: undefined,
|
name: undefined,
|
||||||
@@ -619,11 +683,24 @@ export default {
|
|||||||
images: undefined,
|
images: undefined,
|
||||||
orderNum: undefined,
|
orderNum: undefined,
|
||||||
orderStatus: undefined,
|
orderStatus: undefined,
|
||||||
status: undefined,
|
activeTime: undefined,
|
||||||
|
status: '-2',
|
||||||
expressNum: undefined,
|
expressNum: undefined,
|
||||||
|
expressVendor: undefined,
|
||||||
expressRoutes: undefined,
|
expressRoutes: undefined,
|
||||||
statusCd: undefined,
|
statusCd: undefined,
|
||||||
routeArr: undefined,
|
routeArr: undefined,
|
||||||
|
isRecharge: undefined,
|
||||||
|
chargeTitle: undefined,
|
||||||
|
hasError: 1,
|
||||||
|
rechargeTime: undefined,
|
||||||
|
orderType: undefined,
|
||||||
|
apiVersion: undefined,
|
||||||
|
isExpress: undefined,
|
||||||
|
idCardFront: undefined,
|
||||||
|
idCardBack: undefined,
|
||||||
|
frontFace: undefined,
|
||||||
|
uploadMsgId: undefined,
|
||||||
delFlag: undefined,
|
delFlag: undefined,
|
||||||
createBy: undefined,
|
createBy: undefined,
|
||||||
createTime: undefined,
|
createTime: undefined,
|
||||||
@@ -637,6 +714,27 @@ export default {
|
|||||||
this.queryParams.pageNum = 1;
|
this.queryParams.pageNum = 1;
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
|
syncOrder(row) {
|
||||||
|
syncOrder(row.id).then(res=>{
|
||||||
|
console.log("同步结果")
|
||||||
|
console.log(res)
|
||||||
|
})
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
syncOffer(row) {
|
||||||
|
syncOffer(row.id).then(res=>{
|
||||||
|
console.log("同步结果")
|
||||||
|
console.log(res)
|
||||||
|
})
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
syncExpress(row) {
|
||||||
|
syncExpress(row.id).then(res=>{
|
||||||
|
console.log("同步结果")
|
||||||
|
console.log(res)
|
||||||
|
})
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
this.resetForm("queryForm");
|
this.resetForm("queryForm");
|
||||||
@@ -648,6 +746,10 @@ export default {
|
|||||||
this.single = selection.length!==1
|
this.single = selection.length!==1
|
||||||
this.multiple = !selection.length
|
this.multiple = !selection.length
|
||||||
},
|
},
|
||||||
|
handleBill() {
|
||||||
|
this.billForm = {}
|
||||||
|
this.billOpen = true
|
||||||
|
},
|
||||||
/** 新增按钮操作 */
|
/** 新增按钮操作 */
|
||||||
handleAdd() {
|
handleAdd() {
|
||||||
this.reset();
|
this.reset();
|
||||||
@@ -711,6 +813,25 @@ export default {
|
|||||||
this.download('/ct/agentOrder/export', {
|
this.download('/ct/agentOrder/export', {
|
||||||
...this.queryParams
|
...this.queryParams
|
||||||
}, `agentOrder_${new Date().getTime()}.xlsx`)
|
}, `agentOrder_${new Date().getTime()}.xlsx`)
|
||||||
|
},
|
||||||
|
submitBillForm() {
|
||||||
|
console.log(this.billForm)
|
||||||
|
if (this.billForm.file == undefined) {
|
||||||
|
this.$message.error('请选择文件');
|
||||||
|
return
|
||||||
|
}
|
||||||
|
let file = {}
|
||||||
|
listByIds(this.billForm.file).then(res => {
|
||||||
|
console.log(res)
|
||||||
|
file = res.data[0]
|
||||||
|
let now = new Date();
|
||||||
|
now = now.toISOString().substring(0, 19).replace("T", " ")
|
||||||
|
this.download("/ct/agentOrder/updateBill", {
|
||||||
|
ossId: file.ossId,
|
||||||
|
originalName: file.originalName
|
||||||
|
}, `${now}-${file.originalName}`)
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -17,6 +17,14 @@
|
|||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="电信ID" prop="personnelId">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.personnelId"
|
||||||
|
placeholder="请输入"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="状态" prop="status">
|
<el-form-item label="状态" prop="status">
|
||||||
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
|
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
|
||||||
<el-option
|
<el-option
|
||||||
@@ -84,6 +92,7 @@
|
|||||||
<el-table-column label="名称" align="center" prop="name" />
|
<el-table-column label="名称" align="center" prop="name" />
|
||||||
<el-table-column label="商品描述" align="center" prop="content" />
|
<el-table-column label="商品描述" align="center" prop="content" />
|
||||||
<el-table-column label="SaleID" align="center" prop="saleId" />
|
<el-table-column label="SaleID" align="center" prop="saleId" />
|
||||||
|
<el-table-column label="电信ID" width="100" align="center" prop="personnelId" />
|
||||||
<el-table-column label="状态" align="center" prop="status">
|
<el-table-column label="状态" align="center" prop="status">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<dict-tag :options="dict.type.good_status" :value="scope.row.status"/>
|
<dict-tag :options="dict.type.good_status" :value="scope.row.status"/>
|
||||||
@@ -141,6 +150,9 @@
|
|||||||
<el-form-item label="saleId" prop="saleId">
|
<el-form-item label="saleId" prop="saleId">
|
||||||
<el-input v-model="form.saleId" placeholder="请输入" />
|
<el-input v-model="form.saleId" placeholder="请输入" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="电信ID" prop="personnelId">
|
||||||
|
<el-input v-model="form.personnelId" placeholder="请输入电信ID" />
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="状态" prop="status">
|
<el-form-item label="状态" prop="status">
|
||||||
<el-radio-group v-model="form.status">
|
<el-radio-group v-model="form.status">
|
||||||
<el-radio
|
<el-radio
|
||||||
@@ -198,6 +210,7 @@ export default {
|
|||||||
content: undefined,
|
content: undefined,
|
||||||
saleId: undefined,
|
saleId: undefined,
|
||||||
status: undefined,
|
status: undefined,
|
||||||
|
personnelId: undefined
|
||||||
},
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
@@ -209,6 +222,9 @@ export default {
|
|||||||
saleId: [
|
saleId: [
|
||||||
{ required: true, message: "saleId不能为空", trigger: "blur" }
|
{ required: true, message: "saleId不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
|
personnelId: [
|
||||||
|
{ required: true, message: "电信ID不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
status: [
|
status: [
|
||||||
{ required: true, message: "状态不能为空", trigger: "blur" }
|
{ required: true, message: "状态不能为空", trigger: "blur" }
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ module.exports = {
|
|||||||
proxy: {
|
proxy: {
|
||||||
// detail: https://cli.vuejs.org/config/#devserver-proxy
|
// detail: https://cli.vuejs.org/config/#devserver-proxy
|
||||||
[process.env.VUE_APP_BASE_API]: {
|
[process.env.VUE_APP_BASE_API]: {
|
||||||
target: `http://localhost:8180`,
|
target: `http://127.0.0.1:8180/`,
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
pathRewrite: {
|
pathRewrite: {
|
||||||
['^' + process.env.VUE_APP_BASE_API]: ''
|
['^' + process.env.VUE_APP_BASE_API]: ''
|
||||||
|
|||||||
Reference in New Issue
Block a user