TProportionController.java 30 KB

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