TProportionController.java 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589
  1. package com.szwl.controller;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import com.szwl.constant.ResponseCodesEnum;
  7. import com.szwl.model.bo.R;
  8. import com.szwl.model.bo.ResponseModel;
  9. import com.szwl.model.entity.*;
  10. import com.szwl.service.TAdminService;
  11. import com.szwl.service.TEquipmentService;
  12. import com.szwl.service.TProportionCheckService;
  13. import com.szwl.service.TProportionService;
  14. import io.swagger.annotations.ApiOperation;
  15. import org.apache.commons.lang.StringUtils;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.web.bind.annotation.*;
  18. import java.math.BigDecimal;
  19. import java.util.ArrayList;
  20. import java.util.Date;
  21. import java.util.List;
  22. import java.util.stream.Collectors;
  23. /**
  24. * <p>
  25. * 分账表 前端控制器
  26. * </p>
  27. *
  28. * @author wuhs
  29. * @since 2022-05-10
  30. */
  31. @RestController
  32. @RequestMapping("/tProportion")
  33. public class TProportionController {
  34. @Autowired
  35. TProportionCheckService tProportionCheckService;
  36. @Autowired
  37. TProportionService tProportionService;
  38. @Autowired
  39. TEquipmentService tEquipmentService;
  40. @Autowired
  41. TAdminService adminService;
  42. @ApiOperation(value = "获取分销信息列表 分页 商户")
  43. @GetMapping("/pageProportion")
  44. public ResponseModel<IPage<?>> pageProportion(String adminId,String type,long current, long size ) {
  45. TAdmin admin = adminService.getById(adminId);
  46. if(StringUtils.isEmpty(adminId)){
  47. return R.fail(ResponseCodesEnum.A0100);
  48. }
  49. if(type.equals("0")){
  50. //未审核
  51. LambdaQueryWrapper<TProportionCheck> query = Wrappers.lambdaQuery();
  52. if(admin.getType()>1){
  53. query.eq(TProportionCheck::getAdminId,admin.getId());
  54. query.in(TProportionCheck::getCheckType,"0","2","3");
  55. }
  56. // 公司平台
  57. // 申泽平台管理员
  58. if (admin.getId() == 2738) {
  59. LambdaQueryWrapper<TAdmin> adminQuery = Wrappers.lambdaQuery();
  60. adminQuery.isNull(TAdmin::getCompanyType).or()
  61. .eq(TAdmin::getCompanyType, "0");
  62. List<Long> adminIds = adminService.list(adminQuery).stream()
  63. .map(TAdmin::getId).collect(Collectors.toList());
  64. query.in(TProportionCheck::getAdminId,adminIds);
  65. }
  66. // 七云平台管理员
  67. if (admin.getId() == 2739) {
  68. LambdaQueryWrapper<TAdmin> adminQuery = Wrappers.lambdaQuery();
  69. adminQuery.eq(TAdmin::getCompanyType, "1");
  70. List<Long> adminIds = adminService.list(adminQuery).stream()
  71. .map(TAdmin::getId).collect(Collectors.toList());
  72. query.in(TProportionCheck::getAdminId,adminIds);
  73. }
  74. query.orderByDesc(TProportionCheck::getCreateDate);
  75. Page<TProportionCheck> page = new Page<>(current, size, true);
  76. IPage<TProportionCheck> iPage = tProportionCheckService.page(page, query);
  77. List<TProportionCheck> records = iPage.getRecords();
  78. if(records.size()>0){
  79. for(TProportionCheck proportionCheck:records){
  80. if(proportionCheck.getEquipmentId()!=null){
  81. TEquipment equipment = tEquipmentService.getById(proportionCheck.getEquipmentId());
  82. if(equipment != null) {
  83. if(StringUtils.isNotEmpty(equipment.getName())){
  84. proportionCheck.setEquipmentName(equipment.getName());
  85. }else {
  86. proportionCheck.setEquipmentName(equipment.getClientId());
  87. }
  88. }
  89. }
  90. }
  91. }
  92. return R.ok(iPage);
  93. }else {
  94. //已审核
  95. LambdaQueryWrapper<TProportion> query = Wrappers.lambdaQuery();
  96. if(admin.getType()>1){
  97. query.eq(TProportion::getAdminId,admin.getId());
  98. }
  99. // 公司平台
  100. // 申泽平台管理员
  101. if (admin.getId() == 2738) {
  102. LambdaQueryWrapper<TAdmin> adminQuery = Wrappers.lambdaQuery();
  103. adminQuery.isNull(TAdmin::getCompanyType).or()
  104. .eq(TAdmin::getCompanyType, "0");
  105. List<Long> adminIds = adminService.list(adminQuery).stream()
  106. .map(TAdmin::getId).collect(Collectors.toList());
  107. query.in(TProportion::getAdminId,adminIds);
  108. }
  109. // 七云平台管理员
  110. if (admin.getId() == 2739) {
  111. LambdaQueryWrapper<TAdmin> adminQuery = Wrappers.lambdaQuery();
  112. adminQuery.eq(TAdmin::getCompanyType, "1");
  113. List<Long> adminIds = adminService.list(adminQuery).stream()
  114. .map(TAdmin::getId).collect(Collectors.toList());
  115. query.in(TProportion::getAdminId,adminIds);
  116. }
  117. query.orderByDesc(TProportion::getCreateDate);
  118. Page<TProportion> page = new Page<>(current, size, true);
  119. IPage<TProportion> iPage = tProportionService.page(page, query);
  120. List<TProportion> records = iPage.getRecords();
  121. if(records.size()>0){
  122. for(TProportion proportion:records){
  123. if(proportion.getEquipmentId()!=null){
  124. TEquipment equipment = tEquipmentService.getById(proportion.getEquipmentId());
  125. if(equipment != null) {
  126. if(StringUtils.isNotEmpty(equipment.getName())){
  127. proportion.setEquipmentName(equipment.getName());
  128. }else {
  129. proportion.setEquipmentName(equipment.getClientId());
  130. }
  131. }
  132. }
  133. }
  134. }
  135. return R.ok(iPage);
  136. }
  137. }
  138. @ApiOperation(value = "获取分销信息列表 分页 平台")
  139. @GetMapping("/pageProportionAdmin")
  140. public ResponseModel<IPage<?>> pageProportionAdmin(String adminId,String userName,String type,long current, long size ) {
  141. TAdmin admin = adminService.getById(adminId);
  142. if(StringUtils.isEmpty(adminId)){
  143. return R.fail(ResponseCodesEnum.A0100);
  144. }
  145. //未审核
  146. LambdaQueryWrapper<TProportionCheck> query = Wrappers.lambdaQuery();
  147. if(admin.getType()>1){
  148. query.eq(TProportionCheck::getAdminId,admin.getId());
  149. }
  150. if(type.equals("0")){
  151. query.eq(TProportionCheck::getCheckType,type);
  152. }
  153. // 申泽平台管理员
  154. if (admin.getId() == 2738) {
  155. LambdaQueryWrapper<TAdmin> adminQuery = Wrappers.lambdaQuery();
  156. adminQuery.isNull(TAdmin::getCompanyType).or()
  157. .eq(TAdmin::getCompanyType, "0");
  158. List<Long> adminIds = adminService.list(adminQuery).stream()
  159. .map(TAdmin::getId).collect(Collectors.toList());
  160. query.in(TProportionCheck::getAdminId,adminIds);
  161. }
  162. // 七云平台管理员
  163. if (admin.getId() == 2739) {
  164. LambdaQueryWrapper<TAdmin> adminQuery = Wrappers.lambdaQuery();
  165. adminQuery.eq(TAdmin::getCompanyType, "1");
  166. List<Long> adminIds = adminService.list(adminQuery).stream()
  167. .map(TAdmin::getId).collect(Collectors.toList());
  168. query.in(TProportionCheck::getAdminId,adminIds);
  169. }
  170. if(StringUtils.isNotEmpty(userName)){
  171. LambdaQueryWrapper<TAdmin> query1 = Wrappers.lambdaQuery();
  172. query1.eq(TAdmin::getUsername,userName);
  173. List<TAdmin> list = adminService.list(query1);
  174. if(list.size()>0){
  175. query.eq(TProportionCheck::getAdminId,list.get(0).getId());
  176. }
  177. }
  178. query.orderByDesc(TProportionCheck::getCreateDate);
  179. Page<TProportionCheck> page = new Page<>(current, size, true);
  180. IPage<TProportionCheck> iPage = tProportionCheckService.page(page, query);
  181. List<TProportionCheck> records = iPage.getRecords();
  182. if(records.size()>0){
  183. for(TProportionCheck proportionCheck:records){
  184. if(proportionCheck.getEquipmentId()!=null){
  185. TEquipment equipment = tEquipmentService.getById(proportionCheck.getEquipmentId());
  186. if(equipment != null) {
  187. if(StringUtils.isNotEmpty(equipment.getName())){
  188. proportionCheck.setEquipmentName(equipment.getName());
  189. }else {
  190. proportionCheck.setEquipmentName(equipment.getClientId());
  191. }
  192. }
  193. }
  194. }
  195. }
  196. return R.ok(iPage);
  197. }
  198. @ApiOperation(value = "查找机器分销信息信息")
  199. @PostMapping("/getOne")
  200. public ResponseModel<?> getOne(String adminId, String clientId) {
  201. TAdmin admin = adminService.getById(adminId);
  202. LambdaQueryWrapper<TProportion> query = Wrappers.lambdaQuery();
  203. query.eq(TProportion::getAdminId,adminId);
  204. query.eq(TProportion::getClientId,clientId);
  205. List<TProportion> list = tProportionService.list(query);
  206. if(list.size()>0){
  207. //已经注册,就要查看是否有提交审核的
  208. // LambdaQueryWrapper<TProportionCheck> query1 = Wrappers.lambdaQuery();
  209. // query1.eq(TProportionCheck::getAdminId,adminid);
  210. // query1.eq(TProportionCheck::getClientId,clientId);
  211. // List<TProportionCheck> list1 = tProportionCheckService.list(query1);
  212. // if(list1.size()>0){
  213. // int i = 0;
  214. // for(TProportionCheck tProportionCheck:list1){
  215. // if(tProportionCheck.getCheckType().equals("0")||tProportionCheck.getCheckType().equals("3")){
  216. // i++;
  217. // }
  218. // }
  219. // if(i==0){
  220. // return R.ok(list.get(0));
  221. // }else {
  222. // for(int j=list1.size()-1;j>=0;j--){
  223. // if(!list1.get(j).getCheckType().equals("2")&!list1.get(j).getCheckType().equals("1")){
  224. // if(list1.get(j).getCheckType().equals("3")){
  225. // Date data = new Date();
  226. // long time = data.getTime();
  227. // long updateTime = list1.get(j).getModifyDate().getTime();
  228. // if(3*24*60*60*1000l>time-updateTime){
  229. // //拒绝的审核,超过3天后不显示
  230. // return R.ok(list.get(0));
  231. // }else {
  232. // return R.ok(list.get(j));
  233. // }
  234. // }
  235. // return R.ok(list.get(j));
  236. // }
  237. // }
  238. // }
  239. // }else {
  240. // return R.ok(list.get(0));
  241. // }
  242. TProportion tProportion = list.get(0);
  243. if(tProportion.getAgencyId()!=null){
  244. TAdmin admin1 = adminService.getById(tProportion.getAgencyId());
  245. tProportion.setAgencyName(admin1.getUsername());
  246. }
  247. if(tProportion.getMerchantId()!=null){
  248. TAdmin admin2 = adminService.getById(tProportion.getMerchantId());
  249. tProportion.setMerchantName(admin2.getUsername());
  250. }
  251. if(tProportion.getPersonageId()!=null){
  252. TAdmin admin3 = adminService.getById(tProportion.getId());
  253. tProportion.setPersonageName(admin3.getUsername());
  254. }
  255. return R.ok(tProportion);
  256. }else {
  257. return R.fail("尚未注册!");
  258. }
  259. }
  260. @ApiOperation(value = "保存或提交审核")
  261. @PostMapping("/save")
  262. public ResponseModel<?> save(@RequestBody TProportion tProportion) {
  263. if(tProportion.getAdminId()==null||StringUtils.isEmpty(tProportion.getClientId())){
  264. R.fail("信息有空!");
  265. }
  266. TAdmin admin = adminService.getById(tProportion.getAdminId());
  267. //查找机器,看改商家是否有该机器
  268. LambdaQueryWrapper<TEquipment> query1 = Wrappers.lambdaQuery();
  269. query1.eq(TEquipment::getAdminId,tProportion.getAdminId());
  270. query1.eq(TEquipment::getClientId,tProportion.getClientId());
  271. List<TEquipment> equipmentList = tEquipmentService.list(query1);
  272. if(equipmentList.size()<=0){
  273. return R.fail("找不到该机器!");
  274. }
  275. TEquipment equipment = equipmentList.get(0);
  276. //查看是否有审核中的
  277. LambdaQueryWrapper<TProportionCheck> queryCheck = Wrappers.lambdaQuery();
  278. queryCheck.eq(TProportionCheck::getAdminId,tProportion.getAdminId());
  279. queryCheck.eq(TProportionCheck::getClientId,tProportion.getClientId());
  280. queryCheck.eq(TProportionCheck::getCheckType,"0");
  281. List<TProportionCheck> listCheck = tProportionCheckService.list(queryCheck);
  282. if(listCheck.size()>0){
  283. return R.fail("已有审核,如需修改请先取消原来的审核!");
  284. }
  285. Long agencyId = null;
  286. Long merchantId = null;
  287. Long personageId = null;
  288. //查找个分账人的id
  289. if(tProportion.getType()>0){
  290. //1个
  291. LambdaQueryWrapper<TAdmin> queryTAdmin = Wrappers.lambdaQuery();
  292. queryTAdmin.eq(TAdmin::getUsername,tProportion.getAgencyName());
  293. List<TAdmin> admins = adminService.list(queryTAdmin);
  294. if(admins.size()>0){
  295. TAdmin tAdmin = admins.get(0);
  296. agencyId = tAdmin.getId();
  297. }else {
  298. return R.fail("找不到第一个分账人!");
  299. }
  300. }
  301. if(tProportion.getType()>1){
  302. //2个
  303. LambdaQueryWrapper<TAdmin> queryTAdmin1 = Wrappers.lambdaQuery();
  304. queryTAdmin1.eq(TAdmin::getUsername,tProportion.getMerchantName());
  305. List<TAdmin> admins1 = adminService.list(queryTAdmin1);
  306. if(admins1.size()>0){
  307. TAdmin tAdmin = admins1.get(0);
  308. merchantId = tAdmin.getId();
  309. }else {
  310. return R.fail("找不到第二个分账人!");
  311. }
  312. }
  313. if(tProportion.getType()>2){
  314. //3个
  315. LambdaQueryWrapper<TAdmin> queryTAdmin2 = Wrappers.lambdaQuery();
  316. queryTAdmin2.eq(TAdmin::getUsername,tProportion.getPersonageName());
  317. List<TAdmin> admins2 = adminService.list(queryTAdmin2);
  318. if(admins2.size()>0){
  319. TAdmin tAdmin = admins2.get(0);
  320. personageId = tAdmin.getId();
  321. }else {
  322. return R.fail("找不到第三个分账人!");
  323. }
  324. }
  325. LambdaQueryWrapper<TProportion> query = Wrappers.lambdaQuery();
  326. query.eq(TProportion::getAdminId,tProportion.getAdminId());
  327. query.eq(TProportion::getClientId,tProportion.getClientId());
  328. List<TProportion> list = tProportionService.list(query);
  329. if(list.size()>0){
  330. //已有,属于第二次提交信息,需要审核
  331. TProportion oldProportion = list.get(0);
  332. //已有,判断是否为99%和1%组合
  333. // if(tProportion.getProportion().compareTo(new BigDecimal("99"))==0&&tProportion.getAdminProportion().compareTo(new BigDecimal("1"))==0){
  334. // oldProportion.setAgencyId(agencyId);
  335. // oldProportion.setMerchantId(merchantId);
  336. // oldProportion.setPersonageId(personageId);
  337. // oldProportion.setAgencyProportion(BigDecimal.valueOf(0.00));
  338. // oldProportion.setMerchantProportion(BigDecimal.valueOf(0.00));
  339. // oldProportion.setPersonageProportion(BigDecimal.valueOf(0.00));
  340. // oldProportion.setModifyDate(new Date());
  341. // tProportionService.updateById(tProportion);
  342. // return R.ok("修改成功");
  343. // }else {
  344. //提交审核
  345. TProportionCheck proportionCheck = new TProportionCheck();
  346. proportionCheck.setAdminId(tProportion.getAdminId());
  347. proportionCheck.setEquipmentId(equipment.getId());
  348. proportionCheck.setClientId(tProportion.getClientId());
  349. proportionCheck.setType(tProportion.getType());
  350. proportionCheck.setProportion(tProportion.getProportion());
  351. proportionCheck.setAdminProportion(tProportion.getAdminProportion());
  352. proportionCheck.setAgencyId(agencyId);
  353. proportionCheck.setMerchantId(merchantId);
  354. proportionCheck.setPersonageId(personageId);
  355. proportionCheck.setAgencyProportion(tProportion.getAgencyProportion());
  356. proportionCheck.setMerchantProportion(tProportion.getMerchantProportion());
  357. proportionCheck.setPersonageProportion(tProportion.getPersonageProportion());
  358. proportionCheck.setAgencyName(tProportion.getAgencyName());
  359. proportionCheck.setMerchantName(tProportion.getMerchantName());
  360. proportionCheck.setPersonageName(tProportion.getPersonageName());
  361. proportionCheck.setEquipmentName(equipment.getName());
  362. proportionCheck.setCreateDate(new Date());
  363. proportionCheck.setModifyDate(new Date());
  364. proportionCheck.setCheckType("0");
  365. tProportionCheckService.save(proportionCheck);
  366. return R.ok("已提交审核");
  367. // }
  368. }else {
  369. //没有,判断是否为99%和1%组合
  370. if(tProportion.getProportion().compareTo(new BigDecimal("99"))==0&&tProportion.getAdminProportion().compareTo(new BigDecimal("1"))==0){
  371. tProportion.setAgencyId(agencyId);
  372. tProportion.setMerchantId(merchantId);
  373. tProportion.setPersonageId(personageId);
  374. tProportion.setEquipmentId(equipment.getId());
  375. tProportion.setEquipmentName(equipment.getName());
  376. tProportion.setAgencyProportion(BigDecimal.valueOf(0.00));
  377. tProportion.setMerchantProportion(BigDecimal.valueOf(0.00));
  378. tProportion.setPersonageProportion(BigDecimal.valueOf(0.00));
  379. tProportion.setCreateDate(new Date());
  380. tProportion.setModifyDate(new Date());
  381. tProportionService.save(tProportion);
  382. return R.ok("添加成功");
  383. }else {
  384. //提交审核
  385. TProportionCheck proportionCheck = new TProportionCheck();
  386. proportionCheck.setAdminId(tProportion.getAdminId());
  387. proportionCheck.setEquipmentId(equipment.getId());
  388. proportionCheck.setEquipmentName(equipment.getName());
  389. proportionCheck.setClientId(tProportion.getClientId());
  390. proportionCheck.setType(tProportion.getType());
  391. proportionCheck.setProportion(tProportion.getProportion());
  392. proportionCheck.setAdminProportion(tProportion.getAdminProportion());
  393. proportionCheck.setAgencyId(agencyId);
  394. proportionCheck.setMerchantId(merchantId);
  395. proportionCheck.setPersonageId(personageId);
  396. proportionCheck.setAgencyProportion(tProportion.getAgencyProportion());
  397. proportionCheck.setMerchantProportion(tProportion.getMerchantProportion());
  398. proportionCheck.setPersonageProportion(tProportion.getPersonageProportion());
  399. proportionCheck.setAgencyName(tProportion.getAgencyName());
  400. proportionCheck.setMerchantName(tProportion.getMerchantName());
  401. proportionCheck.setPersonageName(tProportion.getPersonageName());
  402. proportionCheck.setCreateDate(new Date());
  403. proportionCheck.setModifyDate(new Date());
  404. proportionCheck.setCheckType("0");
  405. tProportionCheckService.save(proportionCheck);
  406. return R.ok("已提交审核");
  407. }
  408. // tProportion.setSettleableBalance(BigDecimal.valueOf(0.00));
  409. // tProportion.setCreateDate(new Date());
  410. // tProportion.setModifyDate(new Date());
  411. // tProportionService.save(tProportion);
  412. }
  413. }
  414. @ApiOperation(value = "")
  415. @GetMapping("/getById")
  416. public ResponseModel<?> getById( String id,String type) {
  417. if(StringUtils.isEmpty(id)&&StringUtils.isEmpty(type)){
  418. return R.fail(ResponseCodesEnum.A0100);
  419. }
  420. if(type.equals("0")){
  421. //未审核
  422. LambdaQueryWrapper<TProportionCheck> query = Wrappers.lambdaQuery();
  423. query.eq(TProportionCheck::getId,id);
  424. List<TProportionCheck> list = tProportionCheckService.list(query);
  425. TProportionCheck tProportionCheck = list.get(0);
  426. return R.ok(tProportionCheck);
  427. }else {
  428. //已审核
  429. LambdaQueryWrapper<TProportion> query = Wrappers.lambdaQuery();
  430. query.eq(TProportion::getId,id);
  431. List<TProportion> list = tProportionService.list(query);
  432. TProportion tProportion = list.get(0);
  433. return R.ok(tProportion);
  434. }
  435. }
  436. @ApiOperation(value = "获取机器分销信息")
  437. @GetMapping("/getProportion")
  438. public ResponseModel<TProportion> getProportion(@RequestParam String equipmentId) {
  439. LambdaQueryWrapper<TProportion> query = Wrappers.lambdaQuery();
  440. query.eq(TProportion::getEquipmentId,Long.valueOf(equipmentId));
  441. List<TProportion> list = tProportionService.list(query);
  442. TProportion tProportion = list.get(0);
  443. return R.ok(tProportion);
  444. }
  445. @ApiOperation(value = "批量设置机器分销")
  446. @GetMapping("/setProportion")
  447. public ResponseModel<?> setProportion() {
  448. LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  449. query.eq(TAdmin::getIfForeign,"0");
  450. List<TAdmin> list = adminService.list(query);
  451. List<TEquipment> equipmentList = new ArrayList<>();
  452. if(list.size()>0){
  453. for(TAdmin admin:list){
  454. LambdaQueryWrapper<TEquipment> query1 = Wrappers.lambdaQuery();
  455. query1.eq(TEquipment::getAdminId,admin.getId());
  456. List<TEquipment> list1 = tEquipmentService.list(query1);
  457. if(list1.size()>0){
  458. for(TEquipment equipment:list1){
  459. String s = equipment.getClientId().substring(equipment.getClientId().length() - 1, equipment.getClientId().length());
  460. if(!s.equals("x")){
  461. equipmentList.add(equipment);
  462. }
  463. }
  464. }
  465. }
  466. }
  467. if(equipmentList.size()>0){
  468. for(TEquipment equipment:equipmentList){
  469. String clientId = equipment.getClientId();
  470. LambdaQueryWrapper<TEquipment> query2 = Wrappers.lambdaQuery();
  471. query2.eq(TEquipment::getClientId,clientId);
  472. List<TEquipment> list2 = tEquipmentService.list(query2);
  473. TEquipment equipment1 = list2.get(0);
  474. if(equipment1!=null&&equipment1.getId()!=null){
  475. TAdmin admin = adminService.getById(equipment1.getAdminId());
  476. String name = admin.getName();
  477. //查询机器是否已经有设置分销
  478. LambdaQueryWrapper<TProportion> query1 = Wrappers.lambdaQuery();
  479. query1.eq(TProportion::getClientId,equipment1.getClientId());
  480. query1.eq(TProportion::getEquipmentId,equipment1.getId());
  481. List<TProportion> list1 = tProportionService.list(query1);
  482. if(list1.size()>0){
  483. //已有
  484. }else {
  485. //没有,需要创建
  486. //1,判断是否新机器
  487. // Date createDate = equipment.getCreateDate();
  488. // long time = createDate.getTime();
  489. // DateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  490. // String day= "2022-09-21 23:59:59";
  491. // try {
  492. // Date parse = simpleDateFormat.parse(day);
  493. // if(time>parse.getTime()){
  494. // return "新机器,不能已此方式生成分销!";
  495. // }
  496. // } catch (ParseException e) {
  497. // e.printStackTrace();
  498. // }
  499. //先找到原账户的分销
  500. LambdaQueryWrapper<TProportion> query3 = Wrappers.lambdaQuery();
  501. query3.eq(TProportion::getAdminId,admin.getId());
  502. List<TProportion> list3 = tProportionService.list(query3);
  503. if(list3.size()>0){
  504. TProportion adminProportion = list3.get(0);
  505. if(StringUtils.isEmpty(adminProportion.getClientId())){
  506. TProportion equipmentProportion = new TProportion();
  507. equipmentProportion.setCreateDate(new Date());
  508. equipmentProportion.setModifyDate(new Date());
  509. equipmentProportion.setAdminId(admin.getId());
  510. equipmentProportion.setClientId(equipment.getClientId());
  511. equipmentProportion.setEquipmentId(equipment.getId());
  512. equipmentProportion.setAdminProportion(adminProportion.getAdminProportion());
  513. Integer type = adminProportion.getType();
  514. if(type!=null){
  515. switch (type) {
  516. case 1:
  517. equipmentProportion.setProportion(adminProportion.getAgencyProportion());
  518. equipmentProportion.setAgencyProportion(new BigDecimal("0.00"));
  519. equipmentProportion.setMerchantProportion(new BigDecimal("0.00"));
  520. equipmentProportion.setPersonageProportion(new BigDecimal("0.00"));
  521. equipmentProportion.setType(0);
  522. break;
  523. case 2:
  524. equipmentProportion.setProportion(adminProportion.getMerchantProportion());
  525. equipmentProportion.setAgencyProportion(adminProportion.getAgencyProportion());
  526. // if(adminProportion.getAgencyProportion().compareTo(new BigDecimal("0.00"))!=0){
  527. // equipmentProportion.setAgencyId(admin.getAgencyId());
  528. // TAdmin byId = adminService.getById(admin.getAgencyId());
  529. // equipmentProportion.setAgencyName(byId.getUsername());
  530. // }
  531. equipmentProportion.setAgencyId(admin.getAgencyId());
  532. TAdmin byId = adminService.getById(admin.getAgencyId());
  533. equipmentProportion.setAgencyName(byId.getUsername());
  534. equipmentProportion.setMerchantProportion(new BigDecimal("0.00"));
  535. equipmentProportion.setPersonageProportion(new BigDecimal("0.00"));
  536. equipmentProportion.setType(1);
  537. break;
  538. case 3:
  539. equipmentProportion.setProportion(adminProportion.getPersonageProportion());
  540. equipmentProportion.setAgencyProportion(adminProportion.getAgencyProportion());
  541. // if(adminProportion.getAgencyProportion().compareTo(new BigDecimal("0.00"))!=0){
  542. // equipmentProportion.setAgencyId(admin.getAgencyId());
  543. // TAdmin byId = adminService.getById(admin.getAgencyId());
  544. // equipmentProportion.setAgencyName(byId.getUsername());
  545. // }
  546. equipmentProportion.setAgencyId(admin.getAgencyId());
  547. TAdmin byId1 = adminService.getById(admin.getAgencyId());
  548. equipmentProportion.setAgencyName(byId1.getUsername());
  549. equipmentProportion.setMerchantProportion(adminProportion.getMerchantProportion());
  550. // if(adminProportion.getMerchantProportion().compareTo(new BigDecimal("0.00"))!=0){
  551. // equipmentProportion.setMerchantId(admin.getMerchantId());
  552. // TAdmin byId = adminService.getById(admin.getMerchantId());
  553. // equipmentProportion.setMerchantName(byId.getUsername());
  554. // }
  555. equipmentProportion.setMerchantId(admin.getMerchantId());
  556. TAdmin byId2 = adminService.getById(admin.getMerchantId());
  557. equipmentProportion.setMerchantName(byId2.getUsername());
  558. equipmentProportion.setPersonageProportion(new BigDecimal("0.00"));
  559. equipmentProportion.setType(2);
  560. break;
  561. }
  562. boolean save = tProportionService.save(equipmentProportion);
  563. }
  564. }
  565. }else {
  566. }
  567. }
  568. }
  569. }
  570. }
  571. return R.ok();
  572. }
  573. }