TProductController.java 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. package com.szwl.controller;
  2. import cn.com.crbank.ommo.bean.ResultMessage;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  6. import com.gexin.fastjson.JSON;
  7. import com.szwl.constant.ResponseCodesEnum;
  8. import com.szwl.model.bo.R;
  9. import com.szwl.model.bo.ResponseModel;
  10. import com.baomidou.mybatisplus.core.metadata.IPage;
  11. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  12. import com.szwl.model.entity.TAdmin;
  13. import com.szwl.model.entity.TEquipment;
  14. import com.szwl.model.entity.TProduct;
  15. import com.szwl.model.entity.TPromoCode;
  16. //import com.szwl.model.page.Pageable;
  17. import com.szwl.model.page.TProductPageable;
  18. import com.szwl.model.query.TEquipmentParam;
  19. import com.szwl.model.utils.PushUtils;
  20. import com.szwl.service.TAdminService;
  21. import com.szwl.service.TEquipmentService;
  22. import com.szwl.service.TProductService;
  23. import io.swagger.annotations.Api;
  24. import io.swagger.annotations.ApiOperation;
  25. import org.apache.commons.lang.StringUtils;
  26. import org.springframework.beans.factory.annotation.Autowired;
  27. import org.springframework.http.HttpStatus;
  28. import org.springframework.http.ResponseEntity;
  29. import org.springframework.web.bind.annotation.*;
  30. import java.math.BigDecimal;
  31. import java.util.ArrayList;
  32. import java.util.Date;
  33. import java.util.List;
  34. /**
  35. * <p>
  36. * 商品价格表 前端控制器
  37. * </p>
  38. *
  39. * @author wuhs
  40. * @since 2022-04-23
  41. */
  42. @Api(value = "/tProduct", tags = {"商品"})
  43. @RestController
  44. @RequestMapping("/tProduct")
  45. public class TProductController {
  46. @Autowired
  47. TEquipmentService tEquipmentService;
  48. @Autowired
  49. TProductService tProductService;
  50. @Autowired
  51. TAdminService tAdminService;
  52. @ApiOperation(value = "查询商品列表信息")
  53. @GetMapping("/selectProducts")
  54. public ResponseEntity<?> selectProducts(String equipmentId){
  55. if(StringUtils.isEmpty(equipmentId)){
  56. return ResponseEntity.status(HttpStatus.OK)
  57. .body(new ResultMessage().setCode(false).setData(null).setMessage(""));
  58. }
  59. LambdaQueryWrapper<TProduct> query = Wrappers.lambdaQuery();
  60. query.eq(TProduct::getEquipmentId,Long.valueOf(equipmentId));
  61. List<TProduct> list = tProductService.list(query);
  62. return ResponseEntity.status(HttpStatus.OK)
  63. .body(new ResultMessage().setCode(true).setData(list).setMessage("SUCCESS"));
  64. }
  65. //修改花型是否显示
  66. @ApiOperation(value = "修改花型是否显示")
  67. @PostMapping("/updateProductsShow")
  68. public ResponseEntity<?> updateProductsShow(@RequestBody String productList) {
  69. List<TProduct> products = new ArrayList<>();
  70. JSONObject jsonObject = JSONObject.parseObject(productList);
  71. products = JSONObject.parseArray(jsonObject.get("productList").toString(), TProduct.class);
  72. if(products.size()>0){
  73. TProduct tProduct = products.get(0);
  74. if(tProduct==null&&tProduct.getEquipmentId()==null){
  75. return ResponseEntity.status(HttpStatus.OK)
  76. .body(new ResultMessage().setCode(false).setData("").setMessage("请退出重试"));
  77. }
  78. }
  79. TEquipment equipment = tEquipmentService.getById(products.get(0).getEquipmentId());
  80. if(equipment==null){
  81. return ResponseEntity.status(HttpStatus.OK)
  82. .body(new ResultMessage().setCode(false).setData("").setMessage("请退出重试"));
  83. }
  84. List<TProduct> list = new ArrayList<>();
  85. for(TProduct product:products){
  86. if(product!=null&&product.getId()!=null){
  87. // tProductService.updateById(product);
  88. if(StringUtils.isEmpty(product.getShowType())){
  89. product.setShowType("0");
  90. }
  91. product.setModifyDate(null);
  92. product.setCreateDate(null);
  93. product.setCodePrice(null);
  94. product.setRmbPrice(null);
  95. list.add(product);
  96. // tEquipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("updateProductsShow", product.toString()).toString());
  97. }
  98. }
  99. tEquipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("updateProductsShow", JSON.toJSONString(list)).toString());
  100. return ResponseEntity.status(HttpStatus.OK)
  101. .body(new ResultMessage().setCode(true).setData("").setMessage("修改成功"));
  102. }
  103. @ApiOperation(value = "/多个花型价格")
  104. @GetMapping("/updateProduct")
  105. public ResponseModel<?> updateProduct(String no,String price,String equipmentId,String type) {
  106. if(StringUtils.isEmpty(price)||StringUtils.isEmpty(equipmentId)){
  107. return R.fail(ResponseCodesEnum.A0001,"数据有空");
  108. }
  109. TEquipment equipment = tEquipmentService.getById(equipmentId);
  110. if(equipment==null||equipment.getId()==null){
  111. return R.fail(ResponseCodesEnum.A0001,"请退出重试");
  112. }
  113. //修改单个
  114. if(type.equals("0")){
  115. LambdaQueryWrapper<TProduct> query = Wrappers.lambdaQuery();
  116. query.eq(TProduct::getEquipmentId,Long.valueOf(equipmentId));
  117. if(StringUtils.isEmpty(no)){
  118. return R.fail(ResponseCodesEnum.A0001,"数据有空");
  119. }
  120. query.eq(TProduct::getNo,no);
  121. List<TProduct> list = tProductService.list(query);
  122. if(list.size()>0){
  123. TProduct product = list.get(0);
  124. product.setModifyDate(new Date());
  125. product.setCodePrice(new BigDecimal(price));
  126. product.setRmbPrice(new BigDecimal(price));
  127. tProductService.updateById(product);
  128. }
  129. }
  130. //修改多个
  131. if(type.equals("1")){
  132. LambdaQueryWrapper<TProduct> query = Wrappers.lambdaQuery();
  133. query.eq(TProduct::getEquipmentId,Long.valueOf(equipmentId));
  134. List<TProduct> list = tProductService.list(query);
  135. if(list.size()>0){
  136. for(TProduct product:list){
  137. product.setModifyDate(new Date());
  138. product.setCodePrice(new BigDecimal(price) );
  139. product.setRmbPrice(new BigDecimal(price) );
  140. tProductService.updateById(product);
  141. }
  142. }
  143. }
  144. tEquipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("updateProductsPrice", "0").toString());
  145. return R.ok(null,"修改成功");
  146. }
  147. @ApiOperation(value = "获取商品")
  148. @GetMapping("/getProduct")
  149. public ResponseModel<TProduct> getProduct(@RequestParam(value = "equipmentId")String equipmentId,@RequestParam(value = "productName")String productName) {
  150. LambdaQueryWrapper<TProduct> query = Wrappers.lambdaQuery();
  151. query.eq(TProduct::getProductName,productName);
  152. query.eq(TProduct::getEquipmentId,Long.valueOf(equipmentId));
  153. List<TProduct> list = tProductService.list(query);
  154. TProduct tProduct = list.get(0);
  155. return R.ok(tProduct);
  156. }
  157. @ApiOperation(value = "查询商品列表信息")
  158. @PostMapping("/selectProductList")
  159. public ResponseModel<IPage<TProduct>> selectProductList(@RequestBody TEquipmentParam param) {
  160. // public ResponseModel<List<TProduct>> selectProductList(@RequestParam(value = "clientId")String clientId,@RequestParam(value = "current") long current, @RequestParam(value = "size") long size) {
  161. if(StringUtils.isEmpty(param.getClientId())){
  162. return null;
  163. }
  164. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  165. query.eq(TEquipment::getClientId,param.getClientId());
  166. List<TEquipment> list = tEquipmentService.list(query);
  167. if(list.size()>0){
  168. TEquipment equipment = list.get(0);
  169. LambdaQueryWrapper<TProduct> query1 = Wrappers.lambdaQuery();
  170. query1.eq(TProduct::getEquipmentId,equipment.getId());
  171. // List<TProduct> list1 = tProductService.list(query1);
  172. Page<TProduct> page = new Page<>(param.getCurrent(), param.getSize(), true);
  173. IPage<TProduct> iPage = tProductService.page(page, query1);
  174. // TProductPageable pageable = new TProductPageable();
  175. // pageable.setCurrent(iPage.getCurrent());
  176. // pageable.setPages(iPage.getPages());
  177. // pageable.setRecords(iPage.getRecords());
  178. // pageable.setSize(iPage.getSize());
  179. // pageable.setTotal(iPage.getTotal());
  180. // return R.ok(pageable);
  181. // return pageable;
  182. return R.ok(iPage);
  183. }
  184. return null;
  185. }
  186. @ApiOperation(value = "查询商品列表信息 下拉列表查询")
  187. @GetMapping("/getProducts")
  188. public ResponseEntity<?> getProducts(String adminId){
  189. if(StringUtils.isEmpty(adminId)){
  190. return ResponseEntity.status(HttpStatus.OK)
  191. .body(new ResultMessage().setCode(false).setData(null).setMessage(""));
  192. }
  193. TAdmin admin = tAdminService.getById(adminId);
  194. if(admin.getType()==3){
  195. TAdmin parentAdmin = tAdminService.getById(admin.getParentId());
  196. adminId = String.valueOf(parentAdmin.getId());
  197. }
  198. if(admin.getType()<2){
  199. adminId = "5";
  200. }
  201. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  202. query.eq(TEquipment::getAdminId,adminId);
  203. List<TEquipment> list = tEquipmentService.list(query);
  204. List<TProduct> list1 = new ArrayList<>();
  205. if(list.size()>0){
  206. TEquipment equipment = list.get(0);
  207. LambdaQueryWrapper<TProduct> query1 = Wrappers.lambdaQuery();
  208. query1.eq(TProduct::getEquipmentId,equipment.getId());
  209. list1 = tProductService.list(query1);
  210. return ResponseEntity.status(HttpStatus.OK)
  211. .body(new ResultMessage().setCode(true).setData(list1).setMessage("SUCCESS"));
  212. }else {
  213. return ResponseEntity.status(HttpStatus.OK)
  214. .body(new ResultMessage().setCode(false).setData(list1).setMessage(""));
  215. }
  216. }
  217. }