TProportionController.java 30 KB

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