提交 0eb3ac33 authored 作者: Whispa's avatar Whispa

commit

上级 ca8e59ae
...@@ -46,10 +46,10 @@ public class AuthController { ...@@ -46,10 +46,10 @@ public class AuthController {
} }
@PostMapping("/signin") @PostMapping("/signin")
public ResponseEntity<Result> authenticateUser(@RequestBody LoginRequest loginRequest) { public Result authenticateUser(@RequestBody LoginRequest loginRequest) {
Optional<TbCfUserInfo> byAccount = userRepository.findByAccount(loginRequest.getAccount()); Optional<TbCfUserInfo> byAccount = userRepository.findByAccount(loginRequest.getAccount());
if( !byAccount.isPresent() ){ if( !byAccount.isPresent() ){
return ResponseEntity.ok(new Result<>(ResultCodeEnum.VALIDATE_ERROR,"User not found")); return new Result<>(ResultCodeEnum.VALIDATE_ERROR,"User not found");
} }
...@@ -64,11 +64,11 @@ public class AuthController { ...@@ -64,11 +64,11 @@ public class AuthController {
.map(GrantedAuthority::getAuthority) .map(GrantedAuthority::getAuthority)
.collect(Collectors.toList()); .collect(Collectors.toList());
return ResponseEntity.ok(new Result<>(new JwtResponse(jwt, TbCfUserInfo userInfo = byAccount.get();
userDetails.getId(),
userDetails.getUsername(), userInfo.setToken(jwt);
userDetails.getEmail(),
roles))); return new Result<>(userInfo);
} }
@PostMapping("/signup") @PostMapping("/signup")
......
...@@ -14,10 +14,7 @@ import com.example.afrishop_v3.util.ValidateUtils; ...@@ -14,10 +14,7 @@ import com.example.afrishop_v3.util.ValidateUtils;
import com.example.afrishop_v3.util.WordposHelper; import com.example.afrishop_v3.util.WordposHelper;
import net.sf.json.JSONArray; import net.sf.json.JSONArray;
import net.sf.json.JSONObject; import net.sf.json.JSONObject;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
...@@ -63,55 +60,61 @@ public class CartController extends Controller { ...@@ -63,55 +60,61 @@ public class CartController extends Controller {
Optional<TbCfItemDetail> optionalItem; Optional<TbCfItemDetail> optionalItem;
String itemId = itemDetail.getItemId(); String itemId = itemDetail.getItemId();
if( itemId != null && !itemId.isEmpty()){ boolean hasItemId = itemId != null && !itemId.isEmpty();
if( hasItemId ){
optionalItem = itemDetailRepository.findFirstByItemImgAndItemSku(itemDetail.getItemImg(), itemDetail.getItemSku()); optionalItem = itemDetailRepository.findFirstByItemImgAndItemSku(itemDetail.getItemImg(), itemDetail.getItemSku());
}else { }else {
optionalItem = itemDetailRepository.findFirstBySourceItemIdAndItemSku(itemDetail.getSourceItemId(),itemDetail.getItemSku()); optionalItem = itemDetailRepository.findFirstBySourceItemIdAndItemSku(itemDetail.getSourceItemId(),itemDetail.getItemSku());
} }
TbCfItemDetail detail;
if ( optionalItem.isPresent() ){ if ( optionalItem.isPresent() ){
TbCfItemDetail detail = optionalItem.get(); detail = optionalItem.get();
detail.setGoodsId(itemId); detail.setGoodsId(itemId);
itemDetailRepository.save(detail); itemDetailRepository.save(detail);
itemId = itemDetail.getItemId(); itemId = detail.getItemId();
}else{ }else{
itemId = uid(); itemId = uid();
try { try {
insertItem(itemDetail,itemId); detail = insertItem(itemDetail,itemId);
} catch (Exception e) { } catch (Exception e) {
return new Result(ResultCodeEnum.SERVICE_ERROR.getCode(),e.getMessage()); return new Result(ResultCodeEnum.SERVICE_ERROR.getCode(),e.getMessage());
} }
} }
// Check if the item exist in cart // Check if the item exist in cart
Optional<TbCfCartRecordR> cartOptional = repository.findFirstByUserIdAndItemIdAndItemSku(userId, itemId, itemDetail.getItemSku()); Optional<TbCfCartRecordR> cartOptional = repository.findFirstByUserIdAndItemDetailItemIdAndItemSku(userId, itemId, itemDetail.getItemSku());
if ( cartOptional.isPresent() ){ if ( cartOptional.isPresent() ){
TbCfCartRecordR cart = cartOptional.get(); TbCfCartRecordR cart = cartOptional.get();
cart.increaseNum(itemDetail.getItemNum()); cart.increaseNum(itemDetail.getItemNum());
repository.save(cart); repository.save(cart);
}else{ }else{
insertRecord(itemDetail, userId,itemId); detail.setItemNum(itemDetail.getItemNum());
insertRecord(detail, userId);
} }
return new Result(); return new Result();
} }
private void insertRecord(TbCfItemDetail itemDetail, String userId, String itemId) { @GetMapping
public Result getItemCartList(){
return new Result<>(repository.findAllByUserId(user.userId()));
}
private void insertRecord(TbCfItemDetail itemDetail, String userId) {
TbCfCartRecordR tbCfCartRecordREntity = new TbCfCartRecordR(); TbCfCartRecordR tbCfCartRecordREntity = new TbCfCartRecordR();
tbCfCartRecordREntity.setCartRecordId(uid()); tbCfCartRecordREntity.setCartRecordId(uid());
tbCfCartRecordREntity.setCheckFlag(StateConstant.INVALID); tbCfCartRecordREntity.setCheckFlag(StateConstant.INVALID);
tbCfCartRecordREntity.setEnableFlag(StateConstant.VALID); tbCfCartRecordREntity.setEnableFlag(StateConstant.VALID);
if (itemId != null) { tbCfCartRecordREntity.setItemDetail(itemDetail);
tbCfCartRecordREntity.setItemId(itemId);
} else {
tbCfCartRecordREntity.setItemId(itemDetail.getItemId());
}
tbCfCartRecordREntity.setUserId(userId); tbCfCartRecordREntity.setUserId(userId);
tbCfCartRecordREntity.setCreateTime(new Date()); tbCfCartRecordREntity.setCreateTime(new Date());
tbCfCartRecordREntity.setItemNum(itemDetail.getItemNum()); tbCfCartRecordREntity.setItemNum(itemDetail.getItemNum());
...@@ -122,14 +125,19 @@ public class CartController extends Controller { ...@@ -122,14 +125,19 @@ public class CartController extends Controller {
} }
private void insertItem(TbCfItemDetail tbCfItemDetail, String itemId) throws Exception { private TbCfItemDetail insertItem(TbCfItemDetail tbCfItemDetail, String itemId) throws Exception {
tbCfItemDetail.setCreateTime(new Date()); tbCfItemDetail.setCreateTime(new Date());
//为商品分类,后面计算运费 //为商品分类,后面计算运费
TbCfExpressTemplate expressTemplate = recognizeItemCategory(tbCfItemDetail.getItemTitle()); try{
if (expressTemplate!=null)
TbCfExpressTemplate expressTemplate = recognizeItemCategory(tbCfItemDetail.getItemTitle());
if (expressTemplate!=null)
tbCfItemDetail.setItemCategory(expressTemplate.getTemplateId()); tbCfItemDetail.setItemCategory(expressTemplate.getTemplateId());
}catch (Exception ignored){
}
//加入商品详情 //加入商品详情
tbCfItemDetail.setGoodsId(tbCfItemDetail.getItemId()); tbCfItemDetail.setGoodsId(tbCfItemDetail.getItemId());
tbCfItemDetail.setStatus(1); tbCfItemDetail.setStatus(1);
...@@ -141,7 +149,7 @@ public class CartController extends Controller { ...@@ -141,7 +149,7 @@ public class CartController extends Controller {
tbCfItemDetail.setItemId(tbCfItemDetail.getItemId()); tbCfItemDetail.setItemId(tbCfItemDetail.getItemId());
} }
itemDetailRepository.save(tbCfItemDetail); return itemDetailRepository.save(tbCfItemDetail);
//logger.info("插入一条商品数据!"); //logger.info("插入一条商品数据!");
} }
private TbCfExpressTemplate recognizeItemCategory(String itemTitle) throws ExecutionException, InterruptedException, TimeoutException { private TbCfExpressTemplate recognizeItemCategory(String itemTitle) throws ExecutionException, InterruptedException, TimeoutException {
......
...@@ -3,8 +3,7 @@ package com.example.afrishop_v3.models; ...@@ -3,8 +3,7 @@ package com.example.afrishop_v3.models;
import lombok.Data; import lombok.Data;
import org.hibernate.annotations.Where; import org.hibernate.annotations.Where;
import javax.persistence.Entity; import javax.persistence.*;
import javax.persistence.Id;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
...@@ -17,6 +16,7 @@ import java.util.Date; ...@@ -17,6 +16,7 @@ import java.util.Date;
* @date 2019-08-16 15:51:16 * @date 2019-08-16 15:51:16
*/ */
@Entity @Entity
@Table(name = "tb_cf_cart_record_r")
@Data @Data
@Where(clause = "enable_flag=1") @Where(clause = "enable_flag=1")
public class TbCfCartRecordR { public class TbCfCartRecordR {
...@@ -29,7 +29,11 @@ public class TbCfCartRecordR { ...@@ -29,7 +29,11 @@ public class TbCfCartRecordR {
/** /**
* 商品id * 商品id
*/ */
private String itemId;
@ManyToOne
@JoinColumn(name = "item_id",columnDefinition = "item_id")
private TbCfItemDetail itemDetail;
/** /**
* 用户id * 用户id
*/ */
...@@ -89,15 +93,13 @@ public class TbCfCartRecordR { ...@@ -89,15 +93,13 @@ public class TbCfCartRecordR {
/** /**
* 设置:商品id * 设置:商品id
*/ */
public void setItemId(String itemId) {
this.itemId = itemId; public TbCfItemDetail getItemDetail() {
return itemDetail;
} }
/** public void setItemDetail(TbCfItemDetail itemDetail) {
* 获取:商品id this.itemDetail = itemDetail;
*/
public String getItemId() {
return itemId;
} }
/** /**
......
...@@ -3,6 +3,7 @@ package com.example.afrishop_v3.models; ...@@ -3,6 +3,7 @@ package com.example.afrishop_v3.models;
import lombok.Data; import lombok.Data;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id;
import java.io.Serializable; import java.io.Serializable;
/** /**
...@@ -19,6 +20,7 @@ public class TbCfExpTemKeyword{ ...@@ -19,6 +20,7 @@ public class TbCfExpTemKeyword{
/** /**
* *
*/ */
@Id
private String id; private String id;
/** /**
* 模板id,express_template * 模板id,express_template
......
package com.example.afrishop_v3.models; package com.example.afrishop_v3.models;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data; import lombok.Data;
import javax.persistence.Entity; import javax.persistence.Entity;
...@@ -31,6 +32,7 @@ public class TbCfItemDetail{ ...@@ -31,6 +32,7 @@ public class TbCfItemDetail{
/** /**
* 商品url * 商品url
*/ */
@JsonIgnore
private String sourceItemId; private String sourceItemId;
/** /**
* 来源站点id * 来源站点id
...@@ -47,6 +49,7 @@ public class TbCfItemDetail{ ...@@ -47,6 +49,7 @@ public class TbCfItemDetail{
/** /**
* 商品数量 * 商品数量
*/ */
@JsonIgnore
private Integer itemNum; private Integer itemNum;
/** /**
* 商品主图 * 商品主图
...@@ -63,6 +66,7 @@ public class TbCfItemDetail{ ...@@ -63,6 +66,7 @@ public class TbCfItemDetail{
/** /**
* 商品skus * 商品skus
*/ */
@JsonIgnore
private String itemSku; private String itemSku;
/** /**
* 所属店铺id * 所属店铺id
......
...@@ -3,10 +3,13 @@ package com.example.afrishop_v3.repository; ...@@ -3,10 +3,13 @@ package com.example.afrishop_v3.repository;
import com.example.afrishop_v3.models.TbCfCartRecordR; import com.example.afrishop_v3.models.TbCfCartRecordR;
import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
import java.util.Optional; import java.util.Optional;
public interface TbCfCartRecordRRepository extends PagingAndSortingRepository<TbCfCartRecordR,String> { public interface TbCfCartRecordRRepository extends PagingAndSortingRepository<TbCfCartRecordR,String> {
int countByUserId(String userId); int countByUserId(String userId);
Optional<TbCfCartRecordR> findFirstByUserIdAndItemIdAndItemSku(String userId, String itemId, String itemSku); Optional<TbCfCartRecordR> findFirstByUserIdAndItemDetailItemIdAndItemSku(String userId, String itemId, String itemSku);
List<TbCfCartRecordR> findAllByUserId(String userId);
} }
...@@ -3,10 +3,11 @@ package com.example.afrishop_v3.repository; ...@@ -3,10 +3,11 @@ package com.example.afrishop_v3.repository;
import com.example.afrishop_v3.models.TbCfExpressTemplate; import com.example.afrishop_v3.models.TbCfExpressTemplate;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import java.util.List; import java.util.List;
public interface TbCfExpressTemplateRepository extends PagingAndSortingRepository<TbCfExpressTemplate,String> { public interface TbCfExpressTemplateRepository extends PagingAndSortingRepository<TbCfExpressTemplate,String> {
@Query(value = "select a from #{#entityName} a WHERE ") @Query(value = "select distinct a from #{#entityName} a WHERE a.templateId in (SELECT x.templateId FROM TbCfExpTemKeyword x WHERE x.keyword LIKE concat('%',:keyword,'%'))")
List<TbCfExpressTemplate> getTemplateByKeyword(String keyword); List<TbCfExpressTemplate> getTemplateByKeyword(@Param("keyword") String keyword);
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论