Commit bc2056c6 authored by libin's avatar libin

Merge remote-tracking branch 'origin/base-modify' into base-modify

parents ca741332 aa0b9aba
...@@ -42,10 +42,10 @@ ALIPAY_PID=2088531634846583 ...@@ -42,10 +42,10 @@ ALIPAY_PID=2088531634846583
#支付宝公钥 #支付宝公钥
ALIPAY_PUBLIC_KEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAj/EMaAD2iJP3I5M0g6pssDDe3RxF5I3ECM/Kz/btM0RiW2g5oRrHSjtGuos9l1QhQAY0SrVqa2eZdPKUB3ZqJdimQiXr3dbiMvG9UCs8vVUcrtCHCBjDllKQLiYzboxE6JLXyfII5tIXbFKiGyiEyXQnffUhQ9uGyT2EGWGecz6PLIjDdbwpxuzF2gIUzV3bPxb+0axejBxJ/3zKnWrsbyq2nvs8XrzrR2CEggNqgqsKzaacCL1yZjXzQRseSnCMtgSxR5W5afbdY0zqbUlLHUrUZ8ycCRC0ECuI9HyTbuqtdWHEZH7vIH44wEQWZPDRhMfMZvzmPUgpTWZLv5BtaQIDAQAB ALIPAY_PUBLIC_KEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAj/EMaAD2iJP3I5M0g6pssDDe3RxF5I3ECM/Kz/btM0RiW2g5oRrHSjtGuos9l1QhQAY0SrVqa2eZdPKUB3ZqJdimQiXr3dbiMvG9UCs8vVUcrtCHCBjDllKQLiYzboxE6JLXyfII5tIXbFKiGyiEyXQnffUhQ9uGyT2EGWGecz6PLIjDdbwpxuzF2gIUzV3bPxb+0axejBxJ/3zKnWrsbyq2nvs8XrzrR2CEggNqgqsKzaacCL1yZjXzQRseSnCMtgSxR5W5afbdY0zqbUlLHUrUZ8ycCRC0ECuI9HyTbuqtdWHEZH7vIH44wEQWZPDRhMfMZvzmPUgpTWZLv5BtaQIDAQAB
ALIPAY_ACOUNT=xxfc810@163.com ALIPAY_ACOUNT=xxfc810@163.com
ALIPAY_PRIVATE_KEY=MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC3bANag6my6pjHWqwnSCffRonvOXE6uQgNNb+V23PV55zfcuC+jIgl9BRrIf4tax5f2itfDmlOdAX6mK8WJ620SHg777Q2KlgNTa25ta3xiEfgkb01SX9VyiaLPpP2TEo5LhhRcT+cUomIufQbVbm/jS8mRQ0qBoofbMfr7n9fBSiVDx/QX07qcJTc/MGCy79H5gUiy2fTOEMhTuNtPkoU3az7jXMQ5U/33ILFAJzPCMNJvQnCYxs/y5loxxHdVqV8FnuCWGEWNViuuBtFRVRNXkrs/x99nF0V5/FHnOZzdM3SWrKCpA/52G5QQrbhZXUhMyCs9stXvH+iVUC1JJ9DAgMBAAECggEAOGRf/5MdOGHCCQCKjyUzBQVV4RPDCS/cFtughH1M9sXXyCc0i8D/FtQc9vcjg2k8lHGqBfaTT8iCEhKhOemHETd6p8rBmCmamrR4JfGCghDJMHT+PATVvlWBViwuJ3o7E6tlVJzB1tjVahDpyQGpMwhAJ77xFiueiZzTNmlEBb02ByCG95vkBV7NQT8yO9/1i3eq/tMoY7FfJP5O4LQ41RmqU9TVaAnTfuE6gs5hJboNGbmSMs2w2M0tldibmWcsQsFFPLwbUz042czSVb9J7lsGJjCtsaBeUiJ15y66W9D3587JJar9p+EyA2LNbolgrrNi2AA9KU5wEW2w8XyoOQKBgQDZamXDQZK3N5E46Hp/79o0Q99jqj9sL/HCYB4+Z8dG/Mgs43HHpgd+gHVeSOgxXS7RxsLyjCsM97ysWk7sbafvqtsnYmPU2MzumykVVpgWO6dpBcwmf2Ygk2i2W77oEqIi2IUmzkvDhw9C8A8/oh+IuoyRouPGRHpykAF+uXKVhwKBgQDX+TfQDDPniSnA9kTlW5I44glRgogA4xJtAYLtEr2fH9Pys+lkOyRqQH5wbJVj27jzJ0lffNyyMxgbZ8KRiH+3qRa8wNazwwXlXmj4DQWZedkULOpgMdU4EbbkTQRU3onEpMAZhAmVvAV1KTozs4RKi+1fFZ9V6ZOtmvapNJuXZQKBgQC7Xb0rQ3SMHwAxGfCQFwVma2O2AX883iisCaemwkrze1+Lh8uDcisdMtlzEsO/3v09XdydqHxlZY6cvgssJ+hFXGoXi+xa/yfFLcR/FixlZK2Gja99MeeyhTcFiRWB7KT8ALrnUXvrmpZlanrJrQ8eBx6jV8ySDmu0FTSkoG8GOwKBgE5toxX7CHJBPhdjlvtPOJdNhiLCaw8fZpaNIPVkg9WgIkCVkuCiFYQ8LW44EDv2E4DBOITje+V+Zne1Q1PEJNUWIzqiMJWQ8bgsg6PoXqswM2N/OBF8pzg4PplDWppTQeZWCah6aVylrbmxIgCaZSUJEUchO/5f1xAJIR+rCgF9AoGBAKJVVbrKPWshQ4cTL6VzanowjpWCRUDR22Oz3nKIdRl1FX+DTXYE4Dwl38iiNHOJptS7VjU553BUZl7HxCmSBWUmtnV78NNnRKrFVUhQhIRYBjMn1W6MD0jlBkky6yXmXkPtlqU6vU19RzGrvv6fDdBf6v4AkD8kWXiH5j4XEiQS ALIPAY_PRIVATE_KEY=MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC0wXVGAameVSLlLrq7edrMuoabN16/bYJNosLmPlHltEhehKO1ak/oIFvlKGyKwsW+xXd8t27p5hpsHqzNisU/jLbwEi6t0U/RBMbx3ult9zNhsZqSdJxe4QINChudVM6FdE8ssaq19ABwiLisMxxck0IiXDmesGI6vUSNzLEvKyYWTUsVsW1HgYXVjXmi8mOiwuFsJtdALS/psWci3UlX80rYG9KGqSBWT0B0Nr8UcM1L7UEkOHUEf1uq4Ipl5rTzgqoRQN5uHbBu50b7welAL2MFA9D/Ecv+FOfMIiLBtm1/6zNtjo/mvwORtS64mJXCaAbY1Pxa1bqs274fAwWtAgMBAAECggEAOObZ2zL0yZI1jP477H68wUxKyZwRqKN5rKT7Q+4EbBJn4dFRk++mvgVJyIcEPF56T8bsCYfZU6qLUNQLRB1WYN4UTNj8dt14ie0+D7BDvclfFHcLmOU6wKeGtMIk1U94QAzQS9qWSfdJGCQCNrtUR1RYMmbkAK+4DJO+fAEfGiCr1oMQpsz0h6Jhwp/DDBXZEjPdrECOjx2w5ZVULyPxFui2NQ8IS3rTT5SQvOBAgn9dbgZ/FVVbs2x6SpnWyOCUREK0uaLXJgf0JoX1WW4bswZlYmd7qURPscwFVKdYRautimcmO0FOUue62aPSYfvJwx8tTZanQbbwfrr0XrisBQKBgQDyKPYDYZzgGL/G5H8CQZajKnqg7a5AAZXJQLKkF7kiEgOlB3b6OqK6CeKVGawfuNIshECmmKcZmqrsPV42xrZl458kiDyqJNHq2lgFs9kj9BFUDi11EZfDGah4piJo5tgc09Hj6eAmeKdmG7aTS0/954xOK7eBFdG1T6R1Rd9Y4wKBgQC/Fhd5Nw6XYAg4qBmzOnvc9YwEL+wdy0aontFAFzaQlgkYm+efhYyjMcjyj4aloJZzpTd6eKbZI57IzihJI+F8+b1qToQDu8A2BTPkiOyXRcNY3y0LTNx7/gae6a9oGFc+8ILGa41va7WKjuPd08aXpSSBI34u10wWRMP+70m8LwKBgQCLerRYtjyZhyfO84WEUyrkyG7hioU3MLKJvM4oXdGwohefUnFhJ6za4x6zKppNmzLTmUlzq7FzufaBI8fEXShp/3WGoUHv7k1KrIDOqAyF/OqOM6xTJdL3+StkcqyXJ3+K+yaF1AvbnNsuoP/ETzi/0kKqM9v6agrkF/9t3NUMaQKBgCpafS1y1Jscv/W+3KNrLRUWn8g1zwHzkl/Bg+POwVtexflcZQRol3l8iWuqAFApve84CYntwB2U1ZbwiuFbQJlwyVkMuhoRvVK76HqZFseYwOmr3dIJYT1iWplSdnx+GKhsqq/MGvc9SmnBriP20qe+BM9SzJ8ZPVYaO87/vrolAoGARD8/IeEzMCPfYr9zBkE5rBtiT7t6nZXmMc6GH2Vao9meDofN8vj/XEfTGovusUYTWyA2Enac0YKdK6f6f+NYBqGYqn5Ludgxeotzo9UoXd3Hnv1gMCRs4ehloVODkHj2qhkvqL2iuZLsNp/wMq/ZHpRUzT4bO5H2FQhH4SUElKI=
#
#ALIPAY_APPID=2016100100641990 #ALIPAY_APPID=2016100100641990
#ALIPAY_PID=2088102178153042 #ALIPAY_PID=2088102178153042
#ALIPAY_PUBLIC_KEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA47AID6hZLPRBUZ9sZT6PYuif6ii+W6OptEMhDCWaDNZsknK8eW2w3I3b57+/vtV8WMulBopvjIpOgIVooDLxZCiiDtymauNvGu7WkqTu1TSJ/brPphMjU0sWl5XyE4NcMpLZoQALCXd3b7AQP3K4vco8wcxBwdjj9Es6LB19iLnUPXK5LPPTvPR+nVihtnP6Bw2gFQZWCAALti6q9HT7c77agsPO6CGyx6dLoO9IFLFME+E2BvVVKbrdzHBl2yhLLTeT7wWFs35tAlFfX9vj7cFH/cozMJUdw0PyxtpDuBJGwu4XhYWD5O5YcuNGxbuPRMTAPwqCjvQ0q474gi9R6QIDAQAB #ALIPAY_PUBLIC_KEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA47AID6hZLPRBUZ9sZT6PYuif6ii+W6OptEMhDCWaDNZsknK8eW2w3I3b57+/vtV8WMulBopvjIpOgIVooDLxZCiiDtymauNvGu7WkqTu1TSJ/brPphMjU0sWl5XyE4NcMpLZoQALCXd3b7AQP3K4vco8wcxBwdjj9Es6LB19iLnUPXK5LPPTvPR+nVihtnP6Bw2gFQZWCAALti6q9HT7c77agsPO6CGyx6dLoO9IFLFME+E2BvVVKbrdzHBl2yhLLTeT7wWFs35tAlFfX9vj7cFH/cozMJUdw0PyxtpDuBJGwu4XhYWD5O5YcuNGxbuPRMTAPwqCjvQ0q474gi9R6QIDAQAB
#ALIPAY_ACOUNT=xxfc810@163.com #ALIPAY_ACOUNT=xxfc810@163.com
#ALIPAY_PRIVATE_KEY=MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDZ9eBiJ+VeXuNrp1fxN7GX3qM7ZVFjlvaHu1wtkdXsXk7ICM6XgbnyCQA/QZg5pRiwUeGQyRed2dC8wA3xW1tE8qm7kvoBXaU6Laios9NvKkuVBgEEwEGuIm/yoPTVOsmEe6CPSTxrQLT6dGF45COk07QkyqzISjB4Zye73sfYiUVQxNi5izpjpYszapnM7gQ4cO5HoVWrXehLs+gAIo4q402RhC8BNSOogaUiDHysaqzysBGrdzSuEznisFJhdPyqlIAFcw+2oljtA02vs91Xt/Yb/odcVo+5lBMckDlCI8/ThKfW5J+pcpdehT7V664vwe+rXKsOl2jHbt9agRvtAgMBAAECggEBAKvHZ6+UZ+ZnfG9E9T9sOHBMDHPsVyfZO7Ufyfc0P9hJP2fR4RhxKl6CD4rLJLER2BJmhhL5Gb7Tgvqvlo2JBbaiVXk6zgSzjFv8zjcfetzbBbSOhdD7wQf/piEgD7XZ3iam1JT5EEArQDc/7+46R4lJPGneviwgpHDQQ/WCEBksKa1Y0CQO7IexUlgrIbT4D9SciQtljrCXyoQtSm1GatHNoXHHiZnLdVoIfUUpjpyODl/+ryhPV/r1Wzi0DU/GQNMQde1MQ0eI/ttVA9Xbq/gMs9YSFeLP+BWfGSppa/dbXihNF6nU9tPD10lUsJeUkn/GTcxMcWzH+NsqKVpPNxUCgYEA/DBJ/Quhi9OAqYChW7DsGi3lNndf9hKsEOYImFTueIo4QAo015Q5Xx2tDulXdOKo1J9Jh3BJsPvIsrQ295r12GtoVzwus/ed7/c1s/onYmOinEDkPwJtrK1xEyu1KSLSQyp/IJLYaDmqvM3vMgvH/DU2c1NORbwm8uu9opjojp8CgYEA3UEo26UxvT2d4/nSr2BNU3HCgI46nM++DaO2sB8PB8iQgqopuxxobgqzKij9z3qDDGvwaOZY9xp2O3A9BqMrhSqct8chQTS5WWaM9YBR8RlhqhNMTV9bgf1JX3Eq41Aqpkf9dGW7nP5RGX1Zxrm1VkFCCjEE1hzFIuXzrfJjZfMCgYEA+2RfvSJFDY/u6AlT0IVTNt2damghfrkqUUYeN0wi1IJkhGIoPuaBMnHwu7ab+eagiiOnNp4Wt5imfo3rZXRRskWPo7ZYkAo8pKN4I0swy4Gq7bw6Sx1umv3ihEvDsZgGpfHM/HmlxHAH5WIcGXVpC983wkq+8gEXiny5c0aePN0CgYBNzOzWF4ee+Ly9fop0OtPWBMmVNO4tV+uHlkrWMYWygfc2yykzb3DVSRPpPlLJk1Xjl00JRf6AnaB3lCcRX20dPXewM+hgqm6GnkXwyfeGZRtvl6ucBW0DD5KuafffyL/Gisf4FxHayZ6w7OAVvhWix/214bjGpYU4mU2PnA0RuwKBgQCCwSyfEysQKsAUJvw2d9uXNRvIs5uMeVOWIeRueZ+UqdmUd5jiOU0HhetPywys9ojBYJmR3zXDX/KTH+WNsVLm4esUge7LTVvgGPVDRvC9Xe2Ec7HhJb+xR0+lK+xZZXWmPdXPT1u8YE3V+SsyLl/xUu6jXXbl255ynWUMATuySA== #ALIPAY_PRIVATE_KEY=MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCdbAo5X1ZjE4EcbUAYfv09u1MLOjOxoYcIfmwgpXtwMW7p5rkGPrRo/MZa/UQRN37iKwUXisHcU+Xb84JJgqgy7PFAqZHsnXTEMXgW5+0ji951kDSoFh0gD412CHpUQPBdhQzLet12N93CkpiMAdDzhh7UxzNDeW0EJsYbUWbdVhuQlYmpxu6P6TL18fjYW3h6SoffB9yqLuyHY5bacYCat1Uuy4LRQMBOjMar3OaNKh/lAu6ol9GZgDgRAddCv8O4FmC0F5s9R7r+tSuscG5CDN7GLo6dR+hfOnLq5x5VxPQVG1xd89Fb01QWyVWje/t+cURPJA8Jar87cxvn5KVBAgMBAAECggEAYx/r1DKPH/XhH7g/Wu1jouJ4qSIt+NUART3t8iShdIT8FTaeHSuQyGcas6K0oK60K8/w9eD+rzD5FSXhTU6DgQWn6BKee0Kuivenaa0CqpZhLt/t+EVsc4q3hbJS7QizEgA8jUhBeTY2YlWSzt455431jgAc7IjiN3H+3qbEQewAI1EsbmuOXTZej84l3vBpFFLufIkVAEb+ZtSj3feu5cpgBZft1i4P1qeYvays9tJhK8R6LyvMu+hqPfYvvDFG4UQhXeB14LjPX7HVIt3z6mhOoeaeB+lhT0v8adYhV6pCx9w/RGQ1UNEorIq+ERwQM/LkdJNXuMV4JbOU565xEQKBgQDXOo4zRQL/RkW5cEG9RvGAZFqDK2qYdmN79IfTurAYIcSqXA2PLNyJUSwYB/Da/8DBPB89Bfb2Wx/XRgkK8mc9qtTC9VNJ/7J+Mqg32sdtIEtDpkVvjDvbb6DzcUihPKI0HQXadBhfCmtT8jfxv3GlcRkZTUGvNnGSM71lrDz6NQKBgQC7PisFhvpPTPvh2gbfcgjtdFxs/4xCYFLO8tt/UOPZzSPjFT5uCV9rXIr81XRWni8Jy30R0qGTnRWeZcPnF48QfF4BddO/OkDs0YCP3SFBJlhxo/m47DCDay2CV5oW2nISQf+jq0Rhcb3/JvKO4DMY8Ps8rAqbv889n5kcJH7AXQKBgQC0qe5bkv5lEbPNaTGFlFt8DsD7giJEQHxZvHWXgQn398CB0CuBl4K3sW917JR9AFno2nLOYodfXDZqGdvVWIzY8uENlaiIYR6PWC5kVD06mPUUoCmA7RIBrL5KGzmAPslZPVOAgBtFDBXzrUrQnobi/QC4gGU2kljbBJtjESVOUQKBgAWCJrHa7rI2iZJzX5BjQm/55F4whmfNfaIo8twj/RADQPMFRPjnva7i4hPeE7YYoTmgiuVjVO2KyYAHbmP2BXdusTVJyhjuFcrhvu58iuXnwuJU+JvAFw1GsegLu7TAaGqxFlwyRai4N+axtqENZ3NsY3e9d/JtCiO99jslt7ThAoGAA1cgO8divDd1KgCGyIdZKC45cymj1Iuwt5fU/f1GZfNxcLwXfACw5Du9orwyr5fHTuqRVvYzBciJKh881zsiI8+3IQiKnv1xO5xKWG6A503++NwyvLZM9ojoURtW/e6oWZWFbWcm320TFeihVaizGHGaoaouJpznC9Iqysj1XIo=
\ No newline at end of file \ No newline at end of file
...@@ -109,6 +109,16 @@ public class AccessGatewayFilter implements GlobalFilter{ ...@@ -109,6 +109,16 @@ public class AccessGatewayFilter implements GlobalFilter{
ServerHttpRequest.Builder mutate = request.mutate(); ServerHttpRequest.Builder mutate = request.mutate();
// 不进行拦截的地址 // 不进行拦截的地址
if (isStartWith(requestUri)) { if (isStartWith(requestUri)) {
//zjw20190806添加 start :避免已带token 却拿不到服务client/用户信息
// IJWTInfo user = null;
// try {
// user = getJWTUser(request, mutate);
// 申请客户端密钥头
mutate.header(serviceAuthConfig.getTokenHeader(), serviceAuthUtil.getClientToken());
// } catch (Exception e) {
// log.info("调用免登陆接口的用户Token过期异常", e);
// }
//zjw20190806添加 end
ServerHttpRequest build = mutate.build(); ServerHttpRequest build = mutate.build();
return gatewayFilterChain.filter(serverWebExchange.mutate().request(build).build()); return gatewayFilterChain.filter(serverWebExchange.mutate().request(build).build());
} }
......
...@@ -57,6 +57,7 @@ public class AppUserRelationBiz extends BaseBiz<AppUserRelationMapper,AppUserRel ...@@ -57,6 +57,7 @@ public class AppUserRelationBiz extends BaseBiz<AppUserRelationMapper,AppUserRel
/** /**
* 关系绑定 * 关系绑定
* 规则A->B (B无有效上线+无有效下线)
* @param userId * @param userId
* @param parentId * @param parentId
*/ */
...@@ -70,28 +71,31 @@ public class AppUserRelationBiz extends BaseBiz<AppUserRelationMapper,AppUserRel ...@@ -70,28 +71,31 @@ public class AppUserRelationBiz extends BaseBiz<AppUserRelationMapper,AppUserRel
if(relation==null){ if(relation==null){
relation=new AppUserRelation(); relation=new AppUserRelation();
relation.setUserId(parentId); relation.setUserId(parentId);
relation.setIsForever(1);
relation.setBindTime(time);
relation.setBindType(type); relation.setBindType(type);
insertSelective(relation); insertSelective(relation);
} }
relation=getMyBiz().getRelationByUserId(userId); Long bindTime=time-validTime;
if(relation==null){ //判断用户是否有有效的下线
relation=new AppUserRelation(); if (getCountByParentId(userId,bindTime)==0L){
relation.setUserId(userId); relation=getMyBiz().getRelationByUserId(userId);
relation.setParentId(parentId); if(relation==null){
relation.setBindType(type); relation=new AppUserRelation();
relation.setBindTime(time); relation.setUserId(userId);
insertSelective(relation); relation.setParentId(parentId);
}else { relation.setBindType(type);
//用户存在父id为0的不能成为任何人下线 relation.setBindTime(time);
if((relation.getIsForever()!=1&&(time-relation.getBindTime())>validTime)){ insertSelective(relation);
relation.setParentId(parentId); }else {
relation.setBindType(type); //判断用户是否有有效的上线
relation.setBindTime(time); log.info("----userId==="+userId+"----bindTime===="+bindTime+"----relation.getBindTime()==="+relation.getBindTime());
getMyBiz().updRelation(relation); if(relation.getParentId()==null||relation.getParentId()==0||(relation.getIsForever()!=1&&relation.getBindTime()<bindTime)){
} relation.setParentId(parentId);
} relation.setBindType(type);
relation.setBindTime(time);
getMyBiz().updRelation(relation);
}
}
}
} }
//首页关系绑定 //首页关系绑定
public ObjectRestResponse appBindRelation(Integer userId,String code){ public ObjectRestResponse appBindRelation(Integer userId,String code){
...@@ -197,6 +201,28 @@ public class AppUserRelationBiz extends BaseBiz<AppUserRelationMapper,AppUserRel ...@@ -197,6 +201,28 @@ public class AppUserRelationBiz extends BaseBiz<AppUserRelationMapper,AppUserRel
return selectOne(relation); return selectOne(relation);
} }
//获取有效的上线
public AppUserRelation getRelationByIdUserIdAndTime(Integer userId){
AppUserRelation userRelation= getMyBiz().getRelationByUserId(userId);
if (userRelation==null){
return null;
}
log.info("---userId==="+userId+"-----isForever==="+userRelation.getIsForever());
Long time=System.currentTimeMillis()-validTime;
if (userRelation.getIsForever()==1||userRelation.getBindTime()>time){
return userRelation;
}
log.info("---userId==="+userId+"-----time==="+time+"----userRelation.getBindTime()==="+userRelation.getBindTime());
return null;
}
//获取用户的下线总数
public int getCountByParentId(Integer parentId,Long time){
Example example=new Example(AppUserRelation.class);
example.createCriteria().andEqualTo("parentId",parentId).andNotEqualTo("isForever",1).andGreaterThan("bindTime",time);
return mapper.selectCountByExample(example);
}
@CacheClear(key="user:relation{1.userId}") @CacheClear(key="user:relation{1.userId}")
public int updRelation(AppUserRelation appUserRelation){ public int updRelation(AppUserRelation appUserRelation){
return super.updateSelectiveByIdRe(appUserRelation); return super.updateSelectiveByIdRe(appUserRelation);
......
...@@ -95,9 +95,9 @@ public class AppUserSellingWaterBiz extends BaseBiz<AppUserSellingWaterMapper, A ...@@ -95,9 +95,9 @@ public class AppUserSellingWaterBiz extends BaseBiz<AppUserSellingWaterMapper, A
log.info("购买计算用户拥金----payOrderWater----参数不能为空----orderId===" + orderId); log.info("购买计算用户拥金----payOrderWater----参数不能为空----orderId===" + orderId);
return; return;
} }
AppUserRelation relation = relationBiz.getRelationByUserId(userId); AppUserRelation relation = relationBiz.getRelationByIdUserIdAndTime(userId);
if (relation == null || relation.getParentId() == null || relation.getParentId() == 0) { if (relation == null || relation.getParentId() == null || relation.getParentId() == 0) {
log.info("购买计算用户拥金----payOrderWater--------userId===" + userId + "---无上线"); log.info("购买计算用户拥金----payOrderWater--------userId===" + userId + "---无有效上线");
return; return;
} }
......
...@@ -43,9 +43,10 @@ public class AppUserRelationController extends BaseController<AppUserRelationBiz ...@@ -43,9 +43,10 @@ public class AppUserRelationController extends BaseController<AppUserRelationBiz
@ApiModelProperty("app分享绑定") @ApiModelProperty("app分享绑定")
public ObjectRestResponse bind( public ObjectRestResponse bind(
@RequestParam(value = "code",defaultValue = "")String code, @RequestParam(value = "code",defaultValue = "")String code,
@RequestParam(value = "userid",defaultValue = "0")Integer userid,
HttpServletRequest request){ HttpServletRequest request){
try { try {
Integer userid = Integer.parseInt(userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request)).getId()); //Integer userid = Integer.parseInt(userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request)).getId());
return baseBiz.appBindRelation(userid,code); return baseBiz.appBindRelation(userid,code);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
......
...@@ -138,6 +138,6 @@ public class IntegralRule{ ...@@ -138,6 +138,6 @@ public class IntegralRule{
private String btnWord; private String btnWord;
@Transient @Transient
private Boolean integralStatus = false; private Boolean integralStatus;
} }
\ No newline at end of file
...@@ -223,7 +223,7 @@ public class OrderMsgBiz { ...@@ -223,7 +223,7 @@ public class OrderMsgBiz {
}else { }else {
smstype = SmsTemplateDTO.PAY_A; smstype = SmsTemplateDTO.PAY_A;
} }
sms2AppUser(orvd, otd, omd, baseOrder, appUserDTO, smstype, smsParams); sms2AppUser(startCompanyDetail, endCompanyDetail, orvd, otd, omd, baseOrder, appUserDTO, smstype, smsParams);
//后台发送消息(客服) //后台发送消息(客服)
Cofig cofig = configFeign.getAllByType(ConfigFeign.TYPE_CUS_SER+ "").getData().get(0); Cofig cofig = configFeign.getAllByType(ConfigFeign.TYPE_CUS_SER+ "").getData().get(0);
...@@ -243,10 +243,11 @@ public class OrderMsgBiz { ...@@ -243,10 +243,11 @@ public class OrderMsgBiz {
} }
break; break;
case TOUR: case TOUR:
sms2AppUser(orvd, otd, omd, baseOrder, appUserDTO, SmsTemplateDTO.PAY_F, smsParams); CompanyDetail startCompanyDetailTour = vehicleFeign.getCompanyDetail(orvd.getStartCompanyId()).getData();
sms2AppUser(startCompanyDetailTour, null, orvd, otd, omd, baseOrder, appUserDTO, SmsTemplateDTO.PAY_F, smsParams);
break; break;
case MEMBER: case MEMBER:
sms2AppUser(orvd, otd, omd, baseOrder, appUserDTO, SmsTemplateDTO.PAY_G, smsParams); sms2AppUser(null, null, orvd, otd, omd, baseOrder, appUserDTO, SmsTemplateDTO.PAY_G, smsParams);
break; break;
default: default:
break; break;
...@@ -371,8 +372,8 @@ public class OrderMsgBiz { ...@@ -371,8 +372,8 @@ public class OrderMsgBiz {
} }
private void sms2AppUser(OrderRentVehicleDetail orvd, OrderTourDetail otd, OrderMemberDetail omd, BaseOrder baseOrder, AppUserDTO appUserDTO, Integer smstype, List<String> smsParams) { private void sms2AppUser(CompanyDetail startCompanyDetail, CompanyDetail endCompanyDetail, OrderRentVehicleDetail orvd, OrderTourDetail otd, OrderMemberDetail omd, BaseOrder baseOrder, AppUserDTO appUserDTO, Integer smstype, List<String> smsParams) {
handelSmsParamApp(orvd, otd, omd, baseOrder, smsParams, appUserDTO, smstype); handelSmsParamApp(startCompanyDetail, endCompanyDetail, orvd, otd, omd, baseOrder, smsParams, appUserDTO, smstype);
SmsTemplateDTO smsTemplateDTO = new SmsTemplateDTO(){{ SmsTemplateDTO smsTemplateDTO = new SmsTemplateDTO(){{
setPhoneNumbers(appUserDTO.getUsername()); setPhoneNumbers(appUserDTO.getUsername());
setType(smstype); setType(smstype);
...@@ -420,7 +421,7 @@ public class OrderMsgBiz { ...@@ -420,7 +421,7 @@ public class OrderMsgBiz {
} }
} }
private void handelSmsParamApp(OrderRentVehicleDetail orvd, OrderTourDetail otd, OrderMemberDetail omd, BaseOrder baseOrder, List<String> smsParams, AppUserDTO appUserDTO, int paramHandelType) { private void handelSmsParamApp(CompanyDetail startCompanyDetail, CompanyDetail endCompanyDetail, OrderRentVehicleDetail orvd, OrderTourDetail otd, OrderMemberDetail omd, BaseOrder baseOrder, List<String> smsParams, AppUserDTO appUserDTO, int paramHandelType) {
switch (paramHandelType) { switch (paramHandelType) {
case SmsTemplateDTO.PAY_A : case SmsTemplateDTO.PAY_A :
if(0 < baseOrder.getMemberLevel() ) { if(0 < baseOrder.getMemberLevel() ) {
...@@ -430,19 +431,20 @@ public class OrderMsgBiz { ...@@ -430,19 +431,20 @@ public class OrderMsgBiz {
} }
smsParams.add(baseOrder.getRealAmount().toString()); smsParams.add(baseOrder.getRealAmount().toString());
smsParams.add(DateUtil.formatDateTime(DateUtil.date(orvd.getStartTime()))); smsParams.add(DateUtil.formatDateTime(DateUtil.date(orvd.getStartTime())));
smsParams.add(orvd.getStartAddr()); smsParams.add(startCompanyDetail.detailAddr());
break; break;
case SmsTemplateDTO.PAY_B : case SmsTemplateDTO.PAY_B :
smsParams.add(orvd.getFreeDays().toString()); smsParams.add(orvd.getFreeDays().toString());
smsParams.add(appUserDTO.getRentFreeDays().toString()); smsParams.add(appUserDTO.getRentFreeDays().toString());
smsParams.add(baseOrder.getRealAmount().toString()); smsParams.add(baseOrder.getRealAmount().toString());
smsParams.add(DateUtil.formatDateTime(DateUtil.date(orvd.getStartTime()))); smsParams.add(DateUtil.formatDateTime(DateUtil.date(orvd.getStartTime())));
smsParams.add(orvd.getStartAddr()); smsParams.add(startCompanyDetail.detailAddr());
break; break;
case SmsTemplateDTO.PAY_F : case SmsTemplateDTO.PAY_F :
smsParams.add(baseOrder.getName()); smsParams.add(baseOrder.getName());
smsParams.add(baseOrder.getRealAmount().toString());
smsParams.add(DateUtil.formatDateTime(DateUtil.date(otd.getStartTime()))); smsParams.add(DateUtil.formatDateTime(DateUtil.date(otd.getStartTime())));
smsParams.add(otd.getStartAddr()); smsParams.add(startCompanyDetail.detailAddr());
break; break;
case SmsTemplateDTO.PAY_G : case SmsTemplateDTO.PAY_G :
smsParams.add(baseOrder.getName()); smsParams.add(baseOrder.getName());
......
package com.xxfc.platform.order.rest; package com.xxfc.platform.order.rest;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.activity.user.UserInfoBiz;
import com.xxfc.platform.order.biz.BaseOrderBiz; import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.xxfc.platform.order.biz.OrderUserLicenseBiz; import com.xxfc.platform.order.biz.OrderUserLicenseBiz;
import com.xxfc.platform.order.biz.OrderVehicleCrosstownBiz; import com.xxfc.platform.order.biz.OrderVehicleCrosstownBiz;
...@@ -28,7 +30,8 @@ public class OrderVehicleCrosstownController { ...@@ -28,7 +30,8 @@ public class OrderVehicleCrosstownController {
@Autowired @Autowired
BaseOrderBiz baseOrderBiz; BaseOrderBiz baseOrderBiz;
@Autowired
UserInfoBiz userInfoBiz;
@PostMapping(value = "/add") @PostMapping(value = "/add")
@ApiOperation(value = "添加交还车记录") @ApiOperation(value = "添加交还车记录")
public ObjectRestResponse<OrderVehicleCrosstownDto> add(@RequestBody OrderVehicleCrosstownDto orderVehicleCrosstownDto) { public ObjectRestResponse<OrderVehicleCrosstownDto> add(@RequestBody OrderVehicleCrosstownDto orderVehicleCrosstownDto) {
...@@ -45,6 +48,10 @@ public class OrderVehicleCrosstownController { ...@@ -45,6 +48,10 @@ public class OrderVehicleCrosstownController {
@GetMapping(value = "/getByOrderId") @GetMapping(value = "/getByOrderId")
@ApiOperation(value = "根据订单Id获取所有记录信息") @ApiOperation(value = "根据订单Id获取所有记录信息")
public ObjectRestResponse<List<OrderVehicleCrosstownDto>> getByOrderId(OrderVehicleCrosstownDto orderVehicleCrosstownDto) { public ObjectRestResponse<List<OrderVehicleCrosstownDto>> getByOrderId(OrderVehicleCrosstownDto orderVehicleCrosstownDto) {
UserDTO userDTO = userInfoBiz.getAdminUserInfo();
if (userDTO == null) {
return ObjectRestResponse.createFailedResult(508, "token is null or invalid");
}
if (orderVehicleCrosstownDto == null) { if (orderVehicleCrosstownDto == null) {
return ObjectRestResponse.createFailedResult(500, "参数orderId为空"); return ObjectRestResponse.createFailedResult(500, "参数orderId为空");
} }
......
...@@ -86,9 +86,9 @@ ...@@ -86,9 +86,9 @@
SELECT g.id as `id`,g.name as `name`,g.cover as `imgUrl`,g.price, SELECT g.id as `id`,g.name as `name`,g.cover as `imgUrl`,g.price,
REPLACE(GROUP_CONCAT( DISTINCT t.`name`),',','|')as name1 REPLACE(GROUP_CONCAT( DISTINCT t.`name`),',','|')as name1
from tour_good g from tour_good g
LEFT JOIN tour_good_tag tag ON g.id=tag.good_id LEFT JOIN (SELECT * FROM tour_good_tag WHERE is_del=0) tag ON g.id=tag.good_id
LEFT JOIN tour_tag t ON tag.tag_id=t.id LEFT JOIN (SELECT * FROM tour_tag WHERE is_del=0) t ON tag.tag_id=t.id
where g.recommend=1 and g.status=1 and g.is_del=0 and t.is_del=0 where g.recommend=1 and g.status=1 and g.is_del=0
GROUP BY g.id GROUP BY g.id
ORDER BY g.rank DESC ,g.id DESC ORDER BY g.rank DESC ,g.id DESC
limit #{start,jdbcType=INTEGER},#{size,jdbcType=INTEGER} limit #{start,jdbcType=INTEGER},#{size,jdbcType=INTEGER}
...@@ -101,16 +101,16 @@ ...@@ -101,16 +101,16 @@
<!--后台查询旅游路线列表--> <!--后台查询旅游路线列表-->
<select id="findGoodList" resultMap="tourGoodVoMap"> <select id="findGoodList" resultMap="tourGoodVoMap">
SELECT g.*,REPLACE(GROUP_CONCAT( DISTINCT t.`name`),',','|')as tagNames from tour_good g SELECT g.*,REPLACE(GROUP_CONCAT( DISTINCT t.`name`),',','|')as tagNames from tour_good g
LEFT JOIN tour_good_tag tag ON g.id=tag.good_id LEFT JOIN (SELECT * FROM tour_good_tag WHERE is_del=0) tag ON g.id=tag.good_id
LEFT JOIN tour_tag t ON tag.tag_id=t.id LEFT JOIN (SELECT * FROM tour_tag WHERE is_del=0) t ON tag.tag_id=t.id
<where> <where>
g.is_del=0 and t.is_del=0 g.is_del=0
<if test="params.name != null and params.name != ''"> <if test="params.name != null and params.name != ''">
and (g.`name` like CONCAT('%',#{params.name},'%') or g.introduce like CONCAT('%',#{params.name},'%')) and (g.`name` like CONCAT('%',#{params.name},'%') or g.introduce like CONCAT('%',#{params.name},'%'))
</if> </if>
<if test="params.tagId != null and params.tagId != '' "> <if test="params.tagId != null and params.tagId != '' ">
and g.id in (SELECT good_id from tour_good_tag and g.id in (SELECT good_id from tour_good_tag
where tag_id = #{params.tagId}) where tag_id = #{params.tagId} and is_del=0 )
</if> </if>
</where> </where>
......
...@@ -2,13 +2,12 @@ package com.xxfc.platform.universal.feign; ...@@ -2,13 +2,12 @@ package com.xxfc.platform.universal.feign;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.universal.dto.RegionDTO;
import com.xxfc.platform.universal.dto.SmsTemplateDTO; import com.xxfc.platform.universal.dto.SmsTemplateDTO;
import com.xxfc.platform.universal.entity.Dictionary; import com.xxfc.platform.universal.entity.Dictionary;
import com.xxfc.platform.universal.entity.OrderRefund; import com.xxfc.platform.universal.vo.OrderPayVo;
import com.xxfc.platform.universal.vo.*; import com.xxfc.platform.universal.vo.OrderRefundVo;
import feign.Param; import com.xxfc.platform.universal.vo.TrafficViolations;
import io.swagger.annotations.ApiOperation; import com.xxfc.platform.universal.vo.ViolationVO;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
...@@ -37,7 +36,7 @@ public interface ThirdFeign { ...@@ -37,7 +36,7 @@ public interface ThirdFeign {
public JSONObject uploadFiles(@RequestParam(value = "files") MultipartFile[] files); public JSONObject uploadFiles(@RequestParam(value = "files") MultipartFile[] files);
@RequestMapping(value = "/pay/app/wx", method = RequestMethod.POST) @RequestMapping(value = "/pay/app/wx", method = RequestMethod.POST)
public JSONObject wx(@RequestBody OrderPayVo orderPayVo); public JSONObject wx(@RequestBody OrderPayVo orderPayVo);
@RequestMapping(value = "/refund/app/wx", method = RequestMethod.POST) @RequestMapping(value = "/refund/app/pay/refund", method = RequestMethod.POST)
public ObjectRestResponse<String> refund(@RequestBody OrderRefundVo orderRefundVo); public ObjectRestResponse<String> refund(@RequestBody OrderRefundVo orderRefundVo);
/** /**
......
...@@ -19,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -19,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -34,65 +35,72 @@ import static com.xxfc.platform.universal.constant.DictionaryKey.UNIVERSAL_PAY; ...@@ -34,65 +35,72 @@ import static com.xxfc.platform.universal.constant.DictionaryKey.UNIVERSAL_PAY;
*/ */
@Service @Service
@Slf4j @Slf4j
public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> { public class OrderRefundBiz extends BaseBiz<OrderRefundMapper, OrderRefund> {
@Autowired @Autowired
private OrderPayBiz payBiz; private OrderPayBiz payBiz;
@Value("${universal.cert}") @Value("${universal.cert}")
private String APICLIENT_CERT ; private String APICLIENT_CERT;
@Autowired @Autowired
DictionaryBiz dictionaryBiz; DictionaryBiz dictionaryBiz;
//申请退款 //申请退款
public JSONObject refund(OrderRefundVo orderRefundVo)throws Exception{ public JSONObject refund(OrderRefundVo orderRefundVo) throws Exception {
if(orderRefundVo==null){ if (orderRefundVo == null) {
log.error("-----参数为空-----------"); log.error("-----参数为空-----------");
return JsonResultUtil.createFailedResult(ResultCode.NULL_CODE, "参数为空"); return JsonResultUtil.createFailedResult(ResultCode.NULL_CODE, "参数为空");
} }
String order_no=orderRefundVo.getOrderNo(); String order_no = orderRefundVo.getOrderNo();
String appid= SystemConfig.APP_ID; String appid = SystemConfig.APP_ID;
String mchId=SystemConfig.APP_PARTNER; String mchId = SystemConfig.APP_PARTNER;
String partnerKey=SystemConfig.APP_PARTNER_KEY; String partnerKey = SystemConfig.APP_PARTNER_KEY;
Integer payAmount=orderRefundVo.getAmount(); Integer payAmount = orderRefundVo.getAmount();
Integer refundAmount=orderRefundVo.getRefundAmount(); Integer refundAmount = orderRefundVo.getRefundAmount();
//临时处理 //临时处理
Map<String, Dictionary> dictionaryMap = dictionaryBiz.getAll4Map(); Map<String, Dictionary> dictionaryMap = dictionaryBiz.getAll4Map();
Integer demotion = Integer.valueOf(dictionaryMap.get(UNIVERSAL_PAY+ "_"+ PAY_DEMOTION).getDetail()); Integer demotion = Integer.valueOf(dictionaryMap.get(UNIVERSAL_PAY + "_" + PAY_DEMOTION).getDetail());
payAmount = payAmount/demotion; payAmount = payAmount / demotion;
if(payAmount <= 0) { if (payAmount <= 0) {
payAmount = 1; payAmount = 1;
} }
refundAmount = refundAmount/demotion; refundAmount = refundAmount / demotion;
if(refundAmount <= 0) { if (refundAmount <= 0) {
refundAmount = 1; refundAmount = 1;
} }
String refundDesc =StringUtils.isNotBlank(orderRefundVo.getRefundDesc())?orderRefundVo.getRefundDesc(): "审核通过,退款"; String refundDesc = StringUtils.isNotBlank(orderRefundVo.getRefundDesc()) ? orderRefundVo.getRefundDesc() : "审核通过,退款";
String out_refund_no = Snowflake.build() + ""; String out_refund_no = Snowflake.build() + "";
if(StringUtils.isBlank(order_no)||StringUtils.isBlank(appid)||StringUtils.isBlank(mchId)||StringUtils.isBlank(partnerKey) if (StringUtils.isBlank(order_no) || StringUtils.isBlank(appid) || StringUtils.isBlank(mchId) || StringUtils.isBlank(partnerKey)
||payAmount==null||payAmount==0||refundAmount==null||refundAmount==0){ || payAmount == null || payAmount == 0 || refundAmount == null || refundAmount == 0) {
log.error("-----参数为空-----------"); log.error("-----参数为空-----------");
return JsonResultUtil.createFailedResult(ResultCode.NULL_CODE, "参数为空"); return JsonResultUtil.createFailedResult(ResultCode.NULL_CODE, "参数为空");
} }
log.error("-----payAmoun======="+payAmount+"------refundAmount======"+refundAmount); log.error("-----payAmoun=======" + payAmount + "------refundAmount======" + refundAmount);
Example example =new Example(OrderPay.class); Example example = new Example(OrderPay.class);
example.createCriteria().andEqualTo("orderNo", order_no).andEqualTo("isDel",0).andEqualTo("status",1); example.createCriteria().andEqualTo("orderNo", order_no).andEqualTo("isDel", 0).andEqualTo("status", 1);
List<OrderPay> list=payBiz.selectByExample(example); List<OrderPay> list = payBiz.selectByExample(example);
if(list.size()==0){ if (list.size() == 0) {
log.error("---支付回调---trade_no====="+order_no+"----订单不存在或未支付"); log.error("---支付回调---trade_no=====" + order_no + "----订单不存在或未支付");
return JsonResultUtil.createFailedResult(ResultCode.FAILED_CODE, order_no+"订单不存在或未支付"); return JsonResultUtil.createFailedResult(ResultCode.FAILED_CODE, order_no + "订单不存在或未支付");
}
OrderPay orderPay = list.get(0);
String out_trade_no = orderPay.getTradeNo();
boolean flag = false;
if (orderPay.getPayWay() == 2) {
log.info("======支付宝退款中===========");
flag = payBiz.alipayOrderRefund(out_trade_no, orderPay.getSerialNumber(), refundAmount, refundDesc, out_trade_no + System.currentTimeMillis());
} else if(orderPay.getPayWay() == 1){
log.info("======微信退款中===========");
flag = WxPayRefundUtils.refund(appid, mchId, partnerKey, out_trade_no, out_refund_no, payAmount + "",
refundAmount + "", refundDesc, APICLIENT_CERT);
} }
OrderPay orderPay=list.get(0); if (flag) {
String out_trade_no=orderPay.getTradeNo(); OrderRefund orderRefund = new OrderRefund();
boolean flag=WxPayRefundUtils.refund(appid,mchId,partnerKey,out_trade_no,out_refund_no,payAmount+"", BeanUtils.copyProperties(orderRefund, orderRefundVo);
refundAmount+"",refundDesc,APICLIENT_CERT); if (StringUtils.isNotBlank(orderRefund.getRefundDesc())) {
if(flag){
OrderRefund orderRefund= new OrderRefund();
BeanUtils.copyProperties(orderRefund,orderRefundVo);
if(StringUtils.isNotBlank(orderRefund.getRefundDesc())){
orderRefund.setRefundDesc(refundDesc); orderRefund.setRefundDesc(refundDesc);
} }
orderRefund.setUserId(orderPay.getUserId()); orderRefund.setUserId(orderPay.getUserId());
...@@ -104,6 +112,6 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> { ...@@ -104,6 +112,6 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
insertSelective(orderRefund); insertSelective(orderRefund);
return JsonResultUtil.createSuccessResultWithObj(out_refund_no); return JsonResultUtil.createSuccessResultWithObj(out_refund_no);
} }
return JsonResultUtil.createDefaultFail(); return JsonResultUtil.createFailedResult(40004, "退款失败!");
} }
} }
\ No newline at end of file
package com.xxfc.platform.universal.controller; package com.xxfc.platform.universal.controller;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.common.rest.BaseController; import com.github.wxiaoqi.security.common.rest.BaseController;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.util.result.JsonResultUtil; import com.github.wxiaoqi.security.common.util.result.JsonResultUtil;
...@@ -17,7 +16,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -17,7 +16,7 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("refund") @RequestMapping("refund")
public class OrderRefundController extends BaseController<OrderRefundBiz,OrderRefund> { public class OrderRefundController extends BaseController<OrderRefundBiz,OrderRefund> {
@RequestMapping(value = "/app/wx", method = RequestMethod.POST) //匹配的是href中的download请求 @RequestMapping(value = "/app/pay/refund", method = RequestMethod.POST) //匹配的是href中的download请求
public JSONObject refund(@RequestBody OrderRefundVo orderRefundVo) { public JSONObject refund(@RequestBody OrderRefundVo orderRefundVo) {
try { try {
return baseBiz.refund(orderRefundVo); return baseBiz.refund(orderRefundVo);
......
...@@ -148,4 +148,8 @@ public class VehicleModel implements Serializable { ...@@ -148,4 +148,8 @@ public class VehicleModel implements Serializable {
@Column(name = "status") @Column(name = "status")
@ApiModelProperty(value = "状态 0--下架;1--上架") @ApiModelProperty(value = "状态 0--下架;1--上架")
private Integer status; private Integer status;
@Column(name = "cover_pic")
@ApiModelProperty(value = "封面图")
private String coverPic;
} }
...@@ -9,4 +9,19 @@ import java.util.List; ...@@ -9,4 +9,19 @@ import java.util.List;
@Data @Data
public class CompanyDetail extends BranchCompany { public class CompanyDetail extends BranchCompany {
List<SysRegion> sysRegions; List<SysRegion> sysRegions;
public String detailAddr() {
StringBuilder detailAddrStr = new StringBuilder("");
if(null != this.getSysRegions() && this.getSysRegions().size() > 0) {
for(SysRegion sysRegion : this.getSysRegions()) {
// if(0 != detailAddrStr.length()) {
//
// }
detailAddrStr.append(sysRegion.getName());
}
}
detailAddrStr.append(this.getAddrDetail());
return detailAddrStr.toString();
}
} }
\ No newline at end of file
...@@ -72,6 +72,7 @@ public class WebConfiguration implements WebMvcConfigurer { ...@@ -72,6 +72,7 @@ public class WebConfiguration implements WebMvcConfigurer {
String[] urls = { String[] urls = {
"/vehicleInfo/**", "/vehicleInfo/**",
"/branchCompany/**", "/branchCompany/**",
"/vehicleModel/**",
"/departure/**" "/departure/**"
}; };
Collections.addAll(list, urls); Collections.addAll(list, urls);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment